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 (20)

React JS: A Secret Preview
React JS: A Secret PreviewReact JS: A Secret Preview
React JS: A Secret Preview
 
ReactJS
ReactJSReactJS
ReactJS
 
React workshop presentation
React workshop presentationReact workshop presentation
React workshop presentation
 
Learn react-js
Learn react-jsLearn react-js
Learn react-js
 
Introduction to React
Introduction to ReactIntroduction to React
Introduction to React
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_js
 
React js
React jsReact js
React js
 
React JS - A quick introduction tutorial
React JS - A quick introduction tutorialReact JS - A quick introduction tutorial
React JS - A quick introduction tutorial
 
Redux workshop
Redux workshopRedux workshop
Redux workshop
 
React JS - Introduction
React JS - IntroductionReact JS - Introduction
React JS - Introduction
 
React js for beginners
React js for beginnersReact js for beginners
React js for beginners
 
Basics of React Hooks.pptx.pdf
Basics of React Hooks.pptx.pdfBasics of React Hooks.pptx.pdf
Basics of React Hooks.pptx.pdf
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
React js programming concept
React js programming conceptReact js programming concept
React js programming concept
 
Introduction to ReactJS
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
 
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
 
An introduction to React.js
An introduction to React.jsAn introduction to React.js
An introduction to React.js
 
React Router: React Meetup XXL
React Router: React Meetup XXLReact Router: React Meetup XXL
React Router: React Meetup XXL
 
React and redux
React and reduxReact and redux
React and redux
 

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 RXJSRyan Anklam
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJSdevObjective
 
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

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

React JS and why it's awesome