Introducción a Polymer

POLYMER 1.0El mundo del desarrollo web se encuentra en continua evolución y no hay duda de que crece diariamente apoyado por nuevas tecnologías  que nos hacen la vida mas fácil a los desarrolladores. No hace mucho tiempo Google lanzó una tecnología llamada Polymer, que empezó en silencio y ahora parece que esta creciendo con la llegada de su versión 1.0. ¿Qué es Polymer? ¿Qué podemos esperar de esta tecnología? En este post descubriréis la mayoría de sus ventajas.

Polymer fue anunciado en la Google I/O de 2013 y nació con el propósito de permitir trabajar a los desarrolladores con web components así como con las low-level APIs (HTML imports, shadow DOM, HTML templates y custom elements ) antes de que estas funcionalidades  estuvieran soportadas por los navegadores. La idea  era facilitar el trabajo con web components dentro de un sólido entorno de desarrollo.

Un año mas tarde el proyecto creció en la Google I/O de 2014 donde el equipo de desarrollo anunció que Polymer tendría una gran librería de elementos prefabricados basados en material design que facilitasen el desarrollo de aplicaciones. Ahora un año mas tarde en la Google I/O de 2015 se ha anunciado la versión 1.0 de Polymer y con ella ha llegado una manera fácil y cómoda de trabajar con web components.

Con la versión 1.0 el equipo de Polymer anunció que traería una librería con elementos reutilizables para la construcción de nuestras aplicaciones web. Esta librería se puede dividir en los siguientes elementos:

  • Iron elements: Es una librería que incluye elementos útiles para el manejo del layout y utilidades del core, sin aplicar ningún estilo visual complejo.
  • Paper elements: Son componentes basados en material design de los iron elements.
  • Google Web Components: Widgets de servicios de Google como Google Maps, YouTube o Google Calendar, entre otros.
  • Gold elements:  Componentes para comercio electrónico
  • Neon elements: Componentes con animaciones web y efectos especiales.
  • Platinum elements: Componentes con funcionalidades complejas como las notificaciones push.
  • Molecules: Incluye otras librerías JavaScript.

A parte de estas librerías que incluye la versión 1.0 de Polymer existe otro repositorio con mas web components totalmente compatibles y que se pueden incluir en nuestras aplicaciones (Custom Elements).

¿Que nos aporta Polymer y porque deberíamos considerarla como una tecnología para desarrollar nuestros proyectos web?

Polymer utiliza un conjunto de librerías llamadas Polyfills, estas librerías permiten añadir al navegador funcionalidades especiales. Con el uso de web components nos permite el desarrollo de nuestros propios componentes que son reutilizables una y otra vez dentro de la aplicación o en otras aplicaciones.

Con Polymer podemos utilizar el shadow DOM para encapsular el  contenido de un Custom Element del resto, y así se  evita que sus estilos y código interactúen de forma no deseada con el resto del sitio. Polymer 1.0 incluye una tecnología llamada Shady DOM.

Nos permite el uso de html importes de manera que nos permite desarrollar aplicaciones modulares de manera sencilla.

Por ejemplo, puedes colocar todas las librerías que usa tu aplicación en un archivo llamado librerías.html y las hojas de estilo en uno llamado estilos.html. Después, en tu aplicación sólo debes importar estos archivos de este modo:

Comentar también que la versión 1.0 de Polymer viene lista para producción con un conjunto de herramientas que incluyen todo lo necesario para ser utilizado en cualquier aplicación real. Existe un kit de inicio que puede ser descargado en el siguiente enlace Polymer Starter Kit.

Con lo todo lo visto en este artículo podemos afirmar que Polymer es la herramienta que te permite desarrollar usando hoy las herramientas del futuro.

Nuestro paso por Polymer no quedará en esta única entrada de blog, si no que en sucesivos artículos desarrollaremos una aplicación web con Polymer desde 0. Espero que esta introducción os haya animado a echarle un ojo a esta potente  herramienta que sin duda hará las delicias de muchos desarrolladores.