search A mídia que reinventa a empresa

Desenvolvimento web em 2018: servidor ou cliente?

Desenvolvimento web em 2018: servidor ou cliente?

Por Fabien Paupier

Em 23 de abril de 2025

O desenvolvimento da Web passou por sucessivas revoluções desde a criação da Internet, principalmente devido aos novos usos oferecidos por plataformas inovadoras que exploram as mais recentes tecnologias disponíveis. Desde os anos 2000, a proporção de desenvolvimento do lado do cliente e do lado do servidor tem se inclinado ciclicamente em favor de um ou de outro. Produzimos esta comparação de estruturas com o objetivo de entender essa evolução para que possamos olhar para os próximos anos e fazer as escolhas tecnológicas corretas.

Evolução do desenvolvimento cliente-servidor ao longo dos anos

  1. Antes de 2000: Web 1.0. Os computadores pessoais não eram muito potentes e os usos consistiam principalmente na leitura de páginas HTML e na comunicação por e-mail e bate-papo. O desenvolvimento era feito principalmente no lado do servidor.
    Usos: leitura, navegação e e-mail
    Sites: Yahoo, Lycos, Hotmail, Caramail
  2. 2000 - 2010: Web 2.0. Os terminais fixos e móveis tornam-se cada vez mais avançados. Os navegadores da Web são capazes de executar aplicativos SaaS com um alto nível de interatividade. Isso marca o desenvolvimento de estruturas JavaScript no lado do cliente.
    Usos: bate-papos instantâneos, videoconferências, mobilidade, compartilhamento de fotos e vídeos, software on-line etc.
    Sites: Facebook, Twitter, Salesforce, Airbnb
  3. 2010 - 2020: Web 2.0 enriquecida: a enorme quantidade de dados coletados dos usuários de aplicativos da Web dá origem a um reprocessamento maciço desses dados para alimentar algoritmos. A capacidade de computação necessária para esse reprocessamento só pode ser fornecida no lado do servidor.
    Usos: redirecionamento de publicidade, recomendação de produtos, assistência, pesquisa por voz etc.
    Plataformas: Criteo, Amazon, Google Home, Siri

E quanto aos anos após 2020? Parece que estamos caminhando para a Web 3.0 ou a Web inteligente. Graças à grande quantidade de dados coletados de terminais tradicionais e objetos conectados, estamos entrando na era da assistência: não estamos mais procurando coisas, estamos recebendo recomendações de todos os tipos de produtos e serviços. Mais concretamente, os serviços da Web em breve poderão recomendar coisas que não imaginamos e nos ajudar como um ser humano com grande conhecimento faria... em todos os assuntos. Desse ponto de vista, o processamento de informações no lado do servidor é imenso. O front-end (cliente) mantém sua função atual de capturar e recuperar informações.

A função das estruturas de desenvolvimento na criação da Web

Dada a extensão do desenvolvimento necessário para projetar um aplicativo moderno da Web, uma estrutura é essencial.

Estrutura: definição

Uma estrutura é uma estrutura que permite que os desenvolvedores estruturem seu trabalho usando um conjunto de ferramentas, uma estrutura e modelos prontos para uso. Há frameworks de desenvolvimento para tudo: criação de sites de comércio eletrônico, aplicativos móveis, aplicativos da Web (SaaS) etc.

Melhores frameworks de desenvolvimento web de 2017

  • Django: o Django é uma estrutura de back-end de código aberto desenvolvida em Python. Ele foi criado especialmente para criar sites avançados e de alto nível. Aqui estão alguns sites criados com a estrutura Django. Exemplos de sites de usuários :
    • liberation.fr
    • instagram.com
    • openstack.org
    • mozilla.org
  • AngularJs: O AngularJs é uma estrutura de código aberto desenvolvida pelo Google em JavaScript. Ele oferece um alto nível de interatividade que é particularmente apreciado no desenvolvimento de front-end de aplicativos da Web (SaaS, comparadores, plataformas interativas). Exemplos de sites de usuários :
    • netflix.com
    • upwork.com
    • Youtube no PS3
    • weather.com
  • React: o React foi criado e é mantido pelo Facebook. O React não é uma estrutura full-stack como as duas anteriores. Ele fornece apenas exibições e funções de retorno de chamada para renderizar o código HTML. Exemplos de sites de usuários:
    • facebook.com
    • instagram.com (que também usa o Django para o lado do servidor)
    • 6play
    • Airbnb (também usa Ruby on Rails)
  • Ruby on Rails (RoR): o RoR é a estrutura MVC gratuita mais popular. Essa estrutura foi projetada para desenvolver aplicativos da Web mais rapidamente. Ela permite que os desenvolvedores criem recursos com menos código do que outras estruturas. Exemplos de sites de usuários:
    • shopify.com
    • slideshare.com
    • github.com

Django, AngularJs, React, RoR: qual é a diferença?

A curva abaixo mostra a evolução do número de tópicos abertos no Stack Overflow desde a criação da plataforma sobre os 4 frameworks Django, Angular, React e Ruby on Rails:


Podemos ver imediatamente que o Django tem sido uma tecnologia persistente desde 2010 e que ganhou a confiança dos desenvolvedores. Também houve um aumento nos intercâmbios sobre essa estrutura desde 2014. É provável que essa tendência continue. As estruturas JavaScript literalmente explodiram em 2013. Elas devem permanecer em níveis altos, desde que os novos usos não atrapalhem o sucesso. Por fim, o Ruby on Rails teve seu auge, mas está em declínio gradual desde 2011.

Vantagens e desvantagens dessas estruturas

Aqui estão os principais pontos dessas estruturas de desenvolvimento:

Vantagens Desvantagens
Django
  • Estrutura full-stack (é muito fácil combinar Django e React ou Django e Angular)
  • Turnkey: modelos, lado do servidor, painel de administração para configurar um site sem codificação
  • Ideal para criar um site poderoso
  • Uso do Model-Template-View
  • Uso do Mapeador Relacional de Objetos (ORM) para mapear objetos para o banco de dados
  • Compatível com MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2 e outros com drivers adicionais
  • Fácil migração nativa entre mecanismos de banco de dados (sem necessidade de reescrita)
  • Fornecido com seu próprio servidor de desenvolvimento
  • Muito estruturado, até demais para especialistas que desejam mais flexibilidade
  • Estruturas de código grandes, mesmo para funções pequenas
  • AngularJS
  • Ideal para aplicativos de página única e aplicativos móveis
  • Uso do modelo MVC
  • Uso de componentes que definem a aparência da página (o que, como, onde)
  • Todos os componentes podem ser vinculados entre si
  • Pouca ou nenhuma compatibilidade com mecanismos de pesquisa (até mesmo com o Google). Você precisa de uma ferramenta de terceiros como o Prerender
  • Não é uma estrutura full-stack como o Django
  • Não há migração entre o Angular 4 e o Angular 1
  • React
  • Ferramenta avançada para desenvolvimento front-end (cliente)
  • Ideal para aplicativos de página única e criação de aplicativos móveis nativamente
  • Renderização de partes do conteúdo que foram alteradas em vez de renderizar novamente uma página inteira (mais rápido)
  • Uso de um DOM virtual junto com o real
  • Tudo é criado usando componentes
  • O React não pode ser considerado uma estrutura por si só. Ele precisa ser complementado por muitas outras tecnologias
  • É muito difícil integrar designs complexos criados no Photoshop ou no Sketch em arquivos JSX. Os designers de UX sofrem com essa complexidade.
  • Fraca compatibilidade com SEO. No entanto, é possível usar o isomorfismo: a renderização da página pode ser calculada tanto no lado do servidor quanto no lado do cliente).
  • Ruby on Rails
  • Menos código para a mesma funcionalidade (desenvolvimento rápido)
  • Menos configuração, mais convenção
  • Uso do conceito MVC
  • Compatível com a maioria dos bancos de dados relacionais e não relacionais
  • Pouca configuração, mais convenção (isso também é uma desvantagem para alguns)
  • O nível de conhecimento necessário para começar é uma barreira de entrada para iniciantes
  • O Ruby requer mais recursos de servidor do que as estruturas Django e PHP.
  • Tecnologia em declínio

Dica: obtenha aconselhamento profissional
Para iniciar um projeto Django, consulte um especialista, como a Pilot Systems, que poderá orientá-lo para o serviço certo: arquitetura, suporte, desenvolvimento com preço fixo ou controle remoto.

Vantagens e desvantagens do desenvolvimento voltado para o cliente

O desenvolvimento web voltado para o cliente oferece várias vantagens. Em 2017-2018, podemos dizer facilmente que a maioria dos esforços de desenvolvimento é orientada para o front-end pelos seguintes motivos:

  • Atualmente, muitos negócios são realizados no lado do cliente: navegação, compartilhamento de dados, comunicação por vídeo etc. Os sites se tornaram plataformas em que o uso tem precedência, pois criam a fidelidade do usuário e, portanto, capturam muitos dados.
  • O desenvolvimento de front-end oferece uma grande quantidade de interatividade, daí a explosão de estruturas JavaScript.
  • O desenvolvimento de front-end significa que a mesma linguagem (JavaScript) pode ser usada tanto na Web quanto em dispositivos móveis. Isso significa melhor desempenho e menos demanda no servidor (desde que o terminal seja recente).
  • Ao transferir os negócios para o lado do cliente, você pode aproveitar o poder dos navegadores da Web e dos terminais modernos para fornecer informações rapidamente ao usuário. Evitar trocas com o servidor significa que você pode ser mais rápido;
  • As tecnologias JavaScript estão se desenvolvendo rapidamente. Isso significa que há muitas possibilidades em termos de funcionalidades e muitos desenvolvedores para implementá-las. Uma tecnologia em declínio dificulta o recrutamento desses perfis.
  • Os navegadores estão se tornando cada vez mais sofisticados (o Chrome executa JavaScript particularmente bem, assim como as versões mais recentes do Firefox e do Edge). Eles são projetados para aplicativos da Web e SaaS.

Por outro lado, aqui estão algumas desvantagens a serem observadas no desenvolvimento do cliente:

  • O desenvolvimento front-end é fortemente limitado por muitos fatores externos que não podem ser controlados: disponibilidade da conexão com a Internet, plug-ins do navegador, heterogeneidade dos navegadores, heterogeneidade da potência do terminal etc. Portanto, é difícil confiar no cliente. Ainda mais porque um usuário experiente pode encontrar facilmente maneiras de contornar a segurança do front-end.
  • As tecnologias orientadas ao cliente têm uma vida útil curta, como vimos acima com as estruturas JavaScript versus Django. Ser "bom no front-end" requer treinamento e monitoramento regular. Também leva tempo para remover e reconstruir um legado com tecnologia mais moderna.
  • As estruturas JavaScript dificilmente são compatíveis com SEO. Elas precisam ser apoiadas por soluções de terceiros que não são mais do que pernas de pau diante de sites Django ou Wordpress.
  • O desenvolvimento front-end é mais complexo e, portanto, mais caro.

Vantagens e desvantagens do desenvolvimento no lado do servidor

O desenvolvimento no lado do servidor oferece maior simplicidade e padronização:

  • Ao centralizar os negócios no lado do servidor, o desenvolvimento pode ser padronizado. Isso ocorre principalmente quando há várias frentes (aplicativo da Web, aplicativo móvel, software off-line etc.).
  • Mover a inteligência para o lado do servidor geralmente resulta em um front-end HTML mais simples, que é melhor rastreado pelos bots do Google. Portanto, é uma boa aposta de SEO.
  • Acima de tudo, o desenvolvimento do servidor deve aproveitar ao máximo as possibilidades oferecidas pelas APIs (serviços da Web). Ele deve permitir que um aplicativo da Web se interconecte facilmente com outros aplicativos da Web com total segurança.
  • A troca de dados entre aplicativos é uma tendência importante. Ele permite que você se concentre na funcionalidade essencial e a aprimore com serviços de terceiros.
  • O desenvolvimento no lado do servidor permite explorar as infinitas possibilidades em termos de processamento e reprocessamento de dados, graças aos imensos volumes de armazenamento e à capacidade de computação dos data centers combinados com algoritmos e softwares de última geração.

Aqui estão as desvantagens do desenvolvimento da Web focado principalmente no back-end:

  • Em 2017-2018, há cada vez menos negócios no lado do servidor e mais no lado do cliente, graças ao JavaScript e aos navegadores modernos. No entanto, essa tendência pode ser revertida com sistemas de Inteligência Artificial que exigirão menos interação com o usuário (além da captura de voz).
  • A troca de dados entre cliente e servidor tende a tornar a experiência do usuário mais lenta. No entanto, os usuários finais estão acostumados a experiências rápidas em todas as circunstâncias, e suas expectativas são realmente muito altas.

Conclusão

Vimos neste artigo que a evolução do desenvolvimento da Web no lado do cliente em relação ao desenvolvimento da Web no lado do servidor não é fixa, mas cíclica. De fato, é possível que os desenvolvimentos no lado do servidor recuperem a importância graças à Web 3.0, ao descanso da API e à IA, embora as plataformas continuem a usar estruturas JavaScript para sua interatividade. Para acompanhar o ritmo dos desenvolvimentos na Web, você precisa de uma solução durável e flexível, como o Django ou uma combinação de Java e Angular, para que possa ajustar seus desenvolvimentos sem se encontrar em um impasse dispendioso.

Artigo traduzido do francês