Polymer
Polymer es una biblioteca JavaScript de código abierto para la creación de aplicaciones web utilizando componentes web. La biblioteca está siendo desarrollada por los desarrolladores y colaboradores de Google en GitHub. Los principios de diseño modernos se implementan como un proyecto separado utilizando los principios de Material Design de Google.
Polymer | ||
---|---|---|
Información general | ||
Tipo de programa | JavaScript | |
Desarrollador | Google[1] and contributors[2] | |
Lanzamiento inicial | 29 de mayo de 2015[3] | |
Licencia | Licencia BSDmodificada (de 3 cláusulas)[4] | |
Estado actual | Activo | |
Información técnica | ||
Programado en | JavaScript, HTML | |
Versiones | ||
Última versión estable | 2.0.2, 1.9.3 ( 24 de julio de 2017,[5] 20 de julio de 2017[6]) | |
Última versión en pruebas | 3.0[7] ( 22 de agosto de 2017) | |
Enlaces | ||
Polymer es utilizado por varios servicios y sitios web de Google, incluidos los rediseñados YouTube, YouTube Gaming, Google Earth,[8] sitios web de Google I/O, Google Play Music, Google Sites y Allo para web.[9]
Historia
El desarrollo público de Polymer comenzó el 14 de noviembre de 2013 con la liberación de Promises Polyfill. Esto creció constantemente hasta convertirse en una biblioteca de diseño web que cubre las pautas de estilo visual (a través del Material Design), del enlace de datos, y un gran número componentes web básico y auxiliares. Originalmente, los componentes básicos se concibieron para abarcar una funcionalidad genérica que sería esencial para la mayoría de los sitios web, mientras que los componentes de auxiliares estaban destinados a proporcionar componentes más especializados con conceptos de Material Design que formaban una parte clave de su diseño. Se alcanzó un hito importante con la publicación de la versión 0.5, que fue considerada la primera versión del proyecto lista para ser utilizada por los primeros usuarios.[10]
Google continuó revisando el diseño de Polymer después de la publicación de 0.5, con especial atención a los problemas de rendimiento hallados por desarrolladores. Esto culminó con la liberación de Polymer 1.0 en 2015, que fue la primera versión "lista para la producción" de la biblioteca.[11] La versión 1.0 mejoró significativamente el rendimiento del Polymer, reduciendo los tiempos de carga hasta 7 veces.[12] Con la versión 1.0 Google separó los elementos del proyecto Polymer para distinguir claramente entre los de elementos del catálogo de Polymer polyfill y los componentes web.
En 14–15 de septiembre de 2015, Google organizó una conferencia Polymer en Ámsterdam.
En 17–18 de octubre de 2016, Google organizó una conferencia Polymer en Londres.
En 22–23 de agosto de 2017, Google organizó una conferencia Polymer en Copenhague.
Características
Polymer añade algunas características a los componentes web:
- Simplificación en la creación de elementos personalizados
- Enlace de datos unidireccional y bidireccional
- Propiedades computadas
- Plantillas condicionales y repetitivas
- Eventos gestuales
Uso
Polymer ha comenzado a ganar cada vez más reconocimiento, con especial atención a su proceso de diseño estructurado, permitiendo una estructura de "ladrillos Lego" interoperable.[13]
Elementos personalizados
Los elementos personalizados se pueden crear utilizando el elemento dom-module
proporcionado por Polymer. La definición de elementos personalizados comprende los estilos CSS, las plantillas HTML del DOM local del elemento, las propiedades de los elementos, del ciclo de vida de las llamadas de retorno y los métodos JavaScript:
<dom-module id="hello-element">
<template>
<style>
/* Local DOM CSS style */
</style>
<!-- Local DOM -->
Hello {{name}}!
</template>
<script>
class HelloElement extends Polymer.Element {
static get is() { return 'hello-element'; }
static get properties() {
return {
name: {
type: String
}
/* Element properties */
}
}
/* Custom methods */
}
window.customElements.define(HelloElement.is, HelloElement);
</script>
</dom-module>
El elemento definido encima puede ser utilizado en código HTML de la siguiente forma:
<hello-element name="World"></hello-element>
Referencias
- «AUTHORS.txt» (en inglés). Consultado el 18 de agosto de 2017.
- «CONTRIBUTORS.txt» (en inglés). Consultado el 18 de agosto de 2017.
- «1.0». Polymer Project (en inglés). Consultado el 18 de agosto de 2017.
- «polymer/LICENSE.txt at master». GitHub (en inglés). Consultado el 24 de abril de 2017.
- «Releases · Polymer/polymer». GitHub (en inglés). Consultado el 18 de agosto de 2017.
- «Releases · Polymer/polymer». GitHub (en inglés). Consultado el 18 de agosto de 2017.
- «Polymer 3.0 preview: npm and ES6 Modules». Polymer Project (en inglés). Consultado el 22 de agosto de 2017.
- Bidelman, Eric (18 de abril de 2017). «Mission accomplished: has been componentized. New @googleearth is built w/ #WebComponents using @polymer.pic.twitter.com/h76ztfynYy». @ebidel. Consultado el 8 de julio de 2017.
- «Who's using Polymer?». GitHub. Consultado el 4 de junio de 2016.
- «Polymer gives us a closer look at Google's Material Design UI». Android Authority.
- Steven Max Patterson (29 de mayo de 2015). «Google’s Polymer 1.0 brings reuse and better branding to Web development». CIO.
- «Welcome - Polymer 1.0». Archivado desde el original el 14 de agosto de 2015.
- Allie Coyne (13 de agosto de 2015). «Inside ING Direct's new lego block app architecture». iTnews.