Desarrollo de aplicaciones iOS y Android con Symfony a un paso gracias a Strada

Symfony UX Strada
Solucionex
30
Mayo 24

En un artículo anterior ya os comentaba sobre lo que ha supuesto el enfoque Hotwire en los frameworks monolíticos y cómo Symfony lo ha ido implementando en su ecosistema gracias a la iniciativa Symfony UX.

Para poneros en contexto, Hotwire es un enfoque de desarrollo liderado por la empresa 37signals que sigue los postulados del "Majestic Monolith" propuesto por David Heinemeier, creador de Ruby on Rails, en el que básicamente busca enfocar los desarrollos modernos con frameworks monolíticos con el lenguaje principal del framework en cuestión, sin hacer uso de todo el ecosistema Javascript generado en los últimos años en el desarrollo web.

Hotwire está compuesto de tres herramientas: Turbo, Stimulus, y la última en presentarse, Strada.

📲 Introducción a Strada

Hotwire Strada, actualmente en su versión 1.0.0-beta1, es una nueva tecnología que nos permite mejorar la integración y el rendimiento de las aplicaciones web en dispositivos móviles. A diferencia de sus predecesores como Turbo Drive, Turbo Frames, y Turbo Streams, que se centran en optimizar la carga de páginas y la interactividad en la web, Strada apunta a una experiencia de usuario más fluida y cohesiva entre la web y las aplicaciones móviles. Lo hace permitiendo que los desarrolladores utilicen el mismo código base para ofrecer contenido dinámico y reactividad tanto en navegadores web como en aplicaciones nativas, sin sacrificar el rendimiento ni la experiencia del usuario. Esta aproximación busca reducir el tiempo de desarrollo y mejorar la consistencia de las aplicaciones a través de diferentes plataformas, manteniendo las ventajas de rapidez y eficiencia en la carga de contenido.

⌚ Estado actual de Hotwire en Symfony

Actualmente en el componente Symfony UX tenemos implementados los componentes Turbo y Stimulus, entre otros muchos desarrollados por el propio framework.

Hotwire Turbo, está compuesto de las siguientes tecnologías:

  • Turbo Drive: Permite la carga rápida de páginas web al actualizar solo las partes del contenido que cambian, sin necesidad de recargar toda la página.
  • Turbo Frames: Permite cargar y reemplazar secciones de una página de manera dinámica sin recargar toda la página, mejorando la experiencia del usuario.
  • Turbo Streams: Facilita la actualización de páginas web en tiempo real mediante el envío de actualizaciones específicas al DOM desde el servidor.
  • Turbo Native: Acelera el desarrollo de aplicaciones móviles, permitiendo reutilizar el código web existente y lograr un rendimiento nativo.

De estas cuatro tecnologías, solamente las tres primeras están implementadas en Symfony UX Turbo, quedando pendiente la implementación tanto de Turbo Native como de Strada en el ecosistema Symfony.

🏗️ Desarrollo web con LAST

Por último, hacer mención de que la gente de Symfonycast terminó el 2023 presentando el curso de desarrollo con el stack LAST, una guía para nuestros desarrollos haciendo uso de las últimas novedades de Symfony.

Este stack LAST corresponde al desarrollo Symfony haciendo uso de los componentes:

Este stack hace uso de los dos principales componentes Hotwire de los que hemos hablado.

🔗 Enlaces de interés

Imagen de portada generada con ChatGPT gracias a la tecnologías Dall-e 3

 

symfony
monolito
php
hotwire
strada
turbo
stimulus