Backend: nos bastidores da aplicação - Software
Backend: nos bastidores da aplicação
Por Colaborador externo | 02 de Dezembro de 2014 às 13h45
por Cesar Fernandes*
Quando estamos navegando por um site, seja pelo desktop ou pelos dispositivos móveis, mal percebemos que as aplicações foram desenvolvidas e atuam por duas etapas distintas: o frontend e backend. No frontend está tudo que acontece entre o usuário e a máquina, é um campo tangível no qual se encontram os botões, imagens, texto, logos, animações, etc. O backend, por sua vez, é invisível ao usuário, porém é o motor da aplicaçãp e o que de fato a faz rodar.
No backend também está toda infraestrutura, como servidores, armazenamento e rede. Apesar da complexidade da infraestrutura, a computação em nuvem (Cloud Computing) tem facilitado o trabalho no backend. Hoje em dia, por exemplo, é possível colocar no ar uma máquina virtual para sua aplicação em apenas alguns minutos. Este tipo de serviço é conhecido como 'infraestrutura como serviço' ou IaaS (Infrastructure as a Service).
Muitas pessoas podem se perguntar qual o nível de conhecimento necessário para isso. Olhando para os profissionais de tecnologia, vamos encontrar especialistas em frontend, em backend e em infraestrutura que têm conhecimentos distintos. No frontend Web, é necessário conhecimentos em tecnologias como JavaScript, CSS, HTML e frameworks como JQuery, AngularJS, Backbone.js, Foundation e Bootstrap. Já no frontend para dispositivos móveis existem linguagens especiais para o desenvolvimento nativo, como Swift, Objective-C, Java Android, C# Windows Mobile e frameworks para desenvolvimento híbrido como Ionic, Phonegap, Sencha, além de ferramentas como Eclipse, XCode e Visual Studio.
No backend, destacam-se linguagens como Pyhton, Ruby on Rails, PHP, Java, C# e ainda conhecimento de webservers como Apache e Nginx, modelagem de dados, linguagem SQL e estruturas de aplicação. Os especialistas ainda precisam se preocupar com performance, modelagem e construção de APIs em REST, além de subirem instâncias para a nuvem e configurarem todo o ambiente para que ele fique estável e escalável.
Com a necessidade de todos esses conhecimentos específicos, os desenvolvedores, seja do frontend como do backend, têm problemas para a vida toda.
Mas, assim como foi automatizada a criação de máquinas e servidores, a tendência é automatizar a programação de backend, incluindo a parte de servidores e banco de dados. Este tipo de serviço é conhecido como backend como serviço ou BaaS (Backend as a Service), e permite que desenvolvedores frontend não se preocupem com a camada do backend. Esse tipo de tecnologia atua como um construtor de Interface de Programação de Aplicações (APIs) instantâneo, fornecendo ao desenvolvedor tudo o que ele precisa para construir sua aplicação Web ou Mobile, desde servidores e banco de dados escaláveis até funcionalidades como Notificações Push, Webhooks e Triggers.
Ao desenvolver aplicações apoiadas nesse serviço, as empresas podem encontrar benefícios como economia de até 80% nos custos de desenvolvimento de backend e redução de até 50% no esforço de desenvolvimento de um aplicativo. Além disso, a ferramenta evita que o desenvolvedor perca tempo para aprender a subir máquinas, codificando APIs e ainda oferece escala. Com essas vantagens, a empresa pode focar nas melhorias de seus negócios ao mesmo tempo em que cria aplicações que atendam às expectativas dos seus clientes, garantindo a eles uma boa experiência.
*Cesar Fernandes é formado em Engenharia da Computação, com MBA em Gestão de Projetos e é Co-Fundador e Diretor de Vendas e Operações da Goldark.