SlideShare a Scribd company logo
1 of 132
Download to read offline
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
“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

Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITIntroduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITnamespaceit
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJSKnoldus Inc.
 
Introduction to react native
Introduction to react nativeIntroduction to react native
Introduction to react nativeDani Akash
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Previewvaluebound
 
React for Dummies
React for DummiesReact for Dummies
React for DummiesMitch Chen
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorialMohammed Fazuluddin
 
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
 
Introduction to react
Introduction to reactIntroduction to react
Introduction to reactkiranabburi
 
An introduction to React.js
An introduction to React.jsAn introduction to React.js
An introduction to React.jsEmanuele DelBono
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_jsMicroPyramid .
 
React js programming concept
React js programming conceptReact js programming concept
React js programming conceptTariqul islam
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to ReactRob Quick
 
React-JS Component Life-cycle Methods
React-JS Component Life-cycle MethodsReact-JS Component Life-cycle Methods
React-JS Component Life-cycle MethodsANKUSH CHAVAN
 
Understanding react hooks
Understanding react hooksUnderstanding react hooks
Understanding react hooksMaulik Shah
 

What's hot (20)

Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITIntroduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace IT
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
React js
React jsReact js
React js
 
Introduction to react native
Introduction to react nativeIntroduction to react native
Introduction to react native
 
React js
React jsReact js
React js
 
React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Preview
 
React for Dummies
React for DummiesReact for Dummies
React for Dummies
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
Introduction to React JS for beginners
Introduction to React JS for beginners Introduction to React JS for beginners
Introduction to React JS for beginners
 
React js
React jsReact js
React js
 
React JS part 1
React JS part 1React JS part 1
React JS part 1
 
React hooks
React hooksReact hooks
React hooks
 
Introduction to react
Introduction to reactIntroduction to react
Introduction to react
 
An introduction to React.js
An introduction to React.jsAn introduction to React.js
An introduction to React.js
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_js
 
React js programming concept
React js programming conceptReact js programming concept
React js programming concept
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
 
ReactJS presentation.pptx
ReactJS presentation.pptxReactJS presentation.pptx
ReactJS presentation.pptx
 
React-JS Component Life-cycle Methods
React-JS Component Life-cycle MethodsReact-JS Component Life-cycle Methods
React-JS Component Life-cycle Methods
 
Understanding react hooks
Understanding react hooksUnderstanding react hooks
Understanding react hooks
 

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 - 20150409Minko3D
 
An Introduction to ReactJS
An Introduction to ReactJSAn Introduction to ReactJS
An Introduction to ReactJSAll Things Open
 
Rethinking Best Practices
Rethinking Best PracticesRethinking Best Practices
Rethinking Best Practicesfloydophone
 
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 Streamsmattpodwysocki
 
Functional Reactive Programming with RxJS
Functional Reactive Programming with RxJSFunctional Reactive Programming with RxJS
Functional Reactive Programming with RxJSstefanmayer13
 
[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 2015Ben Lesh
 
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015
서버 개발자가 바라 본 Functional Reactive Programming with RxJava - SpringCamp2015NAVER / MusicPlatform
 

Viewers also liked (10)

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
 
An Introduction to ReactJS
An Introduction to ReactJSAn Introduction to ReactJS
An Introduction to ReactJS
 
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 statekenbot
 
NinjaScript 2010-10-14
NinjaScript 2010-10-14NinjaScript 2010-10-14
NinjaScript 2010-10-14lrdesign
 
NinjaScript and Mizugumo 2011-02-05
NinjaScript and Mizugumo 2011-02-05NinjaScript and Mizugumo 2011-02-05
NinjaScript and Mizugumo 2011-02-05lrdesign
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJSdevObjective
 
Rethink Async With RXJS
Rethink Async With RXJSRethink Async With RXJS
Rethink Async With RXJSRyan Anklam
 
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 TraversalSanjay 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-xmxMilen 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 SzegediZeroTurnaround
 
#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 & Reduxphacks
 
The Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryThe Dom Scripting Toolkit J Query
The Dom Scripting Toolkit J QueryQConLondon2008
 
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 YouScott 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 YouDavid Harvey
 
Evan Schultz - Angular Summit - 2016
Evan Schultz - Angular Summit - 2016Evan Schultz - Angular Summit - 2016
Evan Schultz - Angular Summit - 2016Evan 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 applicationsLuciano Colosio
 
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 2019Codemotion
 

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

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 

Recently uploaded (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 

React JS and why it's awesome