SlideShare a Scribd company logo
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
• Startup in Analytics
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
• Startup in Analytics
• Developer (not Web Developer / Java Developer, etc)
• 3rd Year – Computer Science @ Southampton Uni
• Experience:
๏ Java, C++, PHP, JavaScript
๏ Projects starting from CMS / whole systems, to libraries and experiments
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
• Startup in Analytics
• Developer (not Web Developer / Java Developer, etc)
• 3rd Year – Computer Science @ Southampton Uni
• Experience:
๏ Java, C++, PHP, JavaScript
๏ Projects starting from CMS / whole systems, to libraries and experiments
• Web Development since 2009
• Node JS since 2011
• Angular JS since 2013
• React since 2015
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
• Startup in Analytics
• Developer (not Web Developer / Java Developer, etc)
• 3rd Year – Computer Science @ Southampton Uni
• Experience:
๏ Java, C++, PHP, JavaScript
๏ Projects starting from CMS / whole systems, to libraries and experiments
• Web Development since 2009
• Node JS since 2011
• Angular JS since 2013
• React since 2015
• HackaSoton director since the beginning
! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
• Overview
• Competition
• Overview
• Competition
• Facebook’s Reasoning
• Comparison with Angular
• Overview
• Competition
• Facebook’s Reasoning
• Comparison with Angular
• Redux
• Flux
• React
• Overview
• Competition
• Facebook’s Reasoning
• Comparison with Angular
• Redux
• Flux
• React
• Examples
• Overview
• Competition
• Facebook’s Reasoning
• Comparison with Angular
• Redux
• Flux
• React
• Examples
• Recap
• Questions
• Overview
• Competition
• Facebook’s Reasoning
• Comparison with Angular
• Redux
• Flux
• React
• Examples
• Recap
• Questions
• ???
• Overview
• Competition
• Facebook’s Reasoning
• Comparison with Angular
• Redux
• Flux
• React
• Examples
• Recap
• Questions
• ???
• Profit
React
React
UI Framework
React
UI Framework
Facebook
Basic Websites / General Website Frontend
Basic Websites / General Website Frontend
Small Scripts / Fiddles
Basic Websites / General Website Frontend
Small Scripts / Fiddles
Showing off as a beginner
Basic Websites / General Website Frontend
Small Scripts / Fiddles
Showing off as a beginner
Basic Websites / General Website Frontend
Small Scripts / Fiddles
Showing off as a beginner
NOT to be used as a primary tool with an app
Web applications
Web applications
works with dom / svg at best
Web applications
works with dom / svg at best
two way data bindings
Web applications
works with dom / svg at best
two way data bindings
Web applications
works with dom / svg at best
two way data bindings
scope tree
Web applications
works with dom / svg at best
two way data bindings
scope tree
Web applications
works with dom / svg at best
two way data bindings
scope tree
digest loops
ScopeScopeScopeScopeScope
one
comment
ScopeScopeScopeScopeScope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
one
comment box
author
timestamp
comment
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
one
comment box
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
one
comment box
Comment
form
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
one
comment box
Comment
form
Comment
section
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Comment
Section
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Comment
Section
Article
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Comment
Section
Article
Admin
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
cope
cope
cope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scop
Scope Scop
Scop
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
cope
cope
cope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scop
Scope Scop
Scop
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
cope
cope
cope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scop
Scope Scop
Scop
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
cope
cope
cope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scop
Scope Scop
Scop
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
React
Workflow
1. Reducers
Workflow
1. Reducers
2. Store
Workflow
1. Reducers
2. Store
3. Virtual DOM
Workflow
1. Reducers
2. Store
3. Virtual DOM
4. Actual Dom
Workflow
1. Reducers
2. Store
3. Virtual DOM
4. Actual Dom
5. Action
Workflow
1. Reducers
2. Store
3. Virtual DOM
4. Actual Dom
5. Action
6. Dispatch
Workflow
1. Reducers
Workflow
1. Reducers
2. Store
Workflow
Reducers
&
Store
1. Initial State Reducers
&
Store
1. Initial State
2. Reducers
Reducers
&
Store
1. Initial State
2. Reducers
3. Final State
Reducers
&
Store
Reducers
&
Store
1. Initial State
2. Reducers
3. Intermediary State
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
one
comment box
Comment
form
Comment
section
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
cope
cope
cope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scop
Scope Scop
Scop
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope
Sco
S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Store
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope
Sco
S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Store
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope
Sco
S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Store
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope
Sco
S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Store
Dispatch
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope
Sco
S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope S
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Store
Dispatch
Diffs
Only changes where it’s needed
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Legend:
• Affected
• Dispatcher
React (Facebook)
Ember
React (Facebook)
Incremental DOM (Google)
Ember
React (Facebook)
Incremental DOM (Google)
Ember
React (Facebook)
• DOM
• DOM
• SVG
• DOM
• SVG
• Canvas
• DOM
• SVG
• Canvas
• WebGL
• DOM
• SVG
• Canvas
• WebGL
…
• DOM
• SVG
• Canvas
• WebGL
…
• Serverside?
• DOM
• SVG
• Canvas
• WebGL
…
• Serverside?
AngularJS
• DOM
• SVG
• Canvas
• WebGL
…
• Serverside?
Incremental DOM
• DOM
• SVG
• Canvas
• WebGL
…
• Serverside?
Ember
• DOM
• SVG
• Canvas
• WebGL
…
• Serverside?
jQuery
• DOM
• SVG
• Canvas
• WebGL
…
• Serverside?
React
React
React
Flux
Redux
React
Flux
Redux
UI
DATA
React
REDUX
FLUX
Reducers
Initial state
final state
Redux
Reducers
Initial state
final state
Reducers
Initial state
final state
Flux
Reducers
Initial state
final state
Reducers
Initial state
final state
Reducers
Initial state
final state
Reducers
Initial state
final state
Reducers
final state
Reducers
Initial state
final state
Reducers
Initial state
final state
Redux
Reducers
Initial state
final state
React
Reducers
Initial state
final state
React
virtual dom
Reducers
Initial state
final state
React
REAL dom SVGWEBGL
virtual dom
Reducers
Initial state
final state
React
REAL dom SVGWEBGL
static page rest api
virtual dom

 EXAMPLES
Own Projects
• http://sabinmarcu.github.io/labs/
• http://sabinmarcu.github.io/labs/react-demo/
• http://sabinmarcu.github.io/labs/sortable-paper/
Canvas & WebGL
• http://react.rocks/tag/Canvas
• http://react.rocks/tag/WebGL
Serverside Render
• https://github.com/mhart/react-server-example
Real life examples
• https://www.messenger.com/
• http://react.rocks/
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively

More Related Content

Similar to Thinking Reactively

Building reusable components with generics and protocols
Building reusable components with generics and protocolsBuilding reusable components with generics and protocols
Building reusable components with generics and protocols
Donny Wals
 
Getting Up and Running with BDD on Rails
Getting Up and Running with BDD on RailsGetting Up and Running with BDD on Rails
Getting Up and Running with BDD on Railselliando dias
 
Getting Up and Running with BDD on Rails
Getting Up and Running with BDD on RailsGetting Up and Running with BDD on Rails
Getting Up and Running with BDD on Rails
Nicholas Cancelliere
 
A call to give back puppetlabs-corosync to the community
A call to give back puppetlabs-corosync to the communityA call to give back puppetlabs-corosync to the community
A call to give back puppetlabs-corosync to the community
Julien Pivotto
 
Upgrade Your Website to HTML5 - VSLive Conference New York @iRajLal
Upgrade Your Website to HTML5 - VSLive Conference New York  @iRajLalUpgrade Your Website to HTML5 - VSLive Conference New York  @iRajLal
Upgrade Your Website to HTML5 - VSLive Conference New York @iRajLal
Raj Lal
 
Clojure at ardoq
Clojure at ardoqClojure at ardoq
Clojure at ardoq
Erik Bakstad
 
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
Laura M. Castro
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
javier ramirez
 
Metasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCUMetasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCU
Kiwamu Okabe
 
Linking chemistry: wider lessons for how we publish research
Linking chemistry: wider lessons for how we publish researchLinking chemistry: wider lessons for how we publish research
Linking chemistry: wider lessons for how we publish researchRoyal Society of Chemistry
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web Design
Clarissa Peterson
 
Cms Workshop Long
Cms Workshop LongCms Workshop Long
Cms Workshop Longemily
 
Container Days NYC Keynote
Container Days NYC KeynoteContainer Days NYC Keynote
Container Days NYC Keynote
Boyd Hemphill
 
Webconf 2013 - Media Query 123
Webconf 2013 - Media Query 123Webconf 2013 - Media Query 123
Webconf 2013 - Media Query 123Hina Chen
 
Docker Docker - Docker Security - Docker
Docker Docker - Docker Security - DockerDocker Docker - Docker Security - Docker
Docker Docker - Docker Security - Docker
Boyd Hemphill
 
Wikis Cluster Presentation
Wikis Cluster PresentationWikis Cluster Presentation
Wikis Cluster Presentationdigikids
 
Functional IoT: Programming Language and OS
Functional IoT: Programming Language and OSFunctional IoT: Programming Language and OS
Functional IoT: Programming Language and OS
Kiwamu Okabe
 
Prototyping: Helping to take away the suck
Prototyping: Helping to take away the suckPrototyping: Helping to take away the suck
Prototyping: Helping to take away the suck
Harvard Web Working Group
 
Advanced online search through the web
Advanced online search through the webAdvanced online search through the web
Advanced online search through the web
netknowlogy
 
Recycling & Repurposing Great Content
Recycling & Repurposing Great ContentRecycling & Repurposing Great Content
Recycling & Repurposing Great Content
Corrin Foster
 

Similar to Thinking Reactively (20)

Building reusable components with generics and protocols
Building reusable components with generics and protocolsBuilding reusable components with generics and protocols
Building reusable components with generics and protocols
 
Getting Up and Running with BDD on Rails
Getting Up and Running with BDD on RailsGetting Up and Running with BDD on Rails
Getting Up and Running with BDD on Rails
 
Getting Up and Running with BDD on Rails
Getting Up and Running with BDD on RailsGetting Up and Running with BDD on Rails
Getting Up and Running with BDD on Rails
 
A call to give back puppetlabs-corosync to the community
A call to give back puppetlabs-corosync to the communityA call to give back puppetlabs-corosync to the community
A call to give back puppetlabs-corosync to the community
 
Upgrade Your Website to HTML5 - VSLive Conference New York @iRajLal
Upgrade Your Website to HTML5 - VSLive Conference New York  @iRajLalUpgrade Your Website to HTML5 - VSLive Conference New York  @iRajLal
Upgrade Your Website to HTML5 - VSLive Conference New York @iRajLal
 
Clojure at ardoq
Clojure at ardoqClojure at ardoq
Clojure at ardoq
 
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
 
Metasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCUMetasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCU
 
Linking chemistry: wider lessons for how we publish research
Linking chemistry: wider lessons for how we publish researchLinking chemistry: wider lessons for how we publish research
Linking chemistry: wider lessons for how we publish research
 
Introduction to Responsive Web Design
Introduction to Responsive Web DesignIntroduction to Responsive Web Design
Introduction to Responsive Web Design
 
Cms Workshop Long
Cms Workshop LongCms Workshop Long
Cms Workshop Long
 
Container Days NYC Keynote
Container Days NYC KeynoteContainer Days NYC Keynote
Container Days NYC Keynote
 
Webconf 2013 - Media Query 123
Webconf 2013 - Media Query 123Webconf 2013 - Media Query 123
Webconf 2013 - Media Query 123
 
Docker Docker - Docker Security - Docker
Docker Docker - Docker Security - DockerDocker Docker - Docker Security - Docker
Docker Docker - Docker Security - Docker
 
Wikis Cluster Presentation
Wikis Cluster PresentationWikis Cluster Presentation
Wikis Cluster Presentation
 
Functional IoT: Programming Language and OS
Functional IoT: Programming Language and OSFunctional IoT: Programming Language and OS
Functional IoT: Programming Language and OS
 
Prototyping: Helping to take away the suck
Prototyping: Helping to take away the suckPrototyping: Helping to take away the suck
Prototyping: Helping to take away the suck
 
Advanced online search through the web
Advanced online search through the webAdvanced online search through the web
Advanced online search through the web
 
Recycling & Repurposing Great Content
Recycling & Repurposing Great ContentRecycling & Repurposing Great Content
Recycling & Repurposing Great Content
 

Recently uploaded

The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
GTProductions1
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
VivekSinghShekhawat2
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 

Recently uploaded (20)

The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 

Thinking Reactively

  • 1.
  • 2.
  • 3.
  • 4. ! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
  • 5. • Startup in Analytics ! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
  • 6. • Startup in Analytics • Developer (not Web Developer / Java Developer, etc) • 3rd Year – Computer Science @ Southampton Uni • Experience: ๏ Java, C++, PHP, JavaScript ๏ Projects starting from CMS / whole systems, to libraries and experiments ! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
  • 7. • Startup in Analytics • Developer (not Web Developer / Java Developer, etc) • 3rd Year – Computer Science @ Southampton Uni • Experience: ๏ Java, C++, PHP, JavaScript ๏ Projects starting from CMS / whole systems, to libraries and experiments • Web Development since 2009 • Node JS since 2011 • Angular JS since 2013 • React since 2015 ! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
  • 8. • Startup in Analytics • Developer (not Web Developer / Java Developer, etc) • 3rd Year – Computer Science @ Southampton Uni • Experience: ๏ Java, C++, PHP, JavaScript ๏ Projects starting from CMS / whole systems, to libraries and experiments • Web Development since 2009 • Node JS since 2011 • Angular JS since 2013 • React since 2015 • HackaSoton director since the beginning ! twitter.com/sabinmarcu "facebook.com/sabinmarcu # linkedin.com/in/sabinmarcu $ github.com/sabinmarcu
  • 9.
  • 10.
  • 12. • Overview • Competition • Facebook’s Reasoning • Comparison with Angular
  • 13. • Overview • Competition • Facebook’s Reasoning • Comparison with Angular • Redux • Flux • React
  • 14. • Overview • Competition • Facebook’s Reasoning • Comparison with Angular • Redux • Flux • React • Examples
  • 15. • Overview • Competition • Facebook’s Reasoning • Comparison with Angular • Redux • Flux • React • Examples • Recap • Questions
  • 16. • Overview • Competition • Facebook’s Reasoning • Comparison with Angular • Redux • Flux • React • Examples • Recap • Questions • ???
  • 17. • Overview • Competition • Facebook’s Reasoning • Comparison with Angular • Redux • Flux • React • Examples • Recap • Questions • ??? • Profit
  • 18. React
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Basic Websites / General Website Frontend
  • 35. Basic Websites / General Website Frontend Small Scripts / Fiddles
  • 36. Basic Websites / General Website Frontend Small Scripts / Fiddles Showing off as a beginner
  • 37. Basic Websites / General Website Frontend Small Scripts / Fiddles Showing off as a beginner
  • 38. Basic Websites / General Website Frontend Small Scripts / Fiddles Showing off as a beginner NOT to be used as a primary tool with an app
  • 39.
  • 40.
  • 42. Web applications works with dom / svg at best
  • 43. Web applications works with dom / svg at best two way data bindings
  • 44. Web applications works with dom / svg at best two way data bindings
  • 45. Web applications works with dom / svg at best two way data bindings scope tree
  • 46. Web applications works with dom / svg at best two way data bindings scope tree
  • 47. Web applications works with dom / svg at best two way data bindings scope tree digest loops
  • 48.
  • 51. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope
  • 52. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope one comment box author timestamp comment
  • 53. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope
  • 54. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope one comment box
  • 55. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope one comment box Comment form
  • 56. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope one comment box Comment form Comment section
  • 57.
  • 58. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope
  • 59. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Comment Section
  • 60. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Comment Section Article
  • 61. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Comment Section Article Admin
  • 62. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope cope cope cope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scop Scope Scop Scop Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope
  • 63. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope cope cope cope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scop Scope Scop Scop Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope
  • 64. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope cope cope cope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scop Scope Scop Scop Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope
  • 65. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope cope cope cope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scop Scope Scop Scop Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope
  • 66.
  • 67.
  • 68.
  • 69.
  • 70. React
  • 71.
  • 75. 1. Reducers 2. Store 3. Virtual DOM Workflow
  • 76. 1. Reducers 2. Store 3. Virtual DOM 4. Actual Dom Workflow
  • 77. 1. Reducers 2. Store 3. Virtual DOM 4. Actual Dom 5. Action Workflow
  • 78. 1. Reducers 2. Store 3. Virtual DOM 4. Actual Dom 5. Action 6. Dispatch Workflow
  • 82. 1. Initial State Reducers & Store
  • 83. 1. Initial State 2. Reducers Reducers & Store
  • 84. 1. Initial State 2. Reducers 3. Final State Reducers & Store
  • 85. Reducers & Store 1. Initial State 2. Reducers 3. Intermediary State
  • 86. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope one comment box Comment form Comment section
  • 87. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope cope cope cope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scop Scope Scop Scop Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope
  • 88. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Sco S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Store
  • 89. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Sco S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Store
  • 90. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Sco S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Store
  • 91. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Sco S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Store Dispatch
  • 92. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Sco S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope S Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Store Dispatch
  • 93. Diffs Only changes where it’s needed
  • 94.
  • 95.
  • 96.
  • 97.
  • 98. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Legend: • Affected • Dispatcher
  • 99.
  • 104.
  • 105.
  • 109. • DOM • SVG • Canvas • WebGL
  • 110. • DOM • SVG • Canvas • WebGL …
  • 111. • DOM • SVG • Canvas • WebGL … • Serverside?
  • 112. • DOM • SVG • Canvas • WebGL … • Serverside? AngularJS
  • 113. • DOM • SVG • Canvas • WebGL … • Serverside? Incremental DOM
  • 114. • DOM • SVG • Canvas • WebGL … • Serverside? Ember
  • 115. • DOM • SVG • Canvas • WebGL … • Serverside? jQuery
  • 116. • DOM • SVG • Canvas • WebGL … • Serverside? React
  • 117. React
  • 123. Reducers Initial state final state Flux Reducers Initial state final state Reducers Initial state final state Reducers Initial state final state Reducers Initial state final state Reducers final state Reducers Initial state final state
  • 128. Reducers Initial state final state React REAL dom SVGWEBGL static page rest api virtual dom
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135. Own Projects • http://sabinmarcu.github.io/labs/ • http://sabinmarcu.github.io/labs/react-demo/ • http://sabinmarcu.github.io/labs/sortable-paper/ Canvas & WebGL • http://react.rocks/tag/Canvas • http://react.rocks/tag/WebGL Serverside Render • https://github.com/mhart/react-server-example Real life examples • https://www.messenger.com/ • http://react.rocks/