SlideShare una empresa de Scribd logo
Organiza tu front
con Dart y Polymer
Pablo González Doval
@dovaleacMADRID · NOV 27-28 · 2015
Pablo González Doval
@dovaleac
● Head of Development at
● Co-organizer@madriddug
https://github.com/pgdoval
Organización, claridad, estructura
BACK
FRONT
C Java JVM
Java 5, Java 6 Groovy, Scala...
@dovaleac @madriddug
<html>
<head>
<script type = “text/javascript”>
function cambiaColor(){
document.getElementById(“saludo”).color = “#F00”;
}
</script>
</head>
<body>
<div id = “saludo” onHover = “cambiaColor()”>
Hola Codemotion
</div>
</body>
Codemotion
@dovaleac @madriddug
Organización, claridad, estructura
BACK
FRONT
C Java JVM
Java 5, Java 6 Groovy, Scala...
JS
Dart
@dovaleac @madriddug
Benchmarks
Benchmarks provenientes de https://www.github.com/UnixPickle/benchmarks
Dart
Lenguaje OO moderno pensado para el front
@dovaleac @madriddug
Características de Dart
● OO moderno
● Código más limpio y claro
● Ejecución rápida
● Front + Back + Mobile
● Uso de bibliotecas JS
@dovaleac @madriddug
Todo en uno
Javascript
jQuery
Backbone
require
Phantom
Dart
@dovaleac @madriddug
Front en desarrollo
● DartVM
● Navegador Dartium
● WebStorm
@dovaleac @madriddug
Front en producción
● Dart2js
● pub build
● Tree-shaking
● Código JS fácil de debuggear
● Velocidad similar a la de JS
@dovaleac @madriddug
Polymer
Modularizando la web
@dovaleac @madriddug
Shadow DOM
● Zona del HTML accesible para el browser
● Inaccesible para el programador
● Oculta detalles de la implementación
@dovaleac @madriddug
WebComponents
● Encapsulan HTML, CSS y JS
● Plantillas
● Se pueden importar
● Modularización
@dovaleac @madriddug
Comunicando WebComponents
@dovaleac @madriddug
Comunicando WebComponents
Observando una variable (hijo emisor)
@dovaleac @madriddug
Comunicando WebComponents
Observando una variable (padre)
@dovaleac @madriddug
Comunicando WebComponents
Observando una variable (hijo receptor)
@dovaleac @madriddug
Comunicando WebComponents
@dovaleac @madriddug
Comunicando WebComponents
Reaccionando al cambio en una variable (hijo emisor)
@dovaleac @madriddug
Comunicando WebComponents
Reaccionando al cambio en una variable (padre)
@dovaleac @madriddug
Comunicando WebComponents
Reaccionando al cambio en una variable (hijo receptor)
@dovaleac @madriddug
Iron elements
● iron-selector, iron-input
● iron-ajax
● iron-flex-layout
@dovaleac @madriddug
@dovaleac @madriddug
Conclusiones
Uso recomendable de Dart
● Backfront aprovecha sus capacidades
● Polymer 0.5
● Polymer 1.0
● Angular
@dovaleac @madriddug
Conclusiones
Uso recomendable de Polymer
● Buscar WebComponents reusables
● Background personal de WebComponents
● Separación de roles: senior vs junior
● Separación de roles: programador vs artista
@dovaleac @madriddug
Conclusiones
Cosas que yo no haría
● Usar Dart para el back
● Un WebComponent por página
● WebComponents no reusables
@dovaleac @madriddug
Gracias!!!
@dovaleac @madriddug

Más contenido relacionado

Similar a Organiza tu front con dart y polymer

Django
DjangoDjango
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Iván López Martín
 
Grails barcamp 2013
Grails barcamp 2013Grails barcamp 2013
Grails barcamp 2013
Carlos Camacho
 
Python scraping
Python scrapingPython scraping
Python scraping
Diego Lopez
 
Node para Javeros: Conoce a tu enemigo
Node para Javeros: Conoce a tu enemigoNode para Javeros: Conoce a tu enemigo
Node para Javeros: Conoce a tu enemigo
Micael Gallego
 
Descripción del Primer FrameWork Challenges realizado en Wayra en el año 2012
Descripción del Primer FrameWork Challenges realizado en Wayra en el año 2012Descripción del Primer FrameWork Challenges realizado en Wayra en el año 2012
Descripción del Primer FrameWork Challenges realizado en Wayra en el año 2012
Elkin Garavito Beltran
 
Workshop DSL 2011 - Desarrollo jQuery
Workshop DSL 2011 - Desarrollo jQueryWorkshop DSL 2011 - Desarrollo jQuery
Workshop DSL 2011 - Desarrollo jQuery
Rodrigo Ayala
 
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
Iván López Martín
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
PHP Vigo
 
Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8
Pakman Lh
 
Protocol Buffer Fantásticos y donde encontrarlos
Protocol Buffer Fantásticos y donde encontrarlosProtocol Buffer Fantásticos y donde encontrarlos
Protocol Buffer Fantásticos y donde encontrarlos
Katia Aresti
 
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Iván López Martín
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
csalazart
 
Groovy AST Demystified
Groovy AST DemystifiedGroovy AST Demystified
Groovy AST Demystified
Andres Almiray
 
Introducción a HTML5 y CSS3 AWGR
Introducción a HTML5 y CSS3 AWGRIntroducción a HTML5 y CSS3 AWGR
Introducción a HTML5 y CSS3 AWGR
valgreens
 
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
nacho mascort
 
Bootstrap, un framework CSS
Bootstrap, un framework CSSBootstrap, un framework CSS
Bootstrap, un framework CSS
Adolfo Sanz De Diego
 
Arquitectura
Arquitectura Arquitectura
Arquitectura
Antonio Manuel
 
Introducción a groovy
Introducción a groovyIntroducción a groovy
Introducción a groovy
Donewtech Solutions
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
Micael Gallego
 

Similar a Organiza tu front con dart y polymer (20)

Django
DjangoDjango
Django
 
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
 
Grails barcamp 2013
Grails barcamp 2013Grails barcamp 2013
Grails barcamp 2013
 
Python scraping
Python scrapingPython scraping
Python scraping
 
Node para Javeros: Conoce a tu enemigo
Node para Javeros: Conoce a tu enemigoNode para Javeros: Conoce a tu enemigo
Node para Javeros: Conoce a tu enemigo
 
Descripción del Primer FrameWork Challenges realizado en Wayra en el año 2012
Descripción del Primer FrameWork Challenges realizado en Wayra en el año 2012Descripción del Primer FrameWork Challenges realizado en Wayra en el año 2012
Descripción del Primer FrameWork Challenges realizado en Wayra en el año 2012
 
Workshop DSL 2011 - Desarrollo jQuery
Workshop DSL 2011 - Desarrollo jQueryWorkshop DSL 2011 - Desarrollo jQuery
Workshop DSL 2011 - Desarrollo jQuery
 
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
 
Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8Twig y otros "themas" en Drupal 8
Twig y otros "themas" en Drupal 8
 
Protocol Buffer Fantásticos y donde encontrarlos
Protocol Buffer Fantásticos y donde encontrarlosProtocol Buffer Fantásticos y donde encontrarlos
Protocol Buffer Fantásticos y donde encontrarlos
 
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
 
Groovy AST Demystified
Groovy AST DemystifiedGroovy AST Demystified
Groovy AST Demystified
 
Introducción a HTML5 y CSS3 AWGR
Introducción a HTML5 y CSS3 AWGRIntroducción a HTML5 y CSS3 AWGR
Introducción a HTML5 y CSS3 AWGR
 
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
Scraping avanzado o Cómo hacer de internet tu base de datos #seoplus2018
 
Bootstrap, un framework CSS
Bootstrap, un framework CSSBootstrap, un framework CSS
Bootstrap, un framework CSS
 
Arquitectura
Arquitectura Arquitectura
Arquitectura
 
Introducción a groovy
Introducción a groovyIntroducción a groovy
Introducción a groovy
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
 

Último

Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 

Último (7)

Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 

Organiza tu front con dart y polymer