Lanzamiento de Phoenix LiveView 1.0.0
(phoenixframework.org)- Se alcanza el hito 1.0 seis años después del primer commit
- El inicio de LiveView y su razón de ser
- LiveView comenzó para crear aplicaciones renderizadas en el servidor sin JavaScript.
- Permite resolver de forma sencilla problemas complejos como la validación de formularios en tiempo real, la actualización de cantidades en el carrito de compras y las actualizaciones de streaming en tiempo real.
- Elixir y Phoenix son ideales para este enfoque.
- Ventajas de una base en tiempo real
- Proporciona una base bidireccional en tiempo real para todos los usuarios y la UI, lo que permite a los desarrolladores concentrarse en implementar funcionalidades.
- Con Elixir, es posible implementar capacidades que no se pueden lograr en otras plataformas.
- Implementación inicial de LiveView
- Implementó una UI basada en servidor que actualiza automáticamente la interfaz cuando cambia el estado, de forma similar a React.
- Puede soportar millones de conexiones usando Phoenix Channels.
- Optimización del modelo de programación
- El motor distintivo de LiveView ejecuta solo las partes dinámicas de las plantillas y envía la mínima cantidad de datos.
- Separa las partes estáticas y dinámicas para permitir actualizaciones eficientes.
- Latencia de primer nivel
- LiveView ofrece un rendimiento óptimo mediante payloads pequeños y conexiones persistentes con estado.
- El uso de memoria del servidor es bajo, pero puede soportar cientos de miles de conexiones concurrentes.
- Componentes reutilizables con HEEx
- Introdujo un sistema declarativo de componentes que ofrece validación de HTML y verificación de atributos en tiempo de compilación.
- Proporciona advertencias en tiempo de compilación cuando se usan atributos incorrectos al invocar componentes.
- Simplificación de la sintaxis de HEEx
- Introdujo una sintaxis simplificada que permite insertar valores directamente dentro del cuerpo de las etiquetas.
- Subidas interactivas
- Proporciona una única abstracción para la carga de archivos, con soporte para subidas directas a la nube y al servidor.
- Facilita reflejar el progreso de carga o implementar tareas avanzadas con archivos.
- Streams y procesamiento asíncrono
- Introdujo primitivas de streams para manejar de forma eficiente colecciones grandes.
- Ofrece funciones para manejar fácilmente trabajos asíncronos y renderizar sus resultados.
- LiveView se vuelve mainstream
- LiveView y .NET Blazor comenzaron en épocas similares y lideraron la adopción de este modelo de programación.
- Comunidades de otros lenguajes también están adoptando este modelo de distintas maneras.
- Planes a futuro
- Entre los planes están la integración de JavaScript hooks, un refuerzo en la integración con Web Components y soporte para navigation guards.
1 comentarios
Comentarios de Hacker News
El creador de Phoenix respondió preguntas sobre Elixir/Phoenix/LiveView y presentó un nuevo instalador
|shLiveView es una funcionalidad que superó las limitaciones de Rails y al principio comenzó como la función de "channels"
Se construyó una startup usando LiveView, pero fracasó
Se han construido varias aplicaciones en producción con LiveView, y aunque requiere conexión WebSocket, tiene varias ventajas
Usar LiveView hizo recuperar el entusiasmo por el desarrollo web y la productividad es muy alta
En una aplicación web típica, el costo de coordinación entre desarrolladores de frontend y backend es lo más caro
Se ha usado LiveView desde 2019 y el desarrollo ha sido disfrutable
Se escribió en un blog una opinión sobre el lanzamiento de LiveView 1.0
Se quiere escuchar opiniones sobre los trade-offs de LiveView frente a la adopción de tecnologías basadas en JS
LiveView ofrece una experiencia de desarrollo muy productiva, pero se espera que resuelva los problemas en conexiones inestables