2 pontos por GN⁺ 2024-12-04 | 1 comentários | Compartilhar no WhatsApp
  • 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

 
GN⁺ 2024-12-04
Comentários do Hacker News
  • O criador do Phoenix respondeu perguntas sobre Elixir/Phoenix/LiveView e apresentou um novo instalador

    • O novo instalador permite instalar projetos Elixir e Phoenix com um único comando
    • Foram fornecidos comandos de instalação para macOS/Linux e Windows
    • Trata-se de uma extensão do instalador oficial do Elixir
    • Também há um guia de instalação sem usar |sh
  • O LiveView é um recurso que superou limitações do Rails e começou inicialmente como a funcionalidade de "channels"

    • O LiveView tinha dificuldade de integração com views estáticas, mas com o tempo passou a permitir compartilhamento de código
    • O Phoenix 1.7 introduziu um novo layout e uma nova filosofia, trazendo inovação para o desenvolvimento de apps web
  • Uma startup foi construída usando LiveView, mas acabou fracassando

    • A integração com React funcionava bem, e também não houve problemas para conectar bibliotecas complexas
    • Problemas que já haviam sido resolvidos no React precisaram ser resolvidos do zero no LiveView
  • Foram construídos vários apps de produção com LiveView, e embora a conexão WebSocket seja necessária, há várias vantagens

    • A geração de código aumenta a produtividade, e renderizar o frontend usando Elixir é eficiente
    • É fácil adicionar recursos em tempo real por meio de WebSocket
    • Manter a lógica de negócio em Contexts facilita a disponibilização de APIs
  • O uso de LiveView trouxe de volta o entusiasmo pelo desenvolvimento web, e a produtividade é muito alta

    • Há cursos disponíveis para aprender LiveView, e a expectativa é que mais pessoas adotem esse framework
  • Em apps web típicos, o custo de coordenação entre desenvolvedores de frontend e backend é o mais alto

    • O LiveView ignora esse problema e viabiliza o desenvolvimento full-stack
    • É possível entregar mais funcionalidades com menos desenvolvedores
  • O LiveView vem sendo usado desde 2019, e o desenvolvimento foi prazeroso

    • O LiveView foi apresentado pela primeira vez na ElixirConf EU
  • 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

    • É necessária uma discussão sobre a variedade de bibliotecas em JS e a possibilidade de adoção de tecnologias de IA
  • O LiveView oferece uma experiência de desenvolvimento muito produtiva, mas seria desejável resolver problemas em conexões instáveis

    • O suporte offline é difícil, mas é necessário haver suporte para conexões instáveis