Liferay: Un Nuevo Paradigma de Desarrollo – Client Extensions
Querida Tecnología, en el último episodio de nuestro podcast de Mimacom, tuvimos el placer de contar con Belén Jiménez, Patricia Hevia, Adrián García y Juan Manuel Rogado, invitado especial de Liferay, para hablar sobre un tema que está cambiando el juego en el mundo de la extensibilidad de portales: las Client Extensions.
Durante nuestra conversación, exploramos cómo este nuevo paradigma de desarrollo está ayudando a las organizaciones a ser más ágiles y preparadas para el futuro.
¿Qué son las Client Extensions?
Las Client Extensions permiten a los desarrolladores personalizar y extender Liferay de manera flexible, sin comprometer la estabilidad ni modificar la estructura base del sistema. Estas extensiones hacen posible crear configuraciones, microservicios y aplicaciones completas, garantizando una integración fluida a través de las APIs de Liferay, tanto en entornos SaaS como self-hosted.
¿Por qué Liferay introdujo este nuevo paradigma?
A lo largo de su evolución, Liferay ha dado pasos importantes para adaptarse a las necesidades cambiantes del mercado y de sus usuarios. El enfoque hacia una arquitectura modular fue un primer paso clave, pero el desarrollo de las Client Extensions ha sido una consecuencia natural de esta evolución.
En el pasado, las actualizaciones de Liferay se gestionaban mediante Service Packs o Fixed Packs, centrados principalmente en solucionar problemas. Sin embargo, como menciona Juan Manuel en el podcast, Liferay ha adoptado ahora un modelo de releases trimestrales. Estas nuevas actualizaciones no solo corrigen errores, sino que también introducen nuevas funcionalidades, garantizando una plataforma en constante evolución, sin la necesidad de grandes saltos de versión que supongan interrupciones o complicaciones.
Beneficios clave de las Client Extensions
El nuevo paradigma de las Client Extensions en Liferay proporciona una serie de beneficios que mejoran la flexibilidad, eficiencia y escalabilidad del desarrollo:
-
Reducción de costes y ahorro de tiempo: Un beneficio clave de las Client Extensions es la capacidad de utilizar una amplia gama de tecnologías modernas, como React, Angular o Spring Boot. Esto reduce los costos y el tiempo de desarrollo, ya que las empresas pueden aprovechar las competencias existentes de sus equipos, sin la necesidad de formación adicional en tecnologías específicas de Liferay.
-
Mayor flexibilidad tecnológica: Las Client Extensions permiten a las organizaciones implementar tecnologías emergentes o las más adecuadas para cada proyecto, sin depender de las limitaciones del sistema interno de Liferay. Esto facilita la personalización y la integración de soluciones adaptadas a las necesidades del negocio.
-
Arquitectura flexible y escalabilidad: Al estar desacopladas del core de Liferay, las Client Extensions permiten que las nuevas funcionalidades y servicios se integren sin comprometer el rendimiento ni la estabilidad del portal. Esto ofrece una arquitectura más adaptable y escalable, permitiendo que el portal crezca a largo plazo sin fricciones.
¿Cuándo utilizar Client Extensions?
En la mayoría de los casos, las Client Extensions son la opción más recomendada para personalizar Liferay, ya que permiten realizar modificaciones de manera flexible, desacoplada y sin afectar el core de la plataforma como hemos mencionado antes.
Aquí te presentamos los escenarios más comunes:
-
Client Extensions como primera opción: Para la mayoría de personalizaciones, las Client Extensions son la herramienta ideal. Ofrecen la flexibilidad de integrar nuevas funcionalidades sin comprometer la estabilidad del sistema. Además, permiten trabajar con tecnologías modernas, lo que resulta en un ahorro significativo de tiempo y costes, al aprovechar las competencias existentes en los equipos de desarrollo.
-
Uso de Client Extensions en migraciones: Al migrar desde versiones anteriores de Liferay, se presenta una excelente oportunidad para aprovechar las Client Extensions, junto con otras capacidades más recientes de la plataforma, como las Content Pages, Fragments y Master Pages. Estas herramientas no solo modernizan tu portal, sino que, si estás considerando un rediseño integral, las Client Extensions facilitan un proceso de migración más eficiente y optimizado. Además, aseguran que el portal mantenga flexibilidad y esté mejor preparado para futuras actualizaciones, lo que mejora tanto el rendimiento como la adaptabilidad del sistema a largo plazo.
-
Enfoque híbrido en caso de migraciones graduales: Para clientes que prefieran conservar parte de su código durante una migración gradual, las Client Extensions son una solución ideal para desarrollar nuevas funcionalidades. Esto permite que el código existente siga operando sin interrupciones, mientras se va adaptando progresivamente al nuevo entorno. De esta manera, se asegura una transición fluida, permitiendo que el sistema evolucione de manera controlada hacia el nuevo paradigma sin sacrificar la funcionalidad actual.
-
Uso de OSGi en casos excepcionales: En situaciones particulares donde las Client Extensions no logran satisfacer todos los requisitos de personalización, es posible optar por soluciones tradicionales como los módulos OSGi. No obstante, este enfoque debería utilizarse solo en última instancia, cuando las Client Extensions no puedan ofrecer la funcionalidad necesaria. Aunque OSGi sigue siendo viable, su uso es menos aconsejable y debe reservarse para escenarios donde no existan otras alternativas.
Buenas prácticas para empezar con Client Extensions
Juan Manuel aconseja a los desarrolladores que quieran empezar a trabajar con Client Extensions que, en primer lugar, evalúen si la funcionalidad que buscan ya está disponible en Liferay out-of-the-box. Si se necesita un desarrollo adicional, es importante elegir el framework adecuado (React, Angular, etc.) en función de las necesidades del proyecto.
Además, recomienda no reinventar la rueda. Liferay ofrece un repositorio público en GitHub que contiene ejemplos de client extensions listas para usar. Este recurso es una excelente manera de comenzar, ya que incluye ejemplos prácticos de microservicios, elementos personalizados de frontend y otros tipos de extensiones.
En Mimacom, hemos aprovechado este recurso y, tras estudiar el workspace y la documentación oficial de Liferay, hemos creado una guía interna para ayudar a nuestros desarrolladores a empezar a trabajar con las Client Extensions, basada en las pruebas y experiencias obtenidas.
Un podcast repleto de insights sobre Client Extensions ¡Escúchanos!
El nuevo paradigma de las Client Extensions marca una evolución importante en la forma de personalizar y extender la plataforma. Para las organizaciones que buscan adaptarse al mundo del SaaS y las actualizaciones ágiles, las Client Extensions son una opción muy poderosa.
Si quieres saber más sobre este tema, no te pierdas nuestro podcast completo con Juan Manuel Rogado, disponible en todas las plataformas.