Lightning Web Components

El 2018 terminó con un anuncio de un cambio muy fuerte que afectaría a los desarrolladores de Lightning, Lightning Web Components: https://developer.salesforce.com/blogs/2018/12/introducing-lightning-web-components.html

Este cambio, a pesar de que es muy profundo, no será perceptible para el usuario (aunque sí que debería notarse en rendimiento) pero es muy importante en la parte de desarrollo.

Con este cambio lo que son los Lightning Components se dividen en dos modalidades:

  • Aura Components: Aura es el framework open source con el que ha creado la interfaz hasta ahora, y que estaba disponible para desarrollo de componentes personalizados. Fue construido no aprovechando los estándares web más modernos y con algunos problemas de diseño, por lo que su rendimiento no es óptimo y la curva de aprendizaje larga.
  • Lightning Web Components (LWC): es un modelo de programación que aprovecha todas las funcionalidades que soportan los navegadores más modernos, como Web Components, Templates o Shadow DOM, que son básicamente estándares web que definen métodos para manipular y definir el DOM con sólo HTML y JavaScript. Mejora en gran medida el rendimiento, y a parte, parece mucho más sencillo.

¿Qué beneficios aporta el cambio?

Uno de los principales beneficios de Lightning Web Components (LWC), aparte del rendimiento y la facilidad de uso, es que al ser más estándar, cualquier desarrollador de Front-end que venga de otra tecnología (React, Angular etc.), sabrá como sacarle provecho rápidamente, así como reutilizar el set de skills que se aprenden como programador de LWC para el desarrollo front-end en general. Todos esos programadores que no querían aprender Aura porque era muy específico ya no tienen excusa 😉

Además Lightning Web Components soporta ES6 completo, y algunas partes de ES7 y ES8 – las versiones más modernas de JavaScript, lo cual mola mucho!!

Si por algún motivo el navegador en el que estás visualizando la página no soporta estas versiones de JavaScript, Salesforce transforma el código a una versión compatible, así que no tienes que preocuparte de ello.

Además, Salesforce ha publicado una serie de extensiones para VSCode, que junto con SFDX, hacen que la productividad del desarrollador aumente drásticamente a la hora de trabajar con LWC, al tener disponibles, entre otros, autocompletado, resaltado de sintaxis y linting para JavaScript.

Casi todo lo que se puede hacer con Aura se puede desarrollar con Web Components*, y de forma mas sencilla, por lo que a la larga Aura no tendrá evolución (aunque tampoco será retirado) y la tendencia será usar LWC. Parece que lo han hecho bien, ya que es un piloto ampliamente probado que ha sido publicado directamente como GA (Generally Available).

Además, Salesforce ha migrado todos sus componentes a Lightning Web Components, por lo que Lightning Experience (la UI de Lightning) debería mejorar en rendimiento en las próximas releases.

¿Tienes componentes Aura ya desarrollados? No te preocupes. A partir de ahora, tienes dos opciones, o bien dejar que estos co-existan con los nuevos LWCs que desarrolles, ya que pueden convivir en la misma página y comunicarse entre ellos, o puedes migrarlos, ya que en la documentación viene una guía de cómo hacerlo, y no es muy complicado.

Estaremos atentos a próximas novedades y os seguiremos contando. Mientras tanto, si queréis empezar a trastear podéis conseguir el primer badge en Trailhead (Quick Start: Lightning Web Components).

* Algunas funcionalidades que no están disponibles todavía para LWC, están siendo desarrolladas actualmente y, de acuerdo a Salesforce, serán publicadas en las próximas releases. Mayormente se trata de contenedores en los cuales no se puede incluir un LWC todavía, como Visualforce/Lightning Out, Lightning Flows, Lightning para Gmail/Outlook, Lightning Tabs o Action overrides. Sin embargo, existe un workaround, que es incluir el LWC en un Aura component, los cuales sí están soportados en todos estos contenedores.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tambien te puede interesar...

Suscríbete a nuestro blog