SlideShare a Scribd company logo
React 
and why it’s awesome 
Andrew Hull 
@aghull 
normative.com
React First Impressions
React First Impressions
React First Impressions 
WTF?!
“Reaction” to React
“Reaction” to React 
“Ugly.”
“Reaction” to React 
“Ugly.” 
“Separation of concerns!!”
“Reaction” to React 
“Ugly.” 
“Separation of concerns!!” 
“React is a templating language.”
“Reaction” to React
“Reaction” to React 
• Don’t sweat it
“Reaction” to React 
• Don’t sweat it 
• JSX
“Reaction” to React 
• Don’t sweat it 
• JSX 
• It’s actually just Javascript
“Reaction” to React 
• Don’t sweat it 
• JSX 
• It’s actually just Javascript 
• It’s not a templating language
“Reaction” to React 
• Don’t sweat it 
• JSX 
• It’s actually just Javascript 
• It’s not a templating language 
• If you don’t like it, you don’t hafta
React Second Impressions
React Second Impressions 
• Oh! There’s 2-way data-binding, like Angular!
React Second Impressions 
• Oh! There’s 2-way data-binding, like Angular! 
• Oh! It can work with Backbone. How I do?
React Second Impressions 
• Oh! There’s 2-way data-binding, like Angular! 
• Oh! It can work with Backbone. How I do? 
• Oh! It can do animations and SVG!
React Second Impressions 
• Oh! There’s 2-way data-binding, like Angular! 
• Oh! It can work with Backbone. How I do? 
• Oh! It can do animations and SVG! 
Wait. Let’s back up.
Some 
Fundamentals
#1 
Everything is a Component
React has no…
React has no… 
… controllers
React has no… 
… controllers 
… directives
React has no… 
… controllers 
… directives 
… templates
React has no… 
… controllers 
… directives 
… templates 
… global event listeners
React has no… 
… controllers 
… directives 
… templates 
… global event listeners 
… models
React has no… 
… controllers 
… directives 
… templates 
… global event listeners 
… models 
… no view models
React has no… 
… controllers 
… directives 
… templates 
… global event listeners 
… models 
… no view models 
Just
React has no… 
… controllers 
… directives 
… templates 
… global event listeners 
… models 
… no view models 
Just Components
React JS and why it's awesome
React JS and why it's awesome
React JS and why it's awesome
React JS and why it's awesome
“Separation of concerns!!”
“Se“pDaora ytoioun e ovef nc oMnVcCer?n”s!!”
What if we “separate” another way?
What if we “separate” another way? 
CartComponent
What if we “separate” another way? 
CartComponent 
CartListComponent
What if we “separate” another way? 
CartComponent 
CartListComponent 
CartItemComponent
What if we “separate” another way? 
CartComponent 
CartListComponent 
CartItemComponent 
ButtonComponent
Separation of 
Concerns Components
Separation of 
Concerns Components 
•composable
Separation of 
Concerns Components 
•composable 
•reusable
Separation of 
Concerns Components 
•composable 
•reusable 
•maintainable
Separation of 
Concerns Components 
•composable 
•reusable 
•maintainable 
•testable
Separation of 
Concerns Components 
•composable 
•reusable 
•maintainable 
•testable 
*If* Components are truly 
self-contained
#2 
Single Source of Truth
Traditional data flows
Traditional data flows 
No framework: Any component can 
communicate with any other component
Traditional data flows 
No framework: Any component can 
communicate with any other component 
Backbone: Pub-sub 
item.on('change:name', function() {…
Traditional data flows 
No framework: Any component can 
communicate with any other component 
Backbone: Pub-sub 
item.on('change:name', function() {… 
Angular: 2-way data binding and $digest loop 
$scope.name = …
Traditional data flows 
No framework: Any component can 
communicate with any other component 
Backbone: Pub-sub 
item.on('change:name', function() {… 
Angular: 2-way data binding and $digest loop 
$scope.name = … 
React: 1-way data flow
Data handed from parent to child 
check. 
props.
Props accessed on this.props
Props accessed on this.props 
props.
Props accessed on this.props 
props.
Props accessed on this.props 
props. 
props.
Props accessed on this.props 
props. 
props.
Props are immutable
Props are immutable 
props.
Props are immutable 
props.
Props are immutable 
props. 
Don’t touch 
my stuff!
State is mutable 
props.
State is mutable 
props.
State is mutable 
props.
State is mutable 
props. 
Whatever you 
say, dude.
State can become props
State can become props 
props.
State can become props 
props.
State can become props 
props. 
props.
State can become props 
props. 
props.
Data only flows one way
Data only flows one way 
Sure, sounds good…
Data only flows one way 
Sure, sounds good… 
(5 minutes later) Wait!
Data only flows one way 
Sure, sounds good… 
(5 minutes later) Wait! 
That’s not how the real world works!
Data flows up? 
CartComponent 
CartListComponent 
CartItemComponent 
<input>
Data flows down with handlers 
CartComponent! 
! 
<CartListComponent! 
list={this.state.list}! 
onChange={this.handleChange}/>
Data flows down with handlers 
CartComponent! 
! 
<CartListComponent! 
list={this.state.list}! 
onChange={this.handleChange}/> 
CartListComponent! 
! 
this.props.list.map(function(item) {! 
<CartItemComponent item={item}! 
onChange={this.props.onChange}/>! 
})
Data flows down with handlers 
CartComponent! 
! 
<CartListComponent! 
list={this.state.list}! 
onChange={this.handleChange}/> 
CartListComponent! 
! 
this.props.list.map(function(item) {! 
<CartItemComponent item={item}! 
onChange={this.props.onChange}/>! 
}) 
CartItemComponent! 
! 
changeQty: function() {! 
… does stuff! 
this.props.onChange();! 
}!
Data flows down with handlers 
CartComponent! 
! 
<CartListComponent! 
list={this.state.list}! 
onChange={this.handleChange}/> 
CartListComponent! 
! 
this.props.list.map(function(item) {! 
<CartItemComponent item={item}! 
onChange={this.props.onChange}/>! 
}) 
CartItemComponent! 
! 
changeQty: function() {! 
… does stuff! 
this.props.onChange();! 
}! 
<input value={this.props.item.qty} onChange={this.changeQty}>
Data flows down with handlers 
CartComponent! 
! 
<CartListComponent! 
list={this.state.list}! 
onChange={this.handleChange}/> 
CartListComponent! 
! 
this.props.list.map(function(item) {! 
<CartItemComponent item={item}! 
onChange={this.props.onChange}/>! 
}) 
CartItemComponent! 
! 
changeQty: function() {! 
… does stuff! 
this.props.onChange();! 
}! 
<input value={this.props.item.qty} onChange={this.changeQty}>
Data flows down with handlers 
CartComponent! 
! 
<CartListComponent! 
list={this.state.list}! 
onChange={this.handleChange}/> 
CartListComponent! 
! 
this.props.list.map(function(item) {! 
<CartItemComponent item={item}! 
onChange={this.props.onChange}/>! 
}) 
CartItemComponent! 
! 
changeQty: function() {! 
… does stuff! 
this.props.onChange();! 
}! 
<input value={this.props.item.qty} onChange={this.changeQty}>
Data flows down with handlers 
CartComponent! 
! 
<CartListComponent! 
list={this.state.list}! 
onChange={this.handleChange}/> 
CartListComponent! 
! 
this.props.list.map(function(item) {! 
<CartItemComponent item={item}! 
onChange={this.props.onChange}/>! 
}) 
CartItemComponent! 
! 
changeQty: function() {! 
… does stuff! 
this.props.onChange();! 
}! 
<input value={this.props.item.qty} onChange={this.changeQty}>
Data flows down with handlers 
CartComponent! 
! 
<CartListComponent! 
list={this.state.list}! 
onChange={this.handleChange}/> 
CartListComponent! 
! 
this.props.list.map(function(item) {! 
<CartItemComponent item={item}! 
onChange={this.props.onChange}/>! 
}) 
CartItemComponent! 
! 
changeQty: function() {! 
… does stuff! 
this.props.onChange();! 
}! 
<input value={this.props.item.qty} onChange={this.changeQty}>
Events flow up, data flows down
Events flow up, data flows down 
Does this sound familiar?
Events flow up, data flows down 
Does this sound familiar? 
Just like the DOM.
#3 
Virtual DOM
What’s worse than having state 
in two places at once?
What’s worse than having state 
in two places at once? 
Having state in the DOM.
Touching the DOM is evil
Touching the DOM is evil 
• It’s inconsistent
Touching the DOM is evil 
• It’s inconsistent 
• It’s hard to test
Touching the DOM is evil 
• It’s inconsistent 
• It’s hard to test 
• It’s brittle
Touching the DOM is evil 
• It’s inconsistent 
• It’s hard to test 
• It’s brittle 
• It’s EXPENSIVE!
Back to JSX
JSX Compiled
It’s just Javascript
It’s just Javascript
Why learn yet another 
template language?
What’s actually happening 
in render() ?
What’s actually happening 
in render() ? 
What does p() return?
What’s actually happening 
in render() ? 
What does p() return? 
When do I call render()
Virtual DOM
Virtual DOM 
• It’s a pure Javascript, in-memory 
representation of the DOM
Virtual DOM 
• It’s a pure Javascript, in-memory 
representation of the DOM 
• render() fires whenever something 
changes
Virtual DOM 
• It’s a pure Javascript, in-memory 
representation of the DOM 
• render() fires whenever something 
changes 
• React modifies the real DOM to match
Virtual DOM 
• It’s a pure Javascript, in-memory 
representation of the DOM 
• render() fires whenever something 
changes 
• React modifies the real DOM to match 
• It’s FAST
Virtual DOM 
• It’s a pure Javascript, in-memory 
representation of the DOM 
• render() fires whenever something 
changes 
• React modifies the real DOM to match 
• It’s FAST 
• It’s pure
Virtual DOM 
• It’s a pure Javascript, in-memory 
representation of the DOM 
• render() fires whenever something 
changes 
• React modifies the real DOM to match 
• It’s FAST 
• It’s pure 
• It just works
… Except when it doesn’t
… Except when it doesn’t 
How do I access the actual DOM?
… Except when it doesn’t 
How do I access the actual DOM? 
How do I know when render() is done?
… Except when it doesn’t 
How do I access the actual DOM? 
How do I know when render() is done?
… Except when it doesn’t 
How do I access the actual DOM? 
How do I know when render() is done? 
Lifecycle Method
… Except when it doesn’t 
How do I access the actual DOM? 
How do I know when render() is done? 
Lifecycle Method 
Actual DOM Node
Yay! Declarative Templates!
Declarative Templates suck!
Declarative Templates suck! 
wut.
Declarative Templates suck! 
wut.
Declarative Templates suck! 
wut. 
Sounds legit!
Why all this is awesome
Why all this is awesome 
• One-way data flow keeps complexity 
under control
Why all this is awesome 
• One-way data flow keeps complexity 
under control 
• Easy to debug self-contained 
components
Why all this is awesome 
• One-way data flow keeps complexity 
under control 
• Easy to debug self-contained 
components 
• Library doesn’t dictate too much
Why all this is awesome 
• One-way data flow keeps complexity 
under control 
• Easy to debug self-contained 
components 
• Library doesn’t dictate too much 
• Ridiculous potential
A small demo 
http://www.emergent.info/iphone-hairgate
Where to go from here?
Where to go from here? 
Official React docs 
http://facebook.github.io/react/
Where to go from here? 
Official React docs 
http://facebook.github.io/react/ 
TodoMVC 
git@github.com:tastejs/todomvc.git
Thank You

More Related Content

What's hot

ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
Thanh Tuong
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Preview
valuebound
 
React js
React jsReact js
React js
Jai Santhosh
 
An Introduction to ReactJS
An Introduction to ReactJSAn Introduction to ReactJS
An Introduction to ReactJS
All Things Open
 
React and redux
React and reduxReact and redux
React and redux
Mystic Coders, LLC
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_js
MicroPyramid .
 
Introduction to React JS for beginners
Introduction to React JS for beginners Introduction to React JS for beginners
Introduction to React JS for beginners
Varun Raj
 
WEB DEVELOPMENT USING REACT JS
 WEB DEVELOPMENT USING REACT JS WEB DEVELOPMENT USING REACT JS
WEB DEVELOPMENT USING REACT JS
MuthuKumaran Singaravelu
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
Rob Quick
 
React js
React jsReact js
Introduction to Redux
Introduction to ReduxIntroduction to Redux
Introduction to Redux
Ignacio Martín
 
React js programming concept
React js programming conceptReact js programming concept
React js programming concept
Tariqul islam
 
State management in react applications (Statecharts)
State management in react applications (Statecharts)State management in react applications (Statecharts)
State management in react applications (Statecharts)
Tomáš Drenčák
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
Hoang Long
 
React js for beginners
React js for beginnersReact js for beginners
React js for beginners
Alessandro Valenti
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation
洪 鹏发
 
React + Redux Introduction
React + Redux IntroductionReact + Redux Introduction
React + Redux Introduction
Nikolaus Graf
 
React workshop
React workshopReact workshop
React workshop
Imran Sayed
 
Redux training
Redux trainingRedux training
Redux training
dasersoft
 
ReactJS
ReactJSReactJS

What's hot (20)

ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Preview
 
React js
React jsReact js
React js
 
An Introduction to ReactJS
An Introduction to ReactJSAn Introduction to ReactJS
An Introduction to ReactJS
 
React and redux
React and reduxReact and redux
React and redux
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_js
 
Introduction to React JS for beginners
Introduction to React JS for beginners Introduction to React JS for beginners
Introduction to React JS for beginners
 
WEB DEVELOPMENT USING REACT JS
 WEB DEVELOPMENT USING REACT JS WEB DEVELOPMENT USING REACT JS
WEB DEVELOPMENT USING REACT JS
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
 
React js
React jsReact js
React js
 
Introduction to Redux
Introduction to ReduxIntroduction to Redux
Introduction to Redux
 
React js programming concept
React js programming conceptReact js programming concept
React js programming concept
 
State management in react applications (Statecharts)
State management in react applications (Statecharts)State management in react applications (Statecharts)
State management in react applications (Statecharts)
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
React js for beginners
React js for beginnersReact js for beginners
React js for beginners
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation
 
React + Redux Introduction
React + Redux IntroductionReact + Redux Introduction
React + Redux Introduction
 
React workshop
React workshopReact workshop
React workshop
 
Redux training
Redux trainingRedux training
Redux training
 
ReactJS
ReactJSReactJS
ReactJS
 

Viewers also liked

React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409
Minko3D
 
Rethinking Best Practices
Rethinking Best PracticesRethinking Best Practices
Rethinking Best Practices
floydophone
 
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
Jong Wook Kim
 
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the StreamsCascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
mattpodwysocki
 
Functional Reactive Programming with RxJS
Functional Reactive Programming with RxJSFunctional Reactive Programming with RxJS
Functional Reactive Programming with RxJS
stefanmayer13
 
[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍
NAVER D2
 
Functional Reactive Programming With RxSwift
Functional Reactive Programming With RxSwiftFunctional Reactive Programming With RxSwift
Functional Reactive Programming With RxSwift
선협 이
 
RxJS and Reactive Programming - Modern Web UI - May 2015
RxJS and Reactive Programming - Modern Web UI - May 2015RxJS and Reactive Programming - Modern Web UI - May 2015
RxJS and Reactive Programming - Modern Web UI - May 2015
Ben Lesh
 
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
NAVER / MusicPlatform
 

Viewers also liked (9)

React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409
 
Rethinking Best Practices
Rethinking Best PracticesRethinking Best Practices
Rethinking Best Practices
 
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
 
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the StreamsCascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
 
Functional Reactive Programming with RxJS
Functional Reactive Programming with RxJSFunctional Reactive Programming with RxJS
Functional Reactive Programming with RxJS
 
[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍[1B4]안드로이드 동시성_프로그래밍
[1B4]안드로이드 동시성_프로그래밍
 
Functional Reactive Programming With RxSwift
Functional Reactive Programming With RxSwiftFunctional Reactive Programming With RxSwift
Functional Reactive Programming With RxSwift
 
RxJS and Reactive Programming - Modern Web UI - May 2015
RxJS and Reactive Programming - Modern Web UI - May 2015RxJS and Reactive Programming - Modern Web UI - May 2015
RxJS and Reactive Programming - Modern Web UI - May 2015
 
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
 

Similar to React JS and why it's awesome

The disaster of mutable state
The disaster of mutable stateThe disaster of mutable state
The disaster of mutable state
kenbot
 
NinjaScript 2010-10-14
NinjaScript 2010-10-14NinjaScript 2010-10-14
NinjaScript 2010-10-14
lrdesign
 
NinjaScript and Mizugumo 2011-02-05
NinjaScript and Mizugumo 2011-02-05NinjaScript and Mizugumo 2011-02-05
NinjaScript and Mizugumo 2011-02-05
lrdesign
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
devObjective
 
Rethink Async With RXJS
Rethink Async With RXJSRethink Async With RXJS
Rethink Async With RXJS
Ryan Anklam
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
ColdFusionConference
 
React Internals - Batching Write Operations by tree Traversal
React Internals - Batching Write Operations by tree TraversalReact Internals - Batching Write Operations by tree Traversal
React Internals - Batching Write Operations by tree Traversal
Sanjay Krishna Anbalagan
 
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMoved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Milen Dyankov
 
On Inherent Complexity of Computation, by Attila Szegedi
On Inherent Complexity of Computation, by Attila SzegediOn Inherent Complexity of Computation, by Attila Szegedi
On Inherent Complexity of Computation, by Attila Szegedi
ZeroTurnaround
 
#FrontConf2017 — Enhance your User (and Developer) Experience with React & Redux
#FrontConf2017 — Enhance your User (and Developer) Experience with React & Redux#FrontConf2017 — Enhance your User (and Developer) Experience with React & Redux
#FrontConf2017 — Enhance your User (and Developer) Experience with React & Redux
phacks
 
The Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryThe Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J Query
QConLondon2008
 
JavaScript: You Like It, It Likes You
JavaScript: You Like It, It Likes YouJavaScript: You Like It, It Likes You
JavaScript: You Like It, It Likes You
Scott Kosman
 
Why Agile Works But Isn't Working For You
Why Agile Works But Isn't Working For YouWhy Agile Works But Isn't Working For You
Why Agile Works But Isn't Working For You
David Harvey
 
Evan Schultz - Angular Summit - 2016
Evan Schultz - Angular Summit - 2016Evan Schultz - Angular Summit - 2016
Evan Schultz - Angular Summit - 2016
Evan Schultz
 
Tour of language landscape (katsconf)
Tour of language landscape (katsconf)Tour of language landscape (katsconf)
Tour of language landscape (katsconf)
Yan Cui
 
Cesar Valiente "Unidirectional architecture on Android with Kotlin"
Cesar Valiente "Unidirectional architecture on Android with Kotlin"Cesar Valiente "Unidirectional architecture on Android with Kotlin"
Cesar Valiente "Unidirectional architecture on Android with Kotlin"
IT Event
 
Javascript leverage: Isomorphic Applications by Luciano Colosio at Codemotion...
Javascript leverage: Isomorphic Applications by Luciano Colosio at Codemotion...Javascript leverage: Isomorphic Applications by Luciano Colosio at Codemotion...
Javascript leverage: Isomorphic Applications by Luciano Colosio at Codemotion...
Codemotion Dubai
 
Back to the future: Isomorphic javascript applications
Back to the future:  Isomorphic javascript applicationsBack to the future:  Isomorphic javascript applications
Back to the future: Isomorphic javascript applications
Luciano Colosio
 
The Duck tales
The Duck talesThe Duck tales
The Duck tales
Anton Korzunov
 
Mattia Manzati - Real-World MobX Project Architecture - Codemotion Rome 2019
Mattia Manzati - Real-World MobX Project Architecture - Codemotion Rome 2019Mattia Manzati - Real-World MobX Project Architecture - Codemotion Rome 2019
Mattia Manzati - Real-World MobX Project Architecture - Codemotion Rome 2019
Codemotion
 

Similar to React JS and why it's awesome (20)

The disaster of mutable state
The disaster of mutable stateThe disaster of mutable state
The disaster of mutable state
 
NinjaScript 2010-10-14
NinjaScript 2010-10-14NinjaScript 2010-10-14
NinjaScript 2010-10-14
 
NinjaScript and Mizugumo 2011-02-05
NinjaScript and Mizugumo 2011-02-05NinjaScript and Mizugumo 2011-02-05
NinjaScript and Mizugumo 2011-02-05
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
 
Rethink Async With RXJS
Rethink Async With RXJSRethink Async With RXJS
Rethink Async With RXJS
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
 
React Internals - Batching Write Operations by tree Traversal
React Internals - Batching Write Operations by tree TraversalReact Internals - Batching Write Operations by tree Traversal
React Internals - Batching Write Operations by tree Traversal
 
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMoved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
 
On Inherent Complexity of Computation, by Attila Szegedi
On Inherent Complexity of Computation, by Attila SzegediOn Inherent Complexity of Computation, by Attila Szegedi
On Inherent Complexity of Computation, by Attila Szegedi
 
#FrontConf2017 — Enhance your User (and Developer) Experience with React & Redux
#FrontConf2017 — Enhance your User (and Developer) Experience with React & Redux#FrontConf2017 — Enhance your User (and Developer) Experience with React & Redux
#FrontConf2017 — Enhance your User (and Developer) Experience with React & Redux
 
The Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryThe Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J Query
 
JavaScript: You Like It, It Likes You
JavaScript: You Like It, It Likes YouJavaScript: You Like It, It Likes You
JavaScript: You Like It, It Likes You
 
Why Agile Works But Isn't Working For You
Why Agile Works But Isn't Working For YouWhy Agile Works But Isn't Working For You
Why Agile Works But Isn't Working For You
 
Evan Schultz - Angular Summit - 2016
Evan Schultz - Angular Summit - 2016Evan Schultz - Angular Summit - 2016
Evan Schultz - Angular Summit - 2016
 
Tour of language landscape (katsconf)
Tour of language landscape (katsconf)Tour of language landscape (katsconf)
Tour of language landscape (katsconf)
 
Cesar Valiente "Unidirectional architecture on Android with Kotlin"
Cesar Valiente "Unidirectional architecture on Android with Kotlin"Cesar Valiente "Unidirectional architecture on Android with Kotlin"
Cesar Valiente "Unidirectional architecture on Android with Kotlin"
 
Javascript leverage: Isomorphic Applications by Luciano Colosio at Codemotion...
Javascript leverage: Isomorphic Applications by Luciano Colosio at Codemotion...Javascript leverage: Isomorphic Applications by Luciano Colosio at Codemotion...
Javascript leverage: Isomorphic Applications by Luciano Colosio at Codemotion...
 
Back to the future: Isomorphic javascript applications
Back to the future:  Isomorphic javascript applicationsBack to the future:  Isomorphic javascript applications
Back to the future: Isomorphic javascript applications
 
The Duck tales
The Duck talesThe Duck tales
The Duck tales
 
Mattia Manzati - Real-World MobX Project Architecture - Codemotion Rome 2019
Mattia Manzati - Real-World MobX Project Architecture - Codemotion Rome 2019Mattia Manzati - Real-World MobX Project Architecture - Codemotion Rome 2019
Mattia Manzati - Real-World MobX Project Architecture - Codemotion Rome 2019
 

Recently uploaded

Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
87tomato
 
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
rachitkumar09887
 
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdfA Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
kalichargn70th171
 
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
3610stuck
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
ThousandEyes
 
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
simran hot girls
 
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
josephinedrea942
 
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in CityGirls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
neshakor5152
 
Comprehensive Vulnerability Assessments Process _ Aardwolf Security.docx
Comprehensive Vulnerability Assessments Process _ Aardwolf Security.docxComprehensive Vulnerability Assessments Process _ Aardwolf Security.docx
Comprehensive Vulnerability Assessments Process _ Aardwolf Security.docx
Aardwolf Security
 
To Avoid Mistakes When Using Online Attendance Sheets
To Avoid Mistakes When Using Online Attendance SheetsTo Avoid Mistakes When Using Online Attendance Sheets
To Avoid Mistakes When Using Online Attendance Sheets
Task Tracker
 
Artificial intelligence in customer services or chatbots
Artificial intelligence  in customer services or chatbotsArtificial intelligence  in customer services or chatbots
Artificial intelligence in customer services or chatbots
kayash1656
 
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
kiara pandey
 
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech
 
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdfIoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
mohitd6
 
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
revolutionary575
 
ERP Software Solutions Provider in Coimbatore
ERP Software Solutions Provider in CoimbatoreERP Software Solutions Provider in Coimbatore
ERP Software Solutions Provider in Coimbatore
Nextskill Technologies
 
The Ultimate Guide to Phone Spy Apps: Everything You Need to Know
The Ultimate Guide to Phone Spy Apps: Everything You Need to KnowThe Ultimate Guide to Phone Spy Apps: Everything You Need to Know
The Ultimate Guide to Phone Spy Apps: Everything You Need to Know
onemonitarsoftware
 
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
OnePlan Solutions
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
akshesh doshi
 
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
jealousviolet
 

Recently uploaded (20)

Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
Verified Girls Call Mumbai 👀 9820252231 👀 Cash Payment With Room DeliveryDeli...
 
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
 
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdfA Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
A Step-by-Step Guide to Selecting the Right Automated Software Testing Tools.pdf
 
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
 
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
Girls Call Jogeshwari 9967584737 Provide Best And Top Girl Service And No1 in...
 
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
 
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in CityGirls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
 
Comprehensive Vulnerability Assessments Process _ Aardwolf Security.docx
Comprehensive Vulnerability Assessments Process _ Aardwolf Security.docxComprehensive Vulnerability Assessments Process _ Aardwolf Security.docx
Comprehensive Vulnerability Assessments Process _ Aardwolf Security.docx
 
To Avoid Mistakes When Using Online Attendance Sheets
To Avoid Mistakes When Using Online Attendance SheetsTo Avoid Mistakes When Using Online Attendance Sheets
To Avoid Mistakes When Using Online Attendance Sheets
 
Artificial intelligence in customer services or chatbots
Artificial intelligence  in customer services or chatbotsArtificial intelligence  in customer services or chatbots
Artificial intelligence in customer services or chatbots
 
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
 
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.
 
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdfIoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
 
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
Busty Girls Call Mumbai 9930245274 Unlimited Short Providing Girls Service Av...
 
ERP Software Solutions Provider in Coimbatore
ERP Software Solutions Provider in CoimbatoreERP Software Solutions Provider in Coimbatore
ERP Software Solutions Provider in Coimbatore
 
The Ultimate Guide to Phone Spy Apps: Everything You Need to Know
The Ultimate Guide to Phone Spy Apps: Everything You Need to KnowThe Ultimate Guide to Phone Spy Apps: Everything You Need to Know
The Ultimate Guide to Phone Spy Apps: Everything You Need to Know
 
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
 
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
VVIP Girls Call Mumbai 9910780858 Provide Best And Top Girl Service And No1 i...
 

React JS and why it's awesome