Linguagens de Servidor

Também conhecidas como “server-side languages“, são linguagens que rodam do lado do servidor, ou seja, aquela linguagem que fica “por trás dos panos”, que fornece a lógica da aplicação em si.

Por quê precisamos das linguagens de servidor?

Sites precisam de dois componentes para funcionar: um cliente e um servidor web. Clientes, como já vimos, é qualquer navegador ou dispositivo que é usado para ver e interagir com o sites. Todos os arquivos e dados associados com a exibição de um site em um cliente são armazenados em um servidor web.

Para exemplificar, ao fazer uma compra online, muitos dos processos necessários para que tudo funcione perfeitamente estão rodando no servidor web da loja. Sites de compras precisam de coisas como contas de usuário, controle de estoques, descrições dos produtos, a capacidade de lidar com informações financeiras dos clientes e mais um monte de coisa que garante que, ao final do processo, você receba o produto no conforto do seu lar. Todas essas informações são armazenadas em grandes bancos de dados em servidores da web, longe de navegador e também dos usuários.

Para então exibir os produtos na tela, você precisa de uma linguagem de programação que rode em um servidor. Tal linguagem de programação irá cuidar da criação (insert) , leitura (select), atualização (update) e exclusão (delete) dos produtos a partir de um banco de dados, que é onde os produtos estão armazenados. Dessa forma, acabamos de aprender o que são as server-side languages.

O processo de compras

Para entender algumas das funções que as linguagens de servidor são capazes de realizar, vamos dar uma olhada no processo de compra de uma loja online.

Depois de ter preenchido o seu carrinho de compras e estar pronto para finalizar a compra, a primeira coisa que o site de compras vai exigir de você é que faça login caso já seja um usuário cadastrado, ou realizar seu cadastro, caso ainda nunca tenha comprado nesta loja. Quando você faz o login (preenche seu usuário e senha), as informações digitadas são enviadas para um servidor web para validação. Essa validação é feita através da linguagem de programação escolhida, que vai comparar as informações fornecidas pelo usuário com o que está armazenado no banco de dados. Sendo verdadeiras as informações, o usuário poderá avançar com o processo de compra.

Exigindo o login do usuário, sites de compras conseguem melhorar a experiência do usuário ao lembrar, por exemplo, de informações como endereço de entrega e dados do cartão de crédito, que agilizam portanto o processo de compra. Esse tipo de informação é armazenado juntamente com as credenciais de login no mesmo bancos de dados no servidor web.

Depois de ter feito uma compra, você pode querer deixar uma revisão do produtos para compradores futuros. Essa revisão pode vir através de um comentário ou uma avaliação em alguma escala (de 1 a 5, por exemplo), o que também vai exigir o login do usuário, para garantir que ele seja exatamente o comprador daquele produto/serviço. Mais uma vez temos a linguagem de programação trabalhando.

Linguagens de programação do lado do servidor são integrantes tanto da experiência de compra do usuário quanto de toda a web. Servidores web não armazenam somente documentos e HTML, armazenam também os processos necessários para garantir que uma aplicação seja entregue e funcione corretamente aos usuários do site.

Qual linguagem de programação devo escolher?

Na verdade, essa pergunta não tem uma resposta correta. Você pode utilizar a linguagem que melhor lhe servir, ou seja, aquela que vai tornar mais fácil desenvolver a aplicação que precisa. Cada uma tem sua particularidade mas todas de modo geral tem funcionalidades muito parecidas e são capazes de produzir um produto final idêntico, sem que seu usuário final consiga determinar se a aplicação foi feita utilizando a linguagem X ou Y.

Frameworks

Muitos dos processos realizados por um servidor web podem ficar repetitivos. Se pararmos para pensar, as aplicações do lado do servidor são frequentemente concebidas para lidar com os pedidos similares de milhares de usuários ao mesmo tempo. Para aliviar um pouco a carga de escrever código, os desenvolvedores começaram a criar algo que foi chamado de “framework”. O conceito de framework vem exatamente de frames (quadros). No lugar de gastar muito tempo desenvolvendo uma aplicação do zero, começaram a codificar funcionalidades que poderiam ser utilizadas de forma comum por outros desenvolvedores, dessa forma tornando o desenvolvimento mais fácil e ágil.

Exemplos de linguagem que rodam do lado do servidor:

  • PHP:
    • Ao contrário de outras linguagens que foram adaptadas para o uso na Web, PHP já foi projetada com desenvolvimento web em mente desde seu início. Muitos sistemas de gerenciamento de conteúdo como o WordPress são escritos em PHP.
    • Frameworks: Laravel, Symphony e Zend.
  • C# (pronuncia-se C-Sharp):
    • C# foi desenvolvido pela Microsoft e é normalmente utilizado pelas empresas para gerenciar grandes bases de dados. Por causa da prevalência de software Microsoft em algumas empresas, o C# foi adotado rapidamente nestas empresas.
    • Frameworks: ASP.NET
  • Java:
    • Java é uma das linguagens mais antigas e mais utilizadas em programação. Originalmente destinada para ser usada para desenvolver aplicativos para desktop independentes, uma equipe de desenvolvedores encontrou uma maneira de usá-la em servidores web no início dos anos 2000, e vem sendo usada até hoje. Vale lembrar que Java é a linguagem base para quem quer se tornar um desenvolvedor Android.
    • Framework: Spring.
  • Python:
    • Python é popular em universidades para ensinar aos alunos as primeiras regras de programação. Sendo popular em centros acadêmicos, sua comunidade prospera, principalmente nas áreas de ciências e matemática.
    • Framework: Django.
  • Ruby:
    • Ruby é uma linguagem de programação elegante e produtiva. Originalmente popular no Japão nos anos 90, Ruby cresceu em popularidade no resto do mundo após o Framework Ruby on Rails.
    • Framework: Ruby on Rails.
  • Node.js (JavaScript):
    • Devido a popularidade do JavaScript, que nasceu com o objetivo de adicionar interatividade à interface de um site, alguns membros da comunidade encontraram uma maneira de também usá-lo como uma linguagem do lado do servidor. Node usa a mesma sintaxe JS no servidor web.
    • Frameworks: Expresso & Hapi.

Desta forma, concluímos mais uma etapa do nosso curso “Guia Básico do Desenvolvedor Web“. Sei que está desejando colocar a mão na massa, mas é importante entender como tudo funciona para que no futuro seus projetos sejam executados da melhor forma possível.