CriandoBits
Identifique-se Entrar Esqueceu a senha? Esqueci minha senha

Programação - Front-end e Back-end

Por Benedito Silva Júnior - publicado em 02/08/2016


Front-end e Back-end

Em ciência da computação, front-end e back-end são termos generalizados que se referem às etapas inicial e final de um processo. O front-end é responsável por coletar a entrada do usuário em várias formas e processá-la para adequá-la a uma especificação em que o back-end possa utilizar. O front-end é uma espécie de interface entre o usuário e o back-end. Ambos podem estar distribuídos entre um ou mais sistemas.

Desenvolvimento de software

Em arquitetura de software há muitas camadas entre o hardware e o usuário final. Cada uma pode ser dita como tendo um front-end e um back-end. O front é uma abstração, simplificando o componente subjacente pelo fornecimento de uma interface amigável.

Em projetos de software, por exemplo, a arquitetura modelo-visão-controlador fornece o front-end e o back-end para o banco de dados, o usuário e para os componentes de processamento. A separação de sistemas de software em front-end e back end simplifica o desenvolvimento e separa a manutenção. Uma regra de ouro é que o lado front (ou "cliente") é qualquer componente manipulado pelo usuário. O código do lado servidor (ou "back-end") reside no servidor.

A confusão surge quando alguém tem que fazer edições no front-end para arquivos do lado servidor. Muitos projetistas HTML, por exemplo, não precisam estar no servidor quando eles estão desenvolvendo o HTML. Reciprocamente, engenheiros do lado servidor, por definição, nunca estão em qualquer coisa, mas um servidor. Considera-se os dois para, finalmente, fazer um site web funcional e interativo.

Para subsistemas de computação maiores, um gerenciador de arquivos gráficos é um front-end para o sistema de arquivos do computador e um shell faz a interface com o sistema operacional. O front-end reveste o usuário e o back-end executa os programas do sistema operacional em resposta.

Usar a interface de linha de comando (ILC) exige a aquisição de terminologia especial e memorização de comandos, desta forma uma interface gráfica do usuário (IGU) age como um ambiente desktop de front-end, em vez disso. No ambiente Unix, ncurses é um front-end semi-gráfico simples para a ILC. No nível de ILC do Unix, propriamente dito, muitos programas orientados a stream de bytes (isto é, usando stdin/stdout/stderr como suas interfaces) agem como filtros - programas standalone que também podem servir como front-ends e back ends para outros programas. (Eles funcionam canalizando dados entre eles mesmos, muitas vezes para processamento de texto.

Por exemplo: $ grep palavra ~usuario/dir/arquivodeentrada | sort | tee ~usuario/dir/arquivodesaida

Em alguns sistemas, tais como aqueles baseados em Unix chama-se front-end às interfaces gráficas que permitem ao usuário interagir com programas que trabalham originalmente em modo texto. A título de exemplo temos o comando mkfs pertencente à construção de vários sistemas de ficheiros.

Redes de computadores

Em redes de computadores, front-end pode se referir a qualquer hardware que otimiza ou protege o tráfego de rede. Ele é chamado de hardware front-end de aplicação devido ser localizado na fronteira da rede. O tráfego de rede passa através do hardware do front-end antes de entrar na rede.

Outros usos

Em sistemas de gerenciamento de conteúdo os termos front-end e back-end podem se referir às visões do usuário final do SGC e às visões administrativas, respectivamente.

Em compiladores, o front-end traduz um código fonte de programa de computador em uma representação intermediária e o back-end trabalha com a representação intermediaria para produzir código em uma linguagem de saída. O back-end normalmente otimiza-se para produzir código que execute mais rápido.

A distinção de front-end/back-end pode separar a seção parser que lida com o código fonte e o back-end que gera código e o otimiza. Alguns projetos, como o GCC, oferecem escolhas entre vários front-ends (analisando linguagens fonte diferentes) ou back-ends (gerando código para processadores de alvo diferentes).

Em síntese de voz, o front-end refere-se à parte do sistema de síntese que converte o texto de entrada em uma representação fonética simbólica e o back-end converte a representação fonética simbólica em sons reais.

No contexto de aplicações WWW, um mediador é um serviço que funciona simultaneamente como um servidor em seu front-end e como um cliente em seu back-end.

Algumas linguagens para web front-end e back-end

Front-end

» XHTML;
» HTML5;
» CSS;
» CSS3;
» Javascript;
» AJAX (Não é uma linguagem, é um conceito);
» jQuery (Não é uma linguagem, é uma Biblioteca);
» CFML;
» NodeJs.

Back-end

» Perl Catalyst;
» Ruby on Rails (Não é uma linguagem, é uma plataforma);
» .NET (Não é uma linguagem, é uma plataforma);
» ASP;
» C♯;
» VB;
» Java;
» JSP;
» PHP;
» Python;
» Node.js (Não é uma linguagem, é uma plataforma).


 
Voltar a página anteriorVoltarSubir ao topo desta páginaTopo