SlideShare une entreprise Scribd logo
1  sur  29
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

Contenu connexe

Similaire à Organiza tu front con dart y polymer

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
 
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 enemigoMicael 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 2012Elkin Garavito Beltran
 
Workshop DSL 2011 - Desarrollo jQuery
Workshop DSL 2011 - Desarrollo jQueryWorkshop DSL 2011 - Desarrollo jQuery
Workshop DSL 2011 - Desarrollo jQueryRodrigo 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 PHPVigoPHP 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 8Pakman 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 encontrarlosKatia 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 symfonycsalazart
 
Groovy AST Demystified
Groovy AST DemystifiedGroovy AST Demystified
Groovy AST DemystifiedAndres 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 AWGRvalgreens
 
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 #seoplus2018nacho mascort
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Micael Gallego
 

Similaire à 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
 

Organiza tu front con dart y polymer