12 pontos por xguru 2021-03-02 | 7 comentários | Compartilhar no WhatsApp
  • SPA + API + JSON tornam o desenvolvimento e o ciclo de releases mais lentos

  • A ideia é que, usando WebSocket bidirecional, seja possível ter renderização no servidor, prototipagem rápida, SEO intuitivo e desenvolvimento ágil de funcionalidades

→ Enviar pelo socket o HTML alterado ou um texto simples

→ Em vez de validações complexas de valores e objetos de erro no cliente, o servidor faz a validação

→ Verificar se o usuário está conectado pelo fato de a conexão do socket estar ativa

→ Também fica fácil dar suporte a chat multiusuário e colaboração em documentos

  • O retorno do Rails: Turbolinks, Stimulus, StimulusReflex, CableReady e o ViewComponent do GitHub

  • O Hotwire, da Basecamp, também usa a mesma tecnologia

7 comentários

 
chanhee 2021-03-03

Parece que o Blazor Server do .NET funciona de forma parecida. Mas, quando você tenta usar isso de verdade em produção, acaba passando por muitos casos bem cansativos...

Tirando distribuir tudo junto no Electron, com servidor e cliente empacotados, sinceramente não vi muita vantagem.

 
kunggom 2021-03-04

Você poderia compartilhar alguma experiência prática mais específica?

 
andrewchaa 2021-03-03

Mas os endpoints de API, uma vez criados, podem ser usados em mobile, web e desktop, então têm uma boa versatilidade; por isso, não sei se dá para dizer que WebSocket é o futuro.

 
colus001 2021-03-02

Elixir Phoenix LiveView, ou até o RoR Stimulus Reflex, têm um conceito parecido,

Também existe aquela história de que o Chris McCord começou fazendo isso com Rails, mas migrou para Elixir por causa de problemas estruturais.

 
iolothebard 2021-03-02

Puro barulho de girar a manivela...

 
xguru 2021-03-02

Acho que dá para encarar isso como “olha, existe esse tipo de argumento também”.

Concordo que, com o JavaScript sendo usado em todo lugar, surgiram muitos termos como SPA, SSR etc., e tudo acabou ficando excessivamente complexo.

Como o WebSocket permite comunicação bidirecional, parece provável que ele passe a ser mais utilizado, mas acho que vou continuar esperando que apareça algo mais prático do que o Hotwire.

 
galadbran 2021-03-04

(Talvez seja porque eu não entenda muito bem) mas tem uma coisa que recentemente achei até engraçada: num web app com React + Laravel, quando só o lado do servidor muda, o deploy basicamente é a marcação de versão e algumas linhas de código alteradas; mas quando o front muda, precisa buildar o app frontend e o tamanho do deploy fica relativamente bem maior, a ponto de dar risada. Também fica difícil aplicar rapidamente uma customização urgente de forma temporária. Talvez seja porque isso acaba sendo comparado com experiências de desenvolvimento anteriores.