From dba7f49c041a7652ccef83dd8e2ddb4e31044e84 Mon Sep 17 00:00:00 2001 From: Lucas Chuairi Cruz Date: Thu, 30 Aug 2018 11:10:37 -0300 Subject: [PATCH] Atualizando COMMENTS --- COMMENTS.md | 24 ++++++++++++++++++++++++ COMMENTS.md | 27 --------------------------- 2 files changed, 24 insertions(+), 27 deletions(-) create mode 100644 COMMENTS.md delete mode 100644 COMMENTS.md diff --git a/COMMENTS.md b/COMMENTS.md new file mode 100644 index 0000000..a213961 --- /dev/null +++ b/COMMENTS.md @@ -0,0 +1,24 @@ +Primeiros passos: + +1) Descobrir como o react se comporta com websockets. +2) Descobrir como o node se comporta com websockets. +3) Aprender o básico de nodejs. + +Comecei lendo este post[1] que explicava como desenvolver um chat usando nodejs e websockets. Ele ensinava a usar websockets vanilla e me pareceu bem tranquilo, então fui seguindo com o desenvolvimento. + +Após ter o básico de websockets rodando, comecei a mockar os dados e fui me preocupar com a arquitetura do projeto. Ao desenha-la, senti necessidade de usar Redux pra compartilhar estados que a aplicação teria. Segui este caminho, mockando todas as chamadas das actions. Estava fazendo bastante sentido pra mim. + +Com a arquitetura pronta, comecei o layout que não demorou muito tempo pra ficar pronto. +Com a finalização do layout, comecei a desenvolver a interação entre o client e o server e fui me aprofundando no websockets. Começou a ficar complexo tratar todos os eventos e senti necessidade de usar alguma lib que abstraísse algumas informação no envio e recebimento dos eventos. Foi ai que migrei para o Socket.io[2]. +O maior ganho dele, pra mim, é facilidade pra controlar o envio de mensagens entre o front e o backend. + +Feito isso, comecei a perceber que a minha arquitetura não estava boa. O Redux não estava fazendo seu papel corretamente e muitas vezes o socket.io passava por cima dele. Fiz uma busca em projetos semelhantes e todos que usavam Redux com websocket me parecia muita forçação de barra. Decidi que não fazia sentido, para controle do chat, ter os dois, e foi ai que decidi remover o Redux do projeto e deixar que os listeners do Socket.io controlassem o estado da aplicação. + +Tendo a estrutura das conversas e canais consolidadas, comecei a me preocupar em criar algumas features importantes e de dar mais carinho ao layout. + +Com tudo pronto, foi só subir para o heroku. + +Com a aplicação rodando, pensei que seria interessante brincar com service workers e tentar implementar um push notification nas trocas de mensagens. Apanhei um pouco mas no final funcionou bem :P. + +[1] https://medium.com/@martin.sikora/node-js-websocket-simple-chat-tutorial-2def3a841b61 +[2] https://socket.io/ \ No newline at end of file diff --git a/COMMENTS.md b/COMMENTS.md deleted file mode 100644 index 38aacaf..0000000 --- a/COMMENTS.md +++ /dev/null @@ -1,27 +0,0 @@ -Primeiros passos: - -1) Descobrir como o react se comporta com websockets. -2) Descobrir como o node se comporta com websockets. -3) Aprender o básico de nodejs. - -Comecei lendo este post[1] que explicava como criar um chat com nodejs e websockets. Ele ensiva a usar websockets vanilla e me pareceu bem tranquilo, então fui seguindo com o desenvolvimento. - -Após ter o basico de websockets rodando, comecei a mockar os dados e fui me preocupar com o layout. Ao criar a arquitetura, senti necessidade de usar Redux pra compartilhar estados que a aplicação teria. - -Com o layout pronto, comecei a desenvolver a interação entre o client e o server e fui me aprofundando no websockets. Começou a ficar complexo e senti a necessidade de usar alguma lib que abstraisse algumas coisas. Foi ai que migrei para o Socket.io[2]. -O maior ganho dele, pra mim, é facilidade pra controlar a conexão entre o front e o backend. - -Feito isso, comecei a perceber que a minha arquitetura não estava boa. O Redux não estava fazendo seu papel corretamente e muitas vezes o socket.io passava por cima dele. Foi ai que decidi remover o Redux do projeto e deixar que os listeners do Socket.io controlassem o estado da aplicação. - - -Mudando arquitetura. Remoção do Redux, pois o chat foi pra um caminho onde ele não seria necessário. Como comecei com tudo mockado, arquitetei pensando em requests, oq nãoa contece no WS - -Tendo a estrutura das conversas e canais consolidadas, comecei a me preocupar em criar algumas features importantes e de dar mais carinho ao layout. - -9) Layout + refactor grid e componentes - -Com tudo pronto, foi só subir para o heroku. - -10) Service Workers + Push notification - -[1] https://medium.com/@martin.sikora/node-js-websocket-simple-chat-tutorial-2def3a841b61 -[2] https://socket.io/ \ No newline at end of file