Separar completamente o front-end do back-end é o futuro?
Fala, galera. Beleza?
Com a popularização de APIs Restful e o surgimento de diversos frameworks para desenvolvimento de SPAs, ou Aplicações de Página única, temos visto cada vez mais aplicações que não dependem do back-end para serem renderizadas. O usuário acessa o site, recebe toda a aplicação e, a partir dai, toda a comunicação com o servidor é feita apenas para enviar e receber dados, e não a página completa.
Vocês acreditam que aplicações tradicionais de múltiplas páginas, em que cada interação do usuário gera uma resposta do servidor contendo uma nova página, estão morrendo? Ou ainda existem situações que não podemos contar com SPAs? Deixem a opinião de vocês!
Abraços :)
Com a popularização de APIs Restful e o surgimento de diversos frameworks para desenvolvimento de SPAs, ou Aplicações de Página única, temos visto cada vez mais aplicações que não dependem do back-end para serem renderizadas. O usuário acessa o site, recebe toda a aplicação e, a partir dai, toda a comunicação com o servidor é feita apenas para enviar e receber dados, e não a página completa.
Vocês acreditam que aplicações tradicionais de múltiplas páginas, em que cada interação do usuário gera uma resposta do servidor contendo uma nova página, estão morrendo? Ou ainda existem situações que não podemos contar com SPAs? Deixem a opinião de vocês!
Abraços :)
Caio Rolla
Curtidas 7
Melhor post
Estevão Dias
30/10/2018
Fala cara, blz?
Olha, eu ainda acho que tem espaço para as aplicações monolíticas (aquelas onde tudo fica num lugar só e o back-end processa HTML para servi-lo ao front-end), até baseado na popularidade do Vue, que de certa forma foi abraçado pela comunidade como uma evolução do jQuery. Nas aplicações monolíticas o processo de autenticação, por exemplo, é mais simples.
Mas ter espaço não significa muito porque as coisas mudam e embora o Vue esteja por aqui, Angular e React seguem com maior força em uma direção oposta. Existem inúmeras vantagens em separar completamente front-end e back-end, a começar pela facilidade em manter essas duas aplicações em equipes diferentes. Uma mesma API pode servir diferentes aplicações e não apenas uma. Por fim temos os microsserviços que descentralizam o banco de dados e permitem que aplicações se conectem pelo serviço que consomem e não pelos dados... sei não, heim, acho que é por aí que a coisa vai crescer :)
E vocês? já trabalharam com microsserviços, APIs...? diz aí ^^
Olha, eu ainda acho que tem espaço para as aplicações monolíticas (aquelas onde tudo fica num lugar só e o back-end processa HTML para servi-lo ao front-end), até baseado na popularidade do Vue, que de certa forma foi abraçado pela comunidade como uma evolução do jQuery. Nas aplicações monolíticas o processo de autenticação, por exemplo, é mais simples.
Mas ter espaço não significa muito porque as coisas mudam e embora o Vue esteja por aqui, Angular e React seguem com maior força em uma direção oposta. Existem inúmeras vantagens em separar completamente front-end e back-end, a começar pela facilidade em manter essas duas aplicações em equipes diferentes. Uma mesma API pode servir diferentes aplicações e não apenas uma. Por fim temos os microsserviços que descentralizam o banco de dados e permitem que aplicações se conectem pelo serviço que consomem e não pelos dados... sei não, heim, acho que é por aí que a coisa vai crescer :)
E vocês? já trabalharam com microsserviços, APIs...? diz aí ^^
GOSTEI 11
Mais Respostas
Aylan Boscarino
29/10/2018
Eu gosto de partir da ideia de que a diferença entre web e desktop (e mobile) está em decadência, essa forma de trabalhar com micro serviços e SPAs é um fenômeno que corrobora com essa ideia. Então esse modelo em que aplicações web e aplicações mobile ficam tão parecidas a ponto de compartilhar ferramentas de desenvolvimento (Angular e React, por exemplo) me parece ganhar mais e mais espaço no mundo de tecnologia.
GOSTEI 5
Mateus Silva
29/10/2018
Eu acredito que seja uma tendência já que torna o desempenho mais ágil.
Atualmente a comunidade mobile cresce a cada dia, com isso os aplicativos se tornam mais usados, logo uma página com cara de aplicativo será mais interessante para o usuário, já que ele utiliza aplicativos durante todo o dia.
Atualmente a comunidade mobile cresce a cada dia, com isso os aplicativos se tornam mais usados, logo uma página com cara de aplicativo será mais interessante para o usuário, já que ele utiliza aplicativos durante todo o dia.
GOSTEI 2
Caio Rolla
29/10/2018
Sim, acredito que hoje mais pessoas naveguem pela internet com dispositivos Mobiles do que com PCs... Quando criamos um site, precisamos pensar primariamente nesse público. Acredito que ferramentas como React e Angular são perfeitas para sites que visam esse público.
GOSTEI 2
Cristofer Sousa
29/10/2018
Salve pessoas.
Minha tese da pós graduação é justamente sobre isso abordo o por que da separação do back-end/front-end e a ruptura do pattern MVC.
Muitos projetos em Java e PHP(monólito) foram implementados sem a necessidade da época de pensar como seria a autonomia de duas camadas, back-end e front-end, pois até então JS só servia para validar formulário, e o trabalho "pesado" ficava jogando bean para interface e sendo processado via JSP ou Template, porém com o avanço da web e dispositivos, ficou claro que essa abordagem já era clara que não estava indo de encontro a uma experiência do usuário eficaz, com a entrada de AJAX/JSON as aplicações começaram a ter "desdobramento" melhor e uma certa independência e autonomia sobre cada frente. Esses foram os efeitos colaterais para surtir a separação do BE do FE, não tem como você oferecer uma boa experiência do usuário jogando informação pré-processada do servidor para o browser.
Além disso também temos a vantagem de usar essa separação do back-end, transmitindo apenas JSON para seu client e qualquer aplicação seja desktop, mobile, wearables e outros tipos de dispositivos, ou seja JSON é um padrão eficaz de troca de informação. Mostrando a autonomia e a independência que as plataformas possam ter sem criar grande complexidade.
Porém temos agora um grande barulho sobre SSR ( server side render) da qual precisa se discutir muito em qual momento isso deve ser empregado mas tanto React (Next) e o Vue (Nuxt) já oferecem essa condição maravilhosamente para ser empregado. Isso demonstra mais uma vez que ter o back-end processando e jogando informação para o browser não mais um caminho favorável.
Ref:
https://medium.freecodecamp.org/demystifying-reacts-server-side-render-de335d408fe4
https://br.vuejs.org/v2/guide/ssr.html
[ ]'s
Minha tese da pós graduação é justamente sobre isso abordo o por que da separação do back-end/front-end e a ruptura do pattern MVC.
Muitos projetos em Java e PHP(monólito) foram implementados sem a necessidade da época de pensar como seria a autonomia de duas camadas, back-end e front-end, pois até então JS só servia para validar formulário, e o trabalho "pesado" ficava jogando bean para interface e sendo processado via JSP ou Template, porém com o avanço da web e dispositivos, ficou claro que essa abordagem já era clara que não estava indo de encontro a uma experiência do usuário eficaz, com a entrada de AJAX/JSON as aplicações começaram a ter "desdobramento" melhor e uma certa independência e autonomia sobre cada frente. Esses foram os efeitos colaterais para surtir a separação do BE do FE, não tem como você oferecer uma boa experiência do usuário jogando informação pré-processada do servidor para o browser.
Além disso também temos a vantagem de usar essa separação do back-end, transmitindo apenas JSON para seu client e qualquer aplicação seja desktop, mobile, wearables e outros tipos de dispositivos, ou seja JSON é um padrão eficaz de troca de informação. Mostrando a autonomia e a independência que as plataformas possam ter sem criar grande complexidade.
Porém temos agora um grande barulho sobre SSR ( server side render) da qual precisa se discutir muito em qual momento isso deve ser empregado mas tanto React (Next) e o Vue (Nuxt) já oferecem essa condição maravilhosamente para ser empregado. Isso demonstra mais uma vez que ter o back-end processando e jogando informação para o browser não mais um caminho favorável.
Ref:
https://medium.freecodecamp.org/demystifying-reacts-server-side-render-de335d408fe4
https://br.vuejs.org/v2/guide/ssr.html
[ ]'s
GOSTEI 3
Mateus Silva
29/10/2018
Sim, acredito que hoje mais pessoas naveguem pela internet com dispositivos Mobiles do que com PCs... Quando criamos um site, precisamos pensar primariamente nesse público. Acredito que ferramentas como React e Angular são perfeitas para sites que visam esse público.
E quanto Ionic, você recomendaria?
GOSTEI 0
Caio Rolla
29/10/2018
Sim, acredito que hoje mais pessoas naveguem pela internet com dispositivos Mobiles do que com PCs... Quando criamos um site, precisamos pensar primariamente nesse público. Acredito que ferramentas como React e Angular são perfeitas para sites que visam esse público.
E quanto Ionic, você recomendaria?
Claro! O ionic fornece uma biblioteca completa de componentes visuais que se adaptam entre o Android e o IOS pra dar uma experiência mais nativa. Sem falar no Ionic Native que, através do cordova, permite utilizarmos os recursos do device (como câmera e storage) com uma abstração imensa!
Sou um grande fã do Ionic, e a versão 4 está demais. Finalmente vão liberar integração com outros frameworks como o Vue.
Abraços :)
GOSTEI 0
Mateus Silva
29/10/2018
Sim, acredito que hoje mais pessoas naveguem pela internet com dispositivos Mobiles do que com PCs... Quando criamos um site, precisamos pensar primariamente nesse público. Acredito que ferramentas como React e Angular são perfeitas para sites que visam esse público.
E quanto Ionic, você recomendaria?
Claro! O ionic fornece uma biblioteca completa de componentes visuais que se adaptam entre o Android e o IOS pra dar uma experiência mais nativa. Sem falar no Ionic Native que, através do cordova, permite utilizarmos os recursos do device (como câmera e storage) com uma abstração imensa!
Sou um grande fã do Ionic, e a versão 4 está demais. Finalmente vão liberar integração com outros frameworks como o Vue.
Abraços :)
Valeu cara, obrigado pela dica!
GOSTEI 0