SlideShare a Scribd company logo
TOWARDS
COMPONENT
BASED WEB UI
WITH REACTJS
Oliver Häger, Dextra
DevCamp, 2015, DevRootz
15.05.2015, Campinas, Brazil
Hallo!
Eu sou Oliver Häger
oliver.hager@dextra.com.br
38 anos na Terra
15 anos na Computação
7 anos no Brasil
5 anos como Papai
2 anos na Dextra
TABLE OF CONTENT
◦ Introduction
◦ Characteristics
◦ Composition
◦ Outlook
INTRODUCTION
What is React?
1
“
Lots of people use React as the V in
MVC. Since React makes no
assumptions about the rest of your
technology stack, it's easy to try it
out on a small feature in an existing
project.
From https://facebook.github.io/react/
“
Lots of people use React as the V in
MVC. Since React makes no
assumptions about the rest of your
technology stack, it's easy to try it
out on a small feature in an existing
project.
From https://facebook.github.io/react/
INTRODUCTION
◦ Library
▫ Not a full stack framework!
◦ Technology Agnostic
▫ No dependencies at all
◦ Open & Free
▫ Like free beer!
◦ Facebook & Instagram
▫ Battle-tested
INTRODUCTION
◦ React on GitHub
source: https://github.com/facebook/react/graphs/contributors
INTRODUCTION
◦ Google Trends
source: https://www.google.com/trends
● new idea
● several smaller
projects achieve
success
● clean, composable
approach to
componentization.
INTRODUCTION
◦ Thoughtwork's Radar
TRIAL
source: http://www.thoughtworks.com/radar/languages-and-frameworks
CHARACTERISTICS
What makes React different?
2
CHARACTERISTICS
◦ Mixing Logic & View
▫ composable encapsulated
components
▫ stateful
▫ lifecycle
▫ Javascript mixed up with XML
CHARACTERISTICS
> code
https://github.
com/ohager/reactdemo/blob/maste
r/jsx/footer.jsx
CHARACTERISTICS
◦ Virtual DOM
▫ lightweight in-memory DOM
▫ Smart Reconciliation
▫ Reduced DOM updates
CHARACTERISTICS
source: https://facebook.github.io/react/docs/
CHARACTERISTICS
◦ Isomorphic
▫ Run same code on server & client
▫ Faster app startup
▫ SEO friendly
CHARACTERISTICS
COMPOSITION
How to deal with components?
3
COMPOSITION
◦ Lifecycle
◦ Properties
▫ data flow downwards the hierarchy
◦ Callbacks
▫ data flow upwards
◦ States
▫ trigger rendering
COMPOSITION
◦ Composition Modalities
▫ coupled
▫ decoupled
COMPOSITION
COMPOSITION
> code
https://www.devbutze.
com/dojo/react/#/example/compos
ition
https://www.devbutze.
com/dojo/react/#/example/compos
ition/decoupled
Coupled Composition
◦ Pro
▫ Intuitive usage
▫ Consistent data flow
▫ Better maintainability
◦ Contra
▫ More design effort
COMPOSITION
Decoupled Composition
◦ Pro
▫ Easy to implement
▫ Broadcast
▫ Operability between
non-related components
◦ Contra
▫ Poor maintainability (Event Hell )
COMPOSITION
OUTLOOK
What’s coming next?
4
◦ Large Applications
▫ Flux Architecture
OUTLOOK
source: https://facebook.github.io/flux/docs/overview.html
◦ React Native
▫ iOS, Android and future platforms
OUTLOOK
◦ Testing Components
▫ TestUtils Addon
▫ Based on Jest
OUTLOOK
◦ Integration in existing projects
▫ Library with no dependencies
▫ i.e. with Backbone, AngularJS
OUTLOOK
> demo
https://www.devbutze.
com/dojo/angulardemo/app/
Danke.
QUESTIONS!
oliver.hager@dextra-sw.com
oliver@devbutze.com
Code : github.com/ohager/reactdemo
Live Demo: devbutze.com/dojo/react/

More Related Content

What's hot (20)

PPTX
Debugging Grails Database Performance
Energized Work
 
PDF
Meetup React Sanca - 29/11/18 - React Testing
Augusto Lazaro
 
PPTX
.ASP NET CORE ON DOCKER
José Barbosa
 
PDF
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
chbornet
 
PPTX
Geb+spock: let your functional tests live long and prosper
Esther Lozano
 
PDF
Groovy in the Cloud
Daniel Woods
 
PDF
Developing faster than ever (Liferay DEVCON 2017)
Sébastien Le Marchand
 
PDF
Magento Continuous Integration & Continuous Delivery @MM17HR
Denis Ristic
 
PPTX
Angular 1.5 Components
José Barbosa
 
PDF
Alexey Kupriyanenko "Release Early, Often, Stable"
Fwdays
 
PDF
GradleのREPLプラグイン紹介 #jggug
kyon mm
 
PDF
JHipster, modern web application development made easy
Raphaël Brugier
 
PDF
Experiences building apps with React Native @DomCode 2016
Adrian Philipp
 
PDF
Grunt js and WordPress
WP Australia
 
PDF
End-to-end HTML5 APIs - The Geek Gathering 2013
Alexandre Morgaut
 
PDF
markedj: The best of markdown processor on JVM
takezoe
 
PDF
Javaone - Gradle: Harder, Better, Stronger, Faster
Andres Almiray
 
PPS
Groovy & Grails
Michael Yan
 
PDF
Javascript toolkit
Marcos Vinícius
 
PDF
Continuous operations in AWS
Aleksandr Maklakov
 
Debugging Grails Database Performance
Energized Work
 
Meetup React Sanca - 29/11/18 - React Testing
Augusto Lazaro
 
.ASP NET CORE ON DOCKER
José Barbosa
 
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
chbornet
 
Geb+spock: let your functional tests live long and prosper
Esther Lozano
 
Groovy in the Cloud
Daniel Woods
 
Developing faster than ever (Liferay DEVCON 2017)
Sébastien Le Marchand
 
Magento Continuous Integration & Continuous Delivery @MM17HR
Denis Ristic
 
Angular 1.5 Components
José Barbosa
 
Alexey Kupriyanenko "Release Early, Often, Stable"
Fwdays
 
GradleのREPLプラグイン紹介 #jggug
kyon mm
 
JHipster, modern web application development made easy
Raphaël Brugier
 
Experiences building apps with React Native @DomCode 2016
Adrian Philipp
 
Grunt js and WordPress
WP Australia
 
End-to-end HTML5 APIs - The Geek Gathering 2013
Alexandre Morgaut
 
markedj: The best of markdown processor on JVM
takezoe
 
Javaone - Gradle: Harder, Better, Stronger, Faster
Andres Almiray
 
Groovy & Grails
Michael Yan
 
Javascript toolkit
Marcos Vinícius
 
Continuous operations in AWS
Aleksandr Maklakov
 

Similar to Towards component based web UI with ReactJS (20)

PDF
Getting Started with React, When You’re an Angular Developer
Fabrit Global
 
PDF
theory-slides-vueh3urh4ur4ur4r44oirj4riu4ri
paridhiagarwal129
 
PDF
React in Action 1st Edition Mark Tielens Thomas
nurizpochun
 
PDF
React & Flux Workshop
Christian Lilley
 
PDF
React In Action 1st Edition Mark Tielens Thomas
huulahlaji
 
PPTX
[Final] ReactJS presentation
洪 鹏发
 
PDF
Tech Talk on ReactJS
Atlogys Technical Consulting
 
PPTX
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
PDF
React - The JavaScript Library for User Interfaces
Jumping Bean
 
PPTX
Introduction to ReactJS UI Web Dev .pptx
SHAIKIRFAN715544
 
PPTX
React.js at Cortex
Geoff Harcourt
 
PPTX
ReactJS
Ram Murat Sharma
 
PDF
React in Action 1st Edition Mark Tielens Thomas
jyliyakainu
 
PPTX
Introduction to React JS.pptx
SHAIKIRFAN715544
 
PPTX
React js
Nikhil Karkra
 
PDF
Reactive web
dega1999
 
PDF
Ryan Christiani I Heard React Was Good
FITC
 
PDF
Introduction Web Development using ReactJS
ssuser8a1f37
 
PPTX
ReactJS presentation.pptx
DivyanshGupta922023
 
PDF
Fundamental concepts of react js
StephieJohn
 
Getting Started with React, When You’re an Angular Developer
Fabrit Global
 
theory-slides-vueh3urh4ur4ur4r44oirj4riu4ri
paridhiagarwal129
 
React in Action 1st Edition Mark Tielens Thomas
nurizpochun
 
React & Flux Workshop
Christian Lilley
 
React In Action 1st Edition Mark Tielens Thomas
huulahlaji
 
[Final] ReactJS presentation
洪 鹏发
 
Tech Talk on ReactJS
Atlogys Technical Consulting
 
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
React - The JavaScript Library for User Interfaces
Jumping Bean
 
Introduction to ReactJS UI Web Dev .pptx
SHAIKIRFAN715544
 
React.js at Cortex
Geoff Harcourt
 
React in Action 1st Edition Mark Tielens Thomas
jyliyakainu
 
Introduction to React JS.pptx
SHAIKIRFAN715544
 
React js
Nikhil Karkra
 
Reactive web
dega1999
 
Ryan Christiani I Heard React Was Good
FITC
 
Introduction Web Development using ReactJS
ssuser8a1f37
 
ReactJS presentation.pptx
DivyanshGupta922023
 
Fundamental concepts of react js
StephieJohn
 
Ad

Recently uploaded (20)

PDF
The Origin - A Simple Presentation on any project
RishabhDwivedi43
 
PDF
Buy Verified Payoneer Accounts — The Ultimate Guide for 2025 (Rank #1 on Goog...
Buy Verified Cash App Accounts
 
PPTX
Melbourne_Keynote_June_19_2013_without_photos.pptx
BryInfanteRayos
 
PDF
From Draft to DSN - How to Get your Paper In [DSN 2025 Doctoral Forum Keynote]
vschiavoni
 
PDF
Jotform Presentation Agents: Use Cases and Examples
Jotform
 
PPTX
Great-Books. Powerpoint presentation. files
tamayocrisgie
 
DOC
STABILITY INDICATING METHOD DEVELOPMENT AND VALIDATION FOR SIMULTANEOUS ESTIM...
jmkeans624
 
DOCX
How Digital Marketplaces are Empowering Emerging MedTech Brands
Ram Gopal Varma
 
PPTX
presentation on legal and regulatory action
raoharsh4122001
 
PDF
Model Project Report_36DR_G&P.pdf for investors understanding
MeetAgrawal23
 
PDF
Committee-Skills-Handbook---MUNprep.org.pdf
SatvikAgarwal9
 
PPTX
STURGEON BAY WI AG PPT JULY 6 2025.pptx
FamilyWorshipCenterD
 
PDF
Planning the parliament of the future in greece – considerations for a data-d...
Dr. Fotios Fitsilis
 
PDF
Buy Verified Coinbase Accounts — The Ultimate Guide for 2025 (Rank #1 on Goog...
Buy Verified Cash App Accounts
 
PDF
Jotform Presentation Agents: Features and Benefits
Jotform
 
PPTX
INTRO-TO-EMPOWERMENT-TECHNOLGY grade 11 lesson
ReyAcosta8
 
PPTX
Unit 1, 2 & 3 - Pharmacognosy - Defn_history_scope.pptx
bagewadivarsha2024
 
PDF
The Family Secret (essence of loveliness)
Favour Biodun
 
PPTX
Lesson 1-3(Learners' copy).pptxucspctopi
KrizeAnneCorneja
 
PDF
The Impact of Game Live Streaming on In-Game Purchases of Chinese Young Game ...
Shibaura Institute of Technology
 
The Origin - A Simple Presentation on any project
RishabhDwivedi43
 
Buy Verified Payoneer Accounts — The Ultimate Guide for 2025 (Rank #1 on Goog...
Buy Verified Cash App Accounts
 
Melbourne_Keynote_June_19_2013_without_photos.pptx
BryInfanteRayos
 
From Draft to DSN - How to Get your Paper In [DSN 2025 Doctoral Forum Keynote]
vschiavoni
 
Jotform Presentation Agents: Use Cases and Examples
Jotform
 
Great-Books. Powerpoint presentation. files
tamayocrisgie
 
STABILITY INDICATING METHOD DEVELOPMENT AND VALIDATION FOR SIMULTANEOUS ESTIM...
jmkeans624
 
How Digital Marketplaces are Empowering Emerging MedTech Brands
Ram Gopal Varma
 
presentation on legal and regulatory action
raoharsh4122001
 
Model Project Report_36DR_G&P.pdf for investors understanding
MeetAgrawal23
 
Committee-Skills-Handbook---MUNprep.org.pdf
SatvikAgarwal9
 
STURGEON BAY WI AG PPT JULY 6 2025.pptx
FamilyWorshipCenterD
 
Planning the parliament of the future in greece – considerations for a data-d...
Dr. Fotios Fitsilis
 
Buy Verified Coinbase Accounts — The Ultimate Guide for 2025 (Rank #1 on Goog...
Buy Verified Cash App Accounts
 
Jotform Presentation Agents: Features and Benefits
Jotform
 
INTRO-TO-EMPOWERMENT-TECHNOLGY grade 11 lesson
ReyAcosta8
 
Unit 1, 2 & 3 - Pharmacognosy - Defn_history_scope.pptx
bagewadivarsha2024
 
The Family Secret (essence of loveliness)
Favour Biodun
 
Lesson 1-3(Learners' copy).pptxucspctopi
KrizeAnneCorneja
 
The Impact of Game Live Streaming on In-Game Purchases of Chinese Young Game ...
Shibaura Institute of Technology
 
Ad

Towards component based web UI with ReactJS