Qual é a diferença entre "front-end" e "back-end"?
Componentes do aplicativo
Os desenvolvimentos da Web geralmente possuem componentes "front-end" e "back-end". Em um site orientado a dados, os componentes "back-end" incluem o banco de dados ou outros meios de armazenamento de informações, como arquivos XML. O "back-end" também pode incluir código executável no lado do servidor, usando linguagens de programação como PHP ou ASP. O "front-end" de uma aplicação web, com a qual o usuário interage, é normalmente entregue em HTML, folhas de estilo (CSS por sua sigla em inglês "Cascading Style Sheet") e JavaScript. Às vezes, os programadores se especializam em tecnologias "front-end" ou "back-end", mas, para sites pequenos, os dois lados do aplicativo podem funcionar.
Dados
Os dados de uma aplicação são normalmente considerados parte do "back-end". Construir um banco de dados para um site ou programa é geralmente o primeiro passo no processo de desenvolvimento. Por exemplo, um projeto que inclui um site para uma empresa de varejo pode começar criando um banco de dados de produto usando arquivos SQL ou XML. Os dados, portanto, às vezes são considerados as bases de um site ou aplicativo, com todo o resto construído sobre eles. O código do lado do servidor pode cuidar da comunicação entre o banco de dados e as tecnologias "front-end" do aplicativo, fazendo consultas aos dados e enviando os resultados para o navegador ou interface do usuário.
Lógica
A lógica da aplicação é geralmente considerada parte do "back-end", embora alguns aspectos possam ser implementados como parte do "front-end". Por exemplo, em um site de vendas no varejo, o código do lado do servidor pode implementar o que deve acontecer quando um cliente faz uma compra, em termos de processamento de dados e pagamento. No entanto, a interface do usuário para o site também pode incluir funções do lado do cliente em JavaScript, para validar alguns detalhes dos dados inseridos pelo cliente, antes de enviá-los ao servidor. O navegador da Internet do usuário é o cliente, para que o código executado no lado do cliente seja executado dentro desse navegador no computador do usuário, enquanto os programas de "back-end" são executados no servidor da web.
Interação com o usuário
A interação com o usuário é a principal atividade do "front-end" em qualquer aplicativo. HTML, CSS e código JavaScript implementam essa interação para sites, mostrando uma representação visual da funcionalidade do aplicativo. Os controles do usuário permitem que o usuário execute tarefas no aplicativo, geralmente usando botões, listas suspensas, campos de texto, caixas de seleção e muitos outros componentes. Para algumas aplicações, a mesma tecnologia pode ser usada tanto no "front-end" quanto no "back-end". Por exemplo, na linguagem de programação Java, você pode implementar o design da interface com o usuário, bem como a conectividade com os dados.