SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
React	JS
ALFREDO	BONILLA	@BROLAG
DANNY	MORA		@ARGOSBASS
DRUPAL	CAMP	COSTA	RICA
2016
Una	mirada	al	ecosistema	actual…
Existen	varias	librerías/frameworks para	front end que	se	
encargan	de:
o Gestión	de	modelo
o Enrutamiento
o Comunicación	con	el	servidor
o Composición	 app	y	arquitectura
o Rendering UI	*
o Eventos	UI	*
¿Qué	es	React?
o React	es	una	librería	de	código	abierto	escrita	en	JavaScript,	mantenida	por	
Facebook.
o Sirve	para	crear	aplicaciones de	tipo	SPA	cuyos	datos	cambian	a	través	del	
tiempo.
o Su	objetivo	es	ser	sencilla,	declarativa,	y	fácil	de	combinar.
¿Por	qué	utilizar	React?
o Ofrece	grandes	beneficios	en	modularidady	desempeño gracias	al	DOM	
Virtual.
o Beneficia	el	desarrollo	orientado	a	componentes	reutilizables.
o Tiene	gran	aceptación	por	parte	de	la	comunidad	de	desarrolladores.
DOM	Virtual
o Es	una	representación	del	DOM	ubicada	en	memoria.
o Previene	manipular	innecesariamente	el	DOM,	ya	que	es	muy	costoso.
o React	hace	una	comparativa	(diff)	entre	el	DOM	actual	y	el	DOM	Virtual	para	
conocer	que	partes	cambiaron	y	solamente	actualizar	estas	partes.
o Comparar	el	DOM	con	el	DOM	virtual	no	es	costoso	y	permite	realizar	el	
menor	numero	de	operaciones	necesarias	para	actualizar	el	DOM	real.
JSX
o Es	una	extensión	de	JavaScript	similar	a	XML.
o Es	propia	de	React.
o Permite	utilizar	etiquetas	dentro	del	código	JavaScript.	Su	uso	no	es	
obligatorio	pero	es	recomendable.
o Permite	definir	bindings({})	unidireccionales.
o React	NO	soporta	bindingsbidireccionales.
JSX
JSX	vs	JavaScript	puro
¿Cómo pensar	al	estilo	React?
1. Definir	un	bosquejo.
2. Dividir	en	una	jerarquía	de	componentes.
3. Construir	una	versión	estática	en	React.
4. Definir	el	estado	mínimo	inicial	del	estado	de	la	
interface.	Ejemplo:	la	lista	original	de	productos,	los	
valores	de	los	checkbox marcados	por	defecto.
5. Definir	donde	debe	vivir	el	estado.
6. Definir	el	flujo	de	datos	inverso	(setState()).
Componentes
o Idea	central	de	React
§ Método	Render:	debe	devolver	un	nodo.
§ Propiedades:	valores	inmutables	asociados	a	un	componente
o El	método	render regenera	todo	el	DOM	del	componente
Propiedades
o Parte	inmutable	de	un	componente.
o Se	pasan	al	componente	al	usar	el	tags JSX	para	instanciarlo
§ <Mycomponente prop1=""	prop2={}	/>
Validación	de	propiedades
o Por	tipo.
o Por	obligatoriedad:				
§ React.PropTypes.string.isRequired
o Por	valores:
§ React.Proptypes.oneOf([	'valor1'	,	'valor2'	])
o Validación	personalizada.
Estado
o Parte	mutable	de	un	componente
o El	componente	accede	mediante	this.state
o REGLA	DE	ORO
§ Intentar	hacer	siempre	tus	componentes	sin	estado.
Composición
o Un	componente	puede	instanciar	en	su	función	render a	otro	componente.
o El	componente	instanciado	pertenece	al	componente	que	le	instancia.
o El	estado	de	un	componente	padre	puede	ser	recibido	como	propiedades	en	
el	componente	hijo.
Ejemplos
https://github.com/argosbass/reactdrupalcamp16
Comunidad
Costa	Rica	JS
http://costaricajs.co/
Drupal	CR
https://www.facebook.com/drupalcostarica/
Oportunidades	de	empleo
React
NodeJS
React	Native
Meteor
alfredo.bonilla@salsamobi.com
¿Preguntas?
MUCHAS	GRACIAS
@brolag
@argosbass

Más contenido relacionado

Similar a React - Drupal Camp 2016

La Web 2
La  Web 2La  Web 2
La Web 2rosita
 
EducacióN BáSica
EducacióN BáSicaEducacióN BáSica
EducacióN BáSicarosita
 
Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebMiguel Angel Macias
 
Frameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuroFrameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuroBBVA API Market
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJSLuis Natividad
 
Israel tecnologias para desarrollo-web
Israel tecnologias para desarrollo-webIsrael tecnologias para desarrollo-web
Israel tecnologias para desarrollo-webimei_02
 
Plataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones webPlataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones webFreelance
 
Sanchez pamela y su trabajo escolar final
Sanchez pamela y su trabajo escolar finalSanchez pamela y su trabajo escolar final
Sanchez pamela y su trabajo escolar finalManuelDeJesusRodrigu6
 
GWT y SmartGWT - Introducción
GWT y SmartGWT - IntroducciónGWT y SmartGWT - Introducción
GWT y SmartGWT - IntroducciónVLASLOV
 
React-Framework Exposicion sobre React, composiciones etc.
React-Framework Exposicion sobre React, composiciones etc.React-Framework Exposicion sobre React, composiciones etc.
React-Framework Exposicion sobre React, composiciones etc.joseluisflorespaez
 
Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAHelmilpa
 
PHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajesPHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajesHéctor Garduño Real
 

Similar a React - Drupal Camp 2016 (20)

Hypo slides
Hypo slidesHypo slides
Hypo slides
 
La Web 2
La  Web 2La  Web 2
La Web 2
 
EducacióN BáSica
EducacióN BáSicaEducacióN BáSica
EducacióN BáSica
 
Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías Web
 
Net Beans
Net BeansNet Beans
Net Beans
 
Meteor + React
Meteor + ReactMeteor + React
Meteor + React
 
Frameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuroFrameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuro
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJS
 
Spring framework
Spring frameworkSpring framework
Spring framework
 
Israel tecnologias para desarrollo-web
Israel tecnologias para desarrollo-webIsrael tecnologias para desarrollo-web
Israel tecnologias para desarrollo-web
 
Plataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones webPlataformas para el desarrollo de aplicaciones web
Plataformas para el desarrollo de aplicaciones web
 
Arquitectura web
Arquitectura webArquitectura web
Arquitectura web
 
Sanchez pamela y su trabajo escolar final
Sanchez pamela y su trabajo escolar finalSanchez pamela y su trabajo escolar final
Sanchez pamela y su trabajo escolar final
 
GWT y SmartGWT - Introducción
GWT y SmartGWT - IntroducciónGWT y SmartGWT - Introducción
GWT y SmartGWT - Introducción
 
React-Framework Exposicion sobre React, composiciones etc.
React-Framework Exposicion sobre React, composiciones etc.React-Framework Exposicion sobre React, composiciones etc.
React-Framework Exposicion sobre React, composiciones etc.
 
Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVA
 
Laboratorio de programación II
Laboratorio de programación IILaboratorio de programación II
Laboratorio de programación II
 
PHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajesPHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajes
 
Qué es java
Qué es javaQué es java
Qué es java
 

Último

Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSBeatrizGonzales19
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptxEncomiendasElSherpa
 
Trabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaTrabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaKANTUPAULAPORCELYUCR
 
Caso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralCaso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralAitana
 
Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfGuillermoBarquero7
 

Último (6)

Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
 
Trabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaTrabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - Ofimática
 
Caso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralCaso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business Central
 
Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
 

React - Drupal Camp 2016