SlideShare una empresa de Scribd logo
1 de 21
Aplicaciones Modernas
REACT.JS
Octavio Luna
@tavo_luna@Itaqua
Desarrollador, Geek, OCD y
Fisico-Matemático de hobbie,
Programación Funcional y Procesos de Negocio
REACT.JS
Octavio Luna
@tavo_luna@Itaqua
Gerente de Desarrollo de Software
Unlimited Vacation Club by AM Resorts
(http://www.unlimitedvacationclub.com/)
Fellow Developer para NavigatorMD
( http://www.navigatormd.com/)
REACT.JS
@tavo_luna@Itaqua
REACT.JS
Octavio Luna
@tavo_luna@Itaqua
Miembro del Tequila Valley Cancun Group (TQV)
campist 2013: Scala Un lenguaje para la era del Multiprocesad
(http://es.slideshare.net/octavio_luna/scala-un-lenguaje-para-multiprocesador)
Contributor to Asterisk-Java API Interface
(https://github.com/asterisk-java/asterisk-java)
REACT.JS
@tavo_luna@Itaqua
FRAMEWORKS
REACT.JS
@tavo_luna@Itaqua
W T F …ramework
REACT.JS
@tavo_luna@Itaqua
REACT.JS
@tavo_luna@Itaqua
REACT.JS
@tavo_luna@Itaqua
https://facebook.github.io/react/
REACT.JS
@tavo_luna@Itaqua
W T F
REACT.JS
@tavo_luna@Itaqua
W
T
F
HY
his
ramework
REACT.JS
@tavo_luna@Itaqua
• Es la V en un MVC
• Amigable con SEO
• Los componentes son el Futuro de la Red
• Extremadamente eficiente (gracias al DOM
virtual)
• Mucha retroalimentación al Desarrollador
REACT.JS
@tavo_luna@Itaqua
• La mutabilidad es la raíz de todos los Males.
• Puede colaborar con otros Frameworks y otras
librerías (mientras no alteres el DOM)
• Permite migrar una aplicación existente poco a
poco
• Facebook lo usa y mantiene, así que no se ira
pronto.
REACT.JS
@tavo_luna@Itaqua
var HelloMessage = React.createClass({
render: function() {
return <div>Hola {this.props.name}</div>;
}
});
React.render(
<HelloMessage name="Octavio" />,
document.getElementById('example')
);
JSX
REACT.JS
@tavo_luna@Itaqua
var HelloMessage = React.createClass({
displayName: "HelloMessage",
render: function render() {
return React.createElement(
"div",
null,
"Hola ",
this.props.name
);
}
});
React.render(
React.createElement(HelloMessage, { name: "Octavio" }),
document.getElementById('example')
);
Javascript
REACT.JS
@tavo_luna@Itaqua
var Timer = React.createClass({
getInitialState: function() {
return {secondsElapsed: 0};
},
tick: function() {
this.setState({secondsElapsed: this.state.secondsElapsed + 1});
},
componentDidMount: function() {
this.interval = setInterval(this.tick, 1000);
},
componentWillUnmount: function() {
clearInterval(this.interval);
},
render: function() {
return (
<div>Seconds Elapsed: {this.state.secondsElapsed}</div>
);
}
});
React.render(<Timer />, document.getElementById('example'));
Statefull Component
REACT.JS
@tavo_luna@Itaqua
Ampersand.js
Especificación del
Componente
• render
• getInitialState
• getDefaultProps
• propTypes
• mixins
• statics
• displayName
REACT.JS
@tavo_luna@Itaqua
Ciclo de Vida del
Componente
• Montaje
• componentWillMount
• componentDidMount
• Desmontaje
• componentWillUnmount
REACT.JS
@tavo_luna@Itaqua
• Actualización
• componentWillReceiveProps
• shouldComponentUpdate
• componentWillUpdate
• componentDidUpdate
REACT.JS
@tavo_luna@Itaqua
• Es importante que elijas tu arquitectura en un
inicio
• Cada vez se verán mas SPAs
GRACIAS

Más contenido relacionado

Destacado

ISTE Ignite: Educating digital youth
ISTE Ignite: Educating digital youthISTE Ignite: Educating digital youth
ISTE Ignite: Educating digital youthTech with Intent
 
Big Data & Security Have Collided - What Are You Going to do About It?
Big Data & Security Have Collided - What Are You Going to do About It?Big Data & Security Have Collided - What Are You Going to do About It?
Big Data & Security Have Collided - What Are You Going to do About It?EMC
 
The Impact of Music & Artists
The Impact of Music & ArtistsThe Impact of Music & Artists
The Impact of Music & ArtistsResearch Now
 
PyCon PL 2014 executable api
PyCon PL 2014   executable apiPyCon PL 2014   executable api
PyCon PL 2014 executable apiWojtek Erbetowski
 
Virtualization 2.0: The Next Generation of Virtualization
Virtualization 2.0: The Next Generation of VirtualizationVirtualization 2.0: The Next Generation of Virtualization
Virtualization 2.0: The Next Generation of VirtualizationEMC
 
Fenice display system
Fenice display systemFenice display system
Fenice display systemgruppofallani
 
April Webinar: Sample Balancing in 2012
April Webinar: Sample Balancing in 2012April Webinar: Sample Balancing in 2012
April Webinar: Sample Balancing in 2012Research Now
 
福音的開始、中斷與振興 景高
福音的開始、中斷與振興 景高福音的開始、中斷與振興 景高
福音的開始、中斷與振興 景高zenixls2
 
Intelligence Driven Threat Detection and Response
Intelligence Driven Threat Detection and ResponseIntelligence Driven Threat Detection and Response
Intelligence Driven Threat Detection and ResponseEMC
 
Linux kursu-maltepe
Linux kursu-maltepeLinux kursu-maltepe
Linux kursu-maltepesersld67
 
Law of demand 2014
Law of demand 2014Law of demand 2014
Law of demand 2014Travis Klein
 
Spending multipliers
Spending multipliersSpending multipliers
Spending multipliersTravis Klein
 
White Paper: Integrated Computing Platforms - Infrastructure Builds for Tomor...
White Paper: Integrated Computing Platforms - Infrastructure Builds for Tomor...White Paper: Integrated Computing Platforms - Infrastructure Builds for Tomor...
White Paper: Integrated Computing Platforms - Infrastructure Builds for Tomor...EMC
 
Linux kursu-basaksehir
Linux kursu-basaksehirLinux kursu-basaksehir
Linux kursu-basaksehirsersld67
 

Destacado (19)

Tue law of demand
Tue law of demandTue law of demand
Tue law of demand
 
Portfolio
PortfolioPortfolio
Portfolio
 
ISTE Ignite: Educating digital youth
ISTE Ignite: Educating digital youthISTE Ignite: Educating digital youth
ISTE Ignite: Educating digital youth
 
Big Data & Security Have Collided - What Are You Going to do About It?
Big Data & Security Have Collided - What Are You Going to do About It?Big Data & Security Have Collided - What Are You Going to do About It?
Big Data & Security Have Collided - What Are You Going to do About It?
 
The Impact of Music & Artists
The Impact of Music & ArtistsThe Impact of Music & Artists
The Impact of Music & Artists
 
PyCon PL 2014 executable api
PyCon PL 2014   executable apiPyCon PL 2014   executable api
PyCon PL 2014 executable api
 
Virtualization 2.0: The Next Generation of Virtualization
Virtualization 2.0: The Next Generation of VirtualizationVirtualization 2.0: The Next Generation of Virtualization
Virtualization 2.0: The Next Generation of Virtualization
 
Fenice display system
Fenice display systemFenice display system
Fenice display system
 
April Webinar: Sample Balancing in 2012
April Webinar: Sample Balancing in 2012April Webinar: Sample Balancing in 2012
April Webinar: Sample Balancing in 2012
 
福音的開始、中斷與振興 景高
福音的開始、中斷與振興 景高福音的開始、中斷與振興 景高
福音的開始、中斷與振興 景高
 
Intelligence Driven Threat Detection and Response
Intelligence Driven Threat Detection and ResponseIntelligence Driven Threat Detection and Response
Intelligence Driven Threat Detection and Response
 
Linux kursu-maltepe
Linux kursu-maltepeLinux kursu-maltepe
Linux kursu-maltepe
 
Checklist
ChecklistChecklist
Checklist
 
Law of demand 2014
Law of demand 2014Law of demand 2014
Law of demand 2014
 
Spending multipliers
Spending multipliersSpending multipliers
Spending multipliers
 
El paisaje holandes
El paisaje holandesEl paisaje holandes
El paisaje holandes
 
White Paper: Integrated Computing Platforms - Infrastructure Builds for Tomor...
White Paper: Integrated Computing Platforms - Infrastructure Builds for Tomor...White Paper: Integrated Computing Platforms - Infrastructure Builds for Tomor...
White Paper: Integrated Computing Platforms - Infrastructure Builds for Tomor...
 
Linux kursu-basaksehir
Linux kursu-basaksehirLinux kursu-basaksehir
Linux kursu-basaksehir
 
Jump start your application monitoring with APM
Jump start your application monitoring with APMJump start your application monitoring with APM
Jump start your application monitoring with APM
 

Similar a Aplicaciones modernas con React.js

Java Day Santiago RD 2015
Java Day Santiago RD 2015Java Day Santiago RD 2015
Java Day Santiago RD 2015Eudris Cabrera
 
Presentacion de JavaFx Webinar Peru - UPSB
Presentacion de JavaFx Webinar Peru - UPSBPresentacion de JavaFx Webinar Peru - UPSB
Presentacion de JavaFx Webinar Peru - UPSBRenzo Delgado
 
Mirando a Alfresco desde Minecraft
Mirando a Alfresco desde MinecraftMirando a Alfresco desde Minecraft
Mirando a Alfresco desde MinecraftAngel Borroy López
 
Scratch guiareferencia 2.0
Scratch guiareferencia 2.0Scratch guiareferencia 2.0
Scratch guiareferencia 2.0ie_macias
 
Scratch guiareferencia
Scratch guiareferenciaScratch guiareferencia
Scratch guiareferenciaportuguesa80
 
Scratch guiareferencia
Scratch guiareferenciaScratch guiareferencia
Scratch guiareferenciacarmen_torrano
 
Scratch guía referencia 2013
Scratch guía referencia  2013Scratch guía referencia  2013
Scratch guía referencia 2013luz deluna
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)UTN
 
Flujo de trabajo con air y android
Flujo de trabajo con air y androidFlujo de trabajo con air y android
Flujo de trabajo con air y androidFrancisco Granados
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EEanyeni
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EEAnyeni Garay
 
COMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORCOMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORJOSELINE
 
Informe proyecto final programacion i (2)
Informe proyecto final programacion i (2)Informe proyecto final programacion i (2)
Informe proyecto final programacion i (2)CRISSTHOFER
 
Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015Carlos Azaustre
 

Similar a Aplicaciones modernas con React.js (20)

Java Day Santiago RD 2015
Java Day Santiago RD 2015Java Day Santiago RD 2015
Java Day Santiago RD 2015
 
Osum
OsumOsum
Osum
 
Presentacion de JavaFx Webinar Peru - UPSB
Presentacion de JavaFx Webinar Peru - UPSBPresentacion de JavaFx Webinar Peru - UPSB
Presentacion de JavaFx Webinar Peru - UPSB
 
Atix21
Atix21Atix21
Atix21
 
Mirando a Alfresco desde Minecraft
Mirando a Alfresco desde MinecraftMirando a Alfresco desde Minecraft
Mirando a Alfresco desde Minecraft
 
Programación reactiva con java
Programación reactiva con javaProgramación reactiva con java
Programación reactiva con java
 
Scratch guiareferencia 2.0
Scratch guiareferencia 2.0Scratch guiareferencia 2.0
Scratch guiareferencia 2.0
 
Scratch guiareferencia
Scratch guiareferenciaScratch guiareferencia
Scratch guiareferencia
 
Scratch guiareferencia
Scratch guiareferenciaScratch guiareferencia
Scratch guiareferencia
 
Scratch guía referencia 2013
Scratch guía referencia  2013Scratch guía referencia  2013
Scratch guía referencia 2013
 
Scratch guiareferencia
Scratch guiareferenciaScratch guiareferencia
Scratch guiareferencia
 
Scratch guiareferencia
Scratch guiareferenciaScratch guiareferencia
Scratch guiareferencia
 
Java
JavaJava
Java
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)
 
Flujo de trabajo con air y android
Flujo de trabajo con air y androidFlujo de trabajo con air y android
Flujo de trabajo con air y android
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EE
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EE
 
COMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORCOMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADOR
 
Informe proyecto final programacion i (2)
Informe proyecto final programacion i (2)Informe proyecto final programacion i (2)
Informe proyecto final programacion i (2)
 
Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015
 

Aplicaciones modernas con React.js