> Faqs > ¿Qué manual de Polymer seguir?

¿Qué manual de Polymer seguir?

Hola, soy Angel Rangel, mi pregunta es la siguiente: ¿Cual manual de Polymer realizar para no perder tiempo, Polymer, Polymer 2 o Polymer 3 ?

Me lo pregunto debido a que me contrataron para un proyecto en el cual debo personalizar un front end en polymer y quiero seguir estos manuales ya que veo que es mucho más veloz aprender allí, pero quiero saber si es necesario iniciar desde el polymer o puedo ir directamente a polymer 3? gracias, y espero alguien pueda ayudarme.

Respuestas

Hola! Para responder a tu pregunta tienes que conocer un poco la historia de Polymer.

Polymer 1: se creó con la especificación de Web Components V0, que podemos considerar un poco experimental, ya que todavía no había un estándar completamente definido. Fue implementada por completo en pocos navegadores. Una vez que el W3C llegó a una definición del estándar de Web Components, la versión V0 quedó obsoleta y con ello la librería. Polymer 1 aún se ejecuta bien en los navegadores, pero usarlo para el desarrollo de aplicaciones actuales no es para nada recomendado.

Polymer 2: se creó ya con el estándar de Web Components V1, el definitivo y actual. Por tanto, Polymer 2 es perfectamente usable y todavía hay empresas relevantes que lo implementan en aplicaciones en producción. Sin embargo, usa un gestor de dependencias que se ha quedado un poco obsoleto, Bower, y para incluir componentes se usa la tecnología de los HTML Imports, que fue la única parte de las especificaciones de Web Components que no salió adelante, por no recibir el apoyo de los navegadores.

Polymer 3: se creó únicamente para cambiar las partes de Polymer 2 que no fueron apoyadas ni entendidas por la comunidad frontend y los navegadores, de modo que el trabajo con la librería se adaptase a la corriente actual de desarrollo que llevan otros frameworks y librerías. En resumen, se sustituyó Bower por npm y los HTML Imports por ES6 Modules. La recomendación sería usar Polymer 3, porque así tu aplicación se adaptará a todo lo bueno que tiene usar tecnologías completamente estándar y apoyadas por la comunidad en el ecosistema de Javascript.

Te recomiendo un artículo para entender un poco más sobre la historia de las especificaciones Web Components.

Ahora hablando de los manuales de DesarrolloWeb.

  • Polymer 1 no te lo recomendaría aprender porque hay muchas cosas que ya no se hacen así en la librería. Está obsoleto. Sólo podría interesarte si tu aplicación usa Polymer 1, en cuyo caso lo ideal sería migrarla a Polymer 2, o Polymer 3 preferiblemente. Si no hay presupuesto y no te pagan para migrarla, entonces tendrás que seguir con Polymer 1, pero advirtiendo al cliente que puede llegar un momento en breve que su aplicación simplemente deje de funcionar.
  • El manual de Polymer 2 es muy completo y prácticamente te sirve para aprender Polymer 2 y Polymer 3. Es el que contiene la información más detallada sobre el desarrollo de componentes y aplicaciones en Polymer 2 y Polymer 3, que son librerías prácticamente idénticas. Es el recomendado para aprender, porque abarca mucho más.
  • El manual de Polymer 3 se realizó bajo la base que no era necesario volver a explicar las mismas cosas para esta versión, ya que eran iguales que lo que se había explicado en Polymer 2, por tanto, se centra en las cosas que cambiaron de Polymer 2 a Polymer 3.

Ahora respondiendo tu pregunta. El manual que te interese usar depende de la versión de tu aplicación. Si está con Polymer 1 queda claro que te va a tocar aprender esa versión obsoleta. Aunque repito que lo ideal sería migrarla en cuyo caso lo podrás usar únicamente como referencia para respejar dudas y centrarte en aprender bien Polymer 2 y/o 3. Si está con Polymer 2, entonces el manual está claro también. Sólo si está con Polymer 3 entonces tendrías que leer primero el manual de Polymer 3 y luego el de Polymer 2, o ir saltando de uno a otro para comprender y documentarte con todas las partes de la librería.

Además, actualmente está LitElement, que es la evolución de Polymer. Mucho más ligero y de mayor rendimiento que la librería Polymer. LitElement también se implementa sobre Web Components V1 y usa todas las corrientes actuales de desarrollo frontend. Tiene un recorrido por delante mucho más amplio que el que se espera de Polymer y por tanto para aplicaciones modernas sería la recomendación. En el ideal de tener conocimientos de Polymer y LitElement yo implementaría todos los componentes nuevos de tu aplicación en LitElement y los que necesitase cambiar los iría migrando a LitElement. Creo que esa solución sería la mejor, porque la vida del código será más amplia y también tu aplicación tendrá más rendimiento. Hasta llegar un punto que ya no necesites Polymer y te quedes solo con LitElement, que sería lo más recomendable.

LitElement es perfectamente compatible con Polymer 2 y Polymer 3, por lo que los componentes desarrollados en LitElement te funcionarán perfectamente en aplicaciones Polymer. Además ocupa solamente 6KB (Gzipped), por lo que el peso de tu aplicación apenas va a cambiar por tener que implementar algunos componentes con LitElement. Usar hoy LitElement en aplicaciones Polymer te ahorrará tiempo de migración, cuando sea obligado en el futuro el actualizar los componentes y aplicaciones de Polymer 2 y 3 a LitElement.

Aparte de los manuales de DesarrolloWeb, permíteme recomendarte el plan de estudio de Polymer de EscuelaIT, en el que soy profesor de la mayoría de los cursos. Te ahorrará mucho tiempo aprender con estos cursos y el contenido llega a una profundidad mucho mayor de los manuales de desarrolloweb, además que es todo práctico. Encontrarás los cursos de Polymer 2 y Polymer 3, así como de LitElement. Además, aunque en este plan de estudio no está Polymer 1, también hay cursos en EscuelaIT. Si te suscribes puedes acceder a todos los cursos y aprender de una manera cómoda y rápida.

Miguel Angel
3145 140 209 17
Wow una respuespuesta muy detallada, me ha sido de gran ayuda! Gracias Miguel, voy a leer los manuales de polymer 2 y 3 para ir realizando la aplicación ya en momentos precedentes migraré a LitElement Genial cualquier duda la puedes hacer llegar aquí en la sección de FAQs