Lançamento do Phoenix LiveView 1.0.0
(phoenixframework.org)- Marco 1.0 alcançado 6 anos após o primeiro commit
- Origem e motivo do LiveView
- O LiveView surgiu para criar aplicações com renderização no servidor sem JavaScript.
- Ele permite resolver de forma simples problemas complexos, como validação de formulários em tempo real, atualização da quantidade no carrinho de compras e atualizações por streaming em tempo real.
- Elixir e Phoenix são adequados para essa abordagem.
- Vantagens de uma base em tempo real
- Oferece uma base bidirecional em tempo real para todos os usuários e interfaces, permitindo que desenvolvedores foquem na implementação de funcionalidades.
- Com Elixir, é possível implementar recursos que seriam inviáveis em outras plataformas.
- Implementação inicial do LiveView
- Implementou uma UI baseada em servidor que atualiza automaticamente a interface quando o estado muda, de forma semelhante ao React.
- Com Phoenix Channels, é possível suportar milhões de conexões.
- Otimização do modelo de programação
- O mecanismo diferenciado do LiveView executa apenas as partes dinâmicas do template e envia somente o mínimo de dados necessário.
- Ao separar partes estáticas e dinâmicas, ele permite atualizações eficientes.
- Latência de alto nível
- O LiveView oferece desempenho ideal com payloads pequenos e conexões persistentes com estado.
- O uso de memória no servidor é baixo, mas ainda assim ele pode suportar centenas de milhares de conexões simultâneas.
- Componentes reutilizáveis com HEEx
- Introduziu um sistema declarativo de componentes com validação de HTML e verificação de atributos em tempo de compilação.
- Também fornece avisos em tempo de compilação para uso incorreto de atributos ao chamar componentes.
- Simplificação da sintaxe do HEEx
- Introduziu uma sintaxe simplificada que permite inserir valores diretamente no corpo das tags.
- Uploads interativos
- Fornece uma abstração única para upload de arquivos, com suporte tanto a uploads diretos para a nuvem quanto para o servidor.
- Facilita a implementação de acompanhamento de progresso de upload e operações avançadas com arquivos.
- Streams e processamento assíncrono
- Introduziu primitivas de stream para processar grandes coleções com eficiência.
- Também oferece recursos para lidar facilmente com tarefas assíncronas e renderizar seus resultados.
- LiveView se torna mainstream
- LiveView e .NET Blazor surgiram em períodos semelhantes e impulsionaram a adoção desse modelo de programação.
- Comunidades de outras linguagens também estão adotando esse modelo de diferentes formas.
- Próximos planos
- Estão planejados integração com hooks de JavaScript, maior integração com Web Components e suporte a navigation guards.
1 comentários
Comentários do Hacker News
O criador do Phoenix respondeu perguntas sobre Elixir/Phoenix/LiveView e apresentou um novo instalador
|shO LiveView é um recurso que superou limitações do Rails e começou inicialmente como a funcionalidade de "channels"
Uma startup foi construída usando LiveView, mas acabou fracassando
Foram construídos vários apps de produção com LiveView, e embora a conexão WebSocket seja necessária, há várias vantagens
O uso de LiveView trouxe de volta o entusiasmo pelo desenvolvimento web, e a produtividade é muito alta
Em apps web típicos, o custo de coordenação entre desenvolvedores de frontend e backend é o mais alto
O LiveView vem sendo usado desde 2019, e o desenvolvimento foi prazeroso
Foi escrito um post no blog com opiniões sobre o lançamento do LiveView 1.0
Gostaria de ouvir opiniões sobre os trade-offs entre LiveView e a adoção de tecnologias baseadas em JS
O LiveView oferece uma experiência de desenvolvimento muito produtiva, mas seria desejável resolver problemas em conexões instáveis