SlideShare a Scribd company logo
Thinking Reactively
Thinking Reactively
Thinking Reactively
! 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
Thinking Reactively
Thinking Reactively
• 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
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
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
Thinking Reactively
Thinking Reactively
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
Thinking Reactively
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
Thinking Reactively
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
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
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
React
Thinking Reactively
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
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Scope
Scope Scope
Scope Scope
Legend:
• Affected
• Dispatcher
Thinking Reactively
React (Facebook)
Ember
React (Facebook)
Incremental DOM (Google)
Ember
React (Facebook)
Incremental DOM (Google)
Ember
React (Facebook)
Thinking Reactively
Thinking Reactively
• 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
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
Thinking Reactively
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

PPTX
From the Unknown to the Known
PDF
Migrating from Flux to Redux. Why and how.
PDF
React Native for multi-platform mobile applications
PDF
Universal JavaScript Web Applications with React - Luciano Mammino - Codemoti...
PPTX
React + Redux Introduction
PDF
React JS and why it's awesome
PDF
How to not blow up spaceships
PDF
Past and today of Metasepi project
From the Unknown to the Known
Migrating from Flux to Redux. Why and how.
React Native for multi-platform mobile applications
Universal JavaScript Web Applications with React - Luciano Mammino - Codemoti...
React + Redux Introduction
React JS and why it's awesome
How to not blow up spaceships
Past and today of Metasepi project

Similar to Thinking Reactively (20)

PDF
Building reusable components with generics and protocols
PDF
Getting Up and Running with BDD on Rails
PDF
Getting Up and Running with BDD on Rails
PPT
Upgrade Your Website to HTML5 - VSLive Conference New York @iRajLal
PDF
Clojure at ardoq
PDF
A Backpack to go the Extra-Functional Mile (a hitched hike by the PROWESS pro...
PDF
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
PDF
Metasepi team meeting #16: Safety on ATS language + MCU
PPT
Linking chemistry: wider lessons for how we publish research
PDF
Introduction to Responsive Web Design
PDF
Cms Workshop Long
PPTX
Container Days NYC Keynote
PDF
Webconf 2013 - Media Query 123
PPTX
Docker Docker - Docker Security - Docker
PPT
Wikis Cluster Presentation
PDF
Functional IoT: Programming Language and OS
PDF
Prototyping: Helping to take away the suck
PPT
Advanced online search through the web
PPTX
Recycling & Repurposing Great Content
PDF
Godaddy and WordPress
Building reusable components with generics and protocols
Getting Up and Running with BDD on Rails
Getting Up and Running with BDD on Rails
Upgrade Your Website to HTML5 - VSLive Conference New York @iRajLal
Clojure at ardoq
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, ...
Metasepi team meeting #16: Safety on ATS language + MCU
Linking chemistry: wider lessons for how we publish research
Introduction to Responsive Web Design
Cms Workshop Long
Container Days NYC Keynote
Webconf 2013 - Media Query 123
Docker Docker - Docker Security - Docker
Wikis Cluster Presentation
Functional IoT: Programming Language and OS
Prototyping: Helping to take away the suck
Advanced online search through the web
Recycling & Repurposing Great Content
Godaddy and WordPress
Ad

Recently uploaded (20)

PPTX
Database Information System - Management Information System
PDF
Alethe Consulting Corporate Profile and Solution Aproach
PDF
Introduction to the IoT system, how the IoT system works
PPT
12 Things That Make People Trust a Website Instantly
PPTX
t_and_OpenAI_Combined_two_pressentations
PDF
The Evolution of Traditional to New Media .pdf
PPTX
module 1-Part 1.pptxdddddddddddddddddddddddddddddddddddd
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PPT
Ethics in Information System - Management Information System
PPT
250152213-Excitation-SystemWERRT (1).ppt
PDF
BIOCHEM CH2 OVERVIEW OF MICROBIOLOGY.pdf
DOC
Rose毕业证学历认证,利物浦约翰摩尔斯大学毕业证国外本科毕业证
PPTX
Introduction to cybersecurity and digital nettiquette
PDF
Uptota Investor Deck - Where Africa Meets Blockchain
PDF
📍 LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1 TERPOPULER DI INDONESIA ! 🌟
PPT
415456121-Jiwratrwecdtwfdsfwgdwedvwe dbwsdjsadca-EVN.ppt
PPTX
Power Point - Lesson 3_2.pptx grad school presentation
PDF
Lean-Manufacturing-Tools-Techniques-and-How-To-Use-Them.pdf
PPT
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
PDF
Session 1 (Week 1)fghjmgfdsfgthyjkhfdsadfghjkhgfdsa
Database Information System - Management Information System
Alethe Consulting Corporate Profile and Solution Aproach
Introduction to the IoT system, how the IoT system works
12 Things That Make People Trust a Website Instantly
t_and_OpenAI_Combined_two_pressentations
The Evolution of Traditional to New Media .pdf
module 1-Part 1.pptxdddddddddddddddddddddddddddddddddddd
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
Ethics in Information System - Management Information System
250152213-Excitation-SystemWERRT (1).ppt
BIOCHEM CH2 OVERVIEW OF MICROBIOLOGY.pdf
Rose毕业证学历认证,利物浦约翰摩尔斯大学毕业证国外本科毕业证
Introduction to cybersecurity and digital nettiquette
Uptota Investor Deck - Where Africa Meets Blockchain
📍 LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1 TERPOPULER DI INDONESIA ! 🌟
415456121-Jiwratrwecdtwfdsfwgdwedvwe dbwsdjsadca-EVN.ppt
Power Point - Lesson 3_2.pptx grad school presentation
Lean-Manufacturing-Tools-Techniques-and-How-To-Use-Them.pdf
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
Session 1 (Week 1)fghjmgfdsfgthyjkhfdsadfghjkhgfdsa
Ad

Thinking Reactively

  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 70. React
  • 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
  • 98. Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Scope Legend: • Affected • Dispatcher
  • 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
  • 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/