2 puntos por GN⁺ 2024-12-04 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2024-12-04
Comentarios de Hacker News
  • El creador de Phoenix respondió preguntas sobre Elixir/Phoenix/LiveView y presentó un nuevo instalador

    • El nuevo instalador permite instalar proyectos de Elixir y Phoenix con un solo comando
    • Se proporcionan comandos de instalación para macOS/Linux y Windows
    • Es una extensión del instalador oficial de Elixir
    • También se ofrece una guía de instalación sin |sh
  • LiveView es una funcionalidad que superó las limitaciones de Rails y al principio comenzó como la función de "channels"

    • LiveView tenía dificultades para integrarse con vistas estáticas, pero con el tiempo hizo posible compartir código
    • Phoenix 1.7 introdujo un nuevo layout y una nueva filosofía, lo que resulta innovador para el desarrollo de aplicaciones web
  • Se construyó una startup usando LiveView, pero fracasó

    • La integración con React fue fluida y tampoco hubo problemas para conectarlo con librerías complejas
    • Hubo que resolver desde cero en LiveView problemas que ya se habían resuelto en React
  • Se han construido varias aplicaciones en producción con LiveView, y aunque requiere conexión WebSocket, tiene varias ventajas

    • La generación de código aumenta la productividad, y renderizar el frontend con Elixir es eficiente
    • A través de WebSocket es fácil agregar funcionalidades en tiempo real
    • Mantener la lógica de negocio en Contexts facilita ofrecer una API
  • Usar LiveView hizo recuperar el entusiasmo por el desarrollo web y la productividad es muy alta

    • Se ofrecen cursos para aprender LiveView y se espera que más personas dominen este framework
  • En una aplicación web típica, el costo de coordinación entre desarrolladores de frontend y backend es lo más caro

    • LiveView ignora este problema y hace posible el desarrollo full stack
    • Con menos desarrolladores se pueden ofrecer más funcionalidades
  • Se ha usado LiveView desde 2019 y el desarrollo ha sido disfrutable

    • LiveView se presentó por primera vez en ElixirConf EU
  • 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

    • Hace falta discutir la posibilidad de adoptar la variedad de librerías de JS y las tecnologías de IA
  • LiveView ofrece una experiencia de desarrollo muy productiva, pero se espera que resuelva los problemas en conexiones inestables

    • El soporte offline es difícil, pero hace falta soporte para conexiones inestables