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

PDF
Use groovy & grails in your spring boot projects
PDF
React native in the wild @ Codemotion 2016 in Rome
PDF
WilmingtonJS - React Native Under the Hood
PPTX
Building Reliable Applications Using React, .NET & Azure
PDF
GR8Conf 2015 - Spring Boot and Groovy. What more do you need?
PPTX
React Django Presentation
PDF
Daniel Steigerwald - Este.js - konec velkého Schizma
PPTX
GWTcon 2015 - Best development practices for GWT web applications
Use groovy & grails in your spring boot projects
React native in the wild @ Codemotion 2016 in Rome
WilmingtonJS - React Native Under the Hood
Building Reliable Applications Using React, .NET & Azure
GR8Conf 2015 - Spring Boot and Groovy. What more do you need?
React Django Presentation
Daniel Steigerwald - Este.js - konec velkého Schizma
GWTcon 2015 - Best development practices for GWT web applications

What's hot (20)

PPTX
Debugging Grails Database Performance
PDF
Meetup React Sanca - 29/11/18 - React Testing
PPTX
.ASP NET CORE ON DOCKER
PDF
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
PPTX
Geb+spock: let your functional tests live long and prosper
PDF
Groovy in the Cloud
PDF
Developing faster than ever (Liferay DEVCON 2017)
PDF
Magento Continuous Integration & Continuous Delivery @MM17HR
PPTX
Angular 1.5 Components
PDF
Alexey Kupriyanenko "Release Early, Often, Stable"
PDF
GradleのREPLプラグイン紹介 #jggug
PDF
JHipster, modern web application development made easy
PDF
Experiences building apps with React Native @DomCode 2016
PDF
Grunt js and WordPress
PDF
End-to-end HTML5 APIs - The Geek Gathering 2013
PDF
markedj: The best of markdown processor on JVM
PDF
Javaone - Gradle: Harder, Better, Stronger, Faster
PPS
Groovy & Grails
PDF
Javascript toolkit
PDF
Continuous operations in AWS
Debugging Grails Database Performance
Meetup React Sanca - 29/11/18 - React Testing
.ASP NET CORE ON DOCKER
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
Geb+spock: let your functional tests live long and prosper
Groovy in the Cloud
Developing faster than ever (Liferay DEVCON 2017)
Magento Continuous Integration & Continuous Delivery @MM17HR
Angular 1.5 Components
Alexey Kupriyanenko "Release Early, Often, Stable"
GradleのREPLプラグイン紹介 #jggug
JHipster, modern web application development made easy
Experiences building apps with React Native @DomCode 2016
Grunt js and WordPress
End-to-end HTML5 APIs - The Geek Gathering 2013
markedj: The best of markdown processor on JVM
Javaone - Gradle: Harder, Better, Stronger, Faster
Groovy & Grails
Javascript toolkit
Continuous operations in AWS
Ad

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

PPTX
001. Introduction about React
PDF
Integrating react in django while staying sane and happy
PDF
Meteor + React
PPTX
Oracle JET and React Frontends.pptx
PPTX
Web summit.pptx
PDF
Angular (v2 and up) - Morning to understand - Linagora
PDF
Angular 2 vs React
PDF
GraphQL vs. (the) REST
PDF
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
PDF
Reconciling ReactJS as a View Layer Replacement (MidwestJS 2014)
PDF
MidwestJS 2014 Reconciling ReactJS as a View Layer Replacement
PPTX
Single Page Application JS Framework Round up
PDF
React.js alternatives modern web frameworks and lightweight java script libr...
PPTX
GraphQL-ify your APIs - Devoxx UK 2021
PPTX
What is Mean Stack Development ?
PPTX
GDG Workshop on React (By Aakanksha Rai)
PDF
Angular, the New Angular JS
PPTX
Mean stack
PPTX
React for .net developers
PPTX
Building a REST API Microservice for the DevNet API Scavenger Hunt
001. Introduction about React
Integrating react in django while staying sane and happy
Meteor + React
Oracle JET and React Frontends.pptx
Web summit.pptx
Angular (v2 and up) - Morning to understand - Linagora
Angular 2 vs React
GraphQL vs. (the) REST
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
Reconciling ReactJS as a View Layer Replacement (MidwestJS 2014)
MidwestJS 2014 Reconciling ReactJS as a View Layer Replacement
Single Page Application JS Framework Round up
React.js alternatives modern web frameworks and lightweight java script libr...
GraphQL-ify your APIs - Devoxx UK 2021
What is Mean Stack Development ?
GDG Workshop on React (By Aakanksha Rai)
Angular, the New Angular JS
Mean stack
React for .net developers
Building a REST API Microservice for the DevNet API Scavenger Hunt
Ad

Recently uploaded (20)

PPTX
AcademyNaturalLanguageProcessing-EN-ILT-M02-Introduction.pptx
PPTX
Effective_Handling_Information_Presentation.pptx
PDF
Nykaa-Strategy-Case-Fixing-Retention-UX-and-D2C-Engagement (1).pdf
PPTX
fundraisepro pitch deck elegant and modern
PPTX
nose tajweed for the arabic alphabets for the responsive
PPTX
_ISO_Presentation_ISO 9001 and 45001.pptx
PPTX
Project and change Managment: short video sequences for IBA
PPTX
INTERNATIONAL LABOUR ORAGNISATION PPT ON SOCIAL SCIENCE
PPTX
Tablets And Capsule Preformulation Of Paracetamol
DOCX
"Project Management: Ultimate Guide to Tools, Techniques, and Strategies (2025)"
PPTX
The spiral of silence is a theory in communication and political science that...
PPTX
Tour Presentation Educational Activity.pptx
PPTX
Learning-Plan-5-Policies-and-Practices.pptx
DOCX
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
PPTX
BIOLOGY TISSUE PPT CLASS 9 PROJECT PUBLIC
PPTX
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
PPTX
An Unlikely Response 08 10 2025.pptx
PPTX
Emphasizing It's Not The End 08 06 2025.pptx
PDF
Why Top Brands Trust Enuncia Global for Language Solutions.pdf
PPTX
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges
AcademyNaturalLanguageProcessing-EN-ILT-M02-Introduction.pptx
Effective_Handling_Information_Presentation.pptx
Nykaa-Strategy-Case-Fixing-Retention-UX-and-D2C-Engagement (1).pdf
fundraisepro pitch deck elegant and modern
nose tajweed for the arabic alphabets for the responsive
_ISO_Presentation_ISO 9001 and 45001.pptx
Project and change Managment: short video sequences for IBA
INTERNATIONAL LABOUR ORAGNISATION PPT ON SOCIAL SCIENCE
Tablets And Capsule Preformulation Of Paracetamol
"Project Management: Ultimate Guide to Tools, Techniques, and Strategies (2025)"
The spiral of silence is a theory in communication and political science that...
Tour Presentation Educational Activity.pptx
Learning-Plan-5-Policies-and-Practices.pptx
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
BIOLOGY TISSUE PPT CLASS 9 PROJECT PUBLIC
Presentation for DGJV QMS (PQP)_12.03.2025.pptx
An Unlikely Response 08 10 2025.pptx
Emphasizing It's Not The End 08 06 2025.pptx
Why Top Brands Trust Enuncia Global for Language Solutions.pdf
Role and Responsibilities of Bangladesh Coast Guard Base, Mongla Challenges

Towards component based web UI with ReactJS