Front-end e back-end

Em ciência da computação, front-end, interface frontal ou parte frontal[1] e back-end, parte secundária, parte de suporte ou parte de retaguarda[2] são termos generalizados que se referem às etapas inicial e final de um processo. O front-end é responsável por coligir a entrada do usuário em várias formas e processá-la para adequá-la a uma especificação em que o back-end a possa utilizar.

Desenvolvimento de software

[editar | editar código-fonte]

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-end é uma abstração, simplificando o componente subjacente pelo fornecimento de uma interface amigável, como por um exemplo um navegador de Internet, ou um formulário para um determinado usuário.

Em projetos de software, por exemplo, a arquitetura modelo-visão-controlador fornece o -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 frontal (ou "cliente") é qualquer componente manipulado pelo usuário. O código do lado do servidor (ou back-end) reside no servidor. A confusão surge quando alguém tem que fazer edições na parte frontal 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 num 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áfico é 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

[editar | editar código-fonte]

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.

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.[3]

Algumas tecnologias para web front-end e back-end

[editar | editar código-fonte]

Referências

  1. Grupo de peritos, CT113-Comissão Técnica de Terminologia Informática, Portugal, 2000, IATE. «front-end». IATE. Consultado em 1 de abril de 2019 
  2. Grupo de peritos, CT113-Comissão Técnica de Terminologia Informática, Portugal, 2000, IATE. «back-end». IATE. Consultado em 1 de abril de 2019 
  3. Ka-Ping, Yee. «Definition of a Mediator». Ka-Ping. In the context of WWW applications, a mediator is a service that functions simultaneously as a server on its front end and as a client on its back end. 
Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.