Polymer Summit 2017, por nuestros sngulares Virginia, César y Pepe

Este verano, los días 22 y 23 de Agosto se desarrolló el Polymer Summit 2017 en el centro de conferencias Lokomotiv de Copenhague como escenario en donde antiguamente funcionaba un un taller de trenes. Como todos los años, hemos estado allí y después de reflexionar sobre las charlas, nos toca compartir las impresiones con todos vosotros

Normalmente Polymer aprovecha este evento para lanzar una preview para desarrolladores de las novedades que tienen preparadas para el próximo año. Así los desarrolladores puedan empezar a familiarizarse con éstas y comentar mejoras o problemas que encuentren. Este año, Wendy Ginsberg junto con Fred Schott, uno de los desarrolladores de las herramientas de Polymer, nos anunciaban el lanzamiento de Polymer 3.0.

Entre las novedades de Polymer 3.0 se encuentra la implementación de npm como administrador de dependencias aprovechando que está creciendo mucho estos últimos años y que el uso de bower está quedando deprecado. Para poder continuar gestionando los conflictos e instalar el árbol de dependencias, se han decidido por Yarn, otro cliente npm.

Otra de las novedades es la sustitución de los import HTML por ES Modules en la búsqueda de una experiencia nativa y del cumplimiento de las especificaciones de los navegadores. De hecho ni Safari, ni Firefox, ni Internet Explorer soportan los HTML imports, lo que hace que con este cambio no sean necesarios ya el uso de los Polyfill. Pero esto supone que la estructura de componente en un HTML se lleva a una estructura enteramente en JavaScript,  tal y como hacen ya Vue y React. Ahora el HTML se debe inyectar como String dentro de las clases. Estos cambios no han gustado por igual todo el mundo, dado que una de las cosas que ha atraído de Polymer desde el principio es precisamente el poder tener el HTML por un lado con los estilos y el JS por otro, todo bien diferenciado, haciéndolo más fácil de entender y dando al desarrollador una experiencia visual más atractiva.

Para facilitar el paso a Polymer 3.0 también anunciaban el desarrollo de una nueva herramienta, el “Polymer Modulizer” para pasar los componentes automáticamente a Polymer 3.0. Esta herramienta genera el package.json, mapea las dependencias para pasarlas a npm, convierte HTML imports en ES modules y modifica los test. De hecho, anunciaron al final de la charla que los 95 componentes de Polymer se habían pasado a Polymer 3.0 y estaban accesibles en npm ese mismo día.

La charla finalizaba con una tabla que contenía los próximos pasos a seguir: Entre Septiembre y Octubre se mejorarán los elementos modularizados, se preparará el Polymer 3.0 CLI y las herramientas de soporte, y entre Noviembre y Diciembre empezará el soporte de los elementos ya modularizados. Además, a lo largo de todos esos meses se continuará añadiendo tutoriales, documentación etc.

¿De qué trataron las charlas? Muchas de ellas profundizaron en la nueva versión de Polymer, pero también se habló de cómo usar mejor la librería, de algunos temas actuales como el renderizado del lado del cliente y de la plataforma. También hubo espacio para la experiencia de las empresas usando Polymer.

Dado que esta nueva versión supone un gran impacto para las aplicaciones que usan la librería, en la parte dedicada a cómo usar Polymer 3.0., quisieron profundizar en las ventajas de su uso, explicando cómo hacer los componentes más rápidos usando las nuevas plantillas (ver charla), o cómo facilitar su uso a través de ES6 (ver charla). En relación con ES6 también explicaron cómo funcionan los módulos en el mundo real (ver charla).

Sobre el desarrollo actual con Polymer explicaron la manera de hacer mejores Custom Elements (ver charla) o cómo desarrollar aplicaciones end to end, usando Redux, el PRPL pattern y el prpl-server-node (ver charla).

Todos los desarrolladores que trabajan con Polymer conocen el lema “use the platform”; para reforzar esa idea nos explicaron qué es, dónde conocer sus especificaciones y quién las decide (ver charla). También nos contaron algo de su historia desde el punto de vista técnico (ver charla).

El render de lado del servidor, sobre todo a nivel de webcomponents, es otro tema de interés actual así que también hablaron de manera general sobre ello (ver charla), así como la manera de resolver los problemas de SEO para bots usando el “Rendertron” (ver charla).

Destacó también especialmente la charla que dió Monica Dinculescu, otra desarrolladora de Google que mostró una demo de su proyecto “Wizzywid”, una herramienta que permite ensamblar los componentes de manera que puedas ver la página en su conjunto tal y como quedaría. Esto resulta muy interesante de cara a aquellas personas que no desarrollan directamente pero que necesitan una idea visual de lo que se está realizando. “Wizzywid” reaviva la idea de un proyecto anterior que no se llegó a desarrollar completamente, la herramienta “Polymer Designer Tool” que despertó bastante interés en su momento (ver charla).

Como ya adelantamos, junto con el equipo de Google, este año se dió la oportunidad a otras empresas de hablar de su experiencia usando Polymer. Vimos por ejemplo el caso de Netflix que ha desarrollado una serie de herramientas para operar con sus sistemas distribuidos en la nube, o el caso de YouTube que está compuesto por más de 400 componentes web desarrollados en Polymer.

Podríamos además hablar de otras empresas que lo han utilizado, como Simpla, que ha desarrollado un framework de contenido modular y que explicaba cómo modularizar contenido (a la manera de un CMS), la editorial Gannett que lleva más de dos años desarrollando con Polymer la red del diario USA Today o Electronic Arts, la distribuidora líder de juegos para todo tipo de dispositivos.

También hubo cabida para otros pequeños proyectos, como el que presentó Maria Husmann, de la universidad Politécnica Federal de Zurich que junto con sus alumnos habían desarrollado una aplicación multidispositivo. Esta charla demostraba lo útil que puede ser esta librería para su uso en el entorno de la enseñanza (al menos en su versión 2.0, que continúa manteniendo esa sencillez tan importante para que cualquier persona pueda usarlo para desarrollar sus propios proyectos). Siguiendo esa misma idea, es decir, la idea de Polymer, no como fin para acercarnos a la plataforma, si no como herramienta para conseguir otro tipo de objetivos, estuvo la divertida charla de Martin Splitt, de Archilogic, una plataforma web basada en 3D para arquitectura e interiores, que nos explicaba cómo desarrollar una arquitectura que permita a la gente crear aplicaciones 3D desde un conjunto de pequeños componentes.

Cabe también destacar un par de charlas más. Una de ellas fue la de Chad Killingsworth de Jack Henry and Associates, que proporciona servicios de procesamiento de datos tanto a bancos comerciales como cooperativas de ahorro y crédito, que explicaba cómo agregar componentes Polymer a cualquier proyecto, incluso cómo importar contenido de los “node modules” a través de Webpack. La otra charla fue la de Ionic, que aprovechó el evento para hablar de su proyecto Stencil que por cierto, no usa Polymer. Stencil es un compilador hecho en TypeScript para webcomponents, que permite construir Custom Elements optimizados para ser utilizados en la mayoría de los frameworks y que no necesita recompilar completamente la aplicación en el teléfono cada vez que se actualiza un archivo.

Entre todas las actividades que incluyeron en el evento destacó una, por su novedad y la posible polémica que podría haber generado: el “Polymer Women’s Breakfast”, que se presentaba como una mesa redonda con tres mujeres del equipo de Polymer. Esta charla se englobaba dentro de la iniciativa Women Teckmakers, liderada por Google, que proporciona visibilidad, comunidad y recursos para las mujeres en el mundo de la tecnología. ¿Donde podría haber nacido la polémica? en la posible exclusividad de esta charla, que podría creerse sólo para mujeres. Sin embargo la mesa redonda se realizó en un espacio común y todo el mundo pudo participar en ella. Se habló por ejemplo, de cómo es la experiencia de trabajar en Google siendo una mujer, o cómo se podía despertar el interés en la informática entre las niñas en las escuelas. También hubo otras preguntas ya más relacionadas con las ponencias y el trabajo de estas desarrolladoras. Pero no se entró mucho en temas de género. Estas mujeres comentaban que todo el equipo compartían la pasión por su trabajo y por la programación y no había diferencias entre ellas y el resto del equipo. De esta iniciativa sobre todo destaca que aumentó la visibilidad de las mujeres asistentes, las primeras en acercarse y las primeras en comenzar a preguntar. Aún así sorprende que hubo también mujeres que no se acercaron, por lo menos al principio. De todo esto podemos sacar la conclusión de que queda mucho todavía para que este tipo de iniciativas se desarrollen con naturalidad, puesto que daba la sensación de que nadie sabía muy bien que se hacía allí, ni siquiera las propias ponentes que parecían un poco menos cómodas que cuando se subían a dar las charlas.

En conclusión. Dos días de charlas interesantísimas de la mano del equipo de Polymer, donde hemos visto lo nuevo que estar por llegar, utilizando los nuevos ES modules y el gestor de paquetes NPM. Aprendimos de la experiencia de la forma en la que utilizan otros desarrolladores los Custom Elements para sus proyectos y todo acompañado de un buen ambiente gracias a toda la gente que vinieron de varios lugares de Europa y de la buena gestión del evento.

Últimos posts