No mundo do desenvolvimento da Web, o que exatamente fazem os programadores de back-end / servidor? Acho que realmente não entendo todo o conceito.
Eu fiz os layouts de HTML / CSS e o design do site e um pouco de SQL com PHP (ainda aprimorando minhas habilidades, é mais um projeto paralelo para mim). Também fiz uma pequena quantidade de JavaScript / JQuery.
Mas não entendo o trabalho de "back-end", como as linguagens de script (Rails / Python / etc). O que exatamente você "faz" com eles?
Respostas:
Se você já usou o PHP, fez um trabalho no servidor!
Em termos leigos, o código do lado do cliente é executado no seu computador, no seu navegador da Web, e o código do lado do servidor é executado em um computador na Internet, e os resultados da computação do lado do servidor são enviados pela Internet ao seu computador. navegador.
Quando você escreveu o código PHP que executava instruções SQL, as chamadas SQL foram feitas no computador remoto (o servidor) e esse resultado - geralmente na forma de HTML gerado - é enviado pela Internet para o navegador.
O JavaScript, por outro lado, é executado no seu navegador. O mesmo acontece com CSS.
Confira A diferença entre programação do lado do cliente e do servidor para obter mais informações.
fonte
A premissa básica é:
O usuário fornece sua entrada, envia-a através de uma rede de algum tipo e o servidor faz a mágica de acordo com a entrada.
Basicamente, você deseja que toda a segurança e validação sejam executadas no lado do servidor. Com as sutilezas em execução no lado do cliente, como a validação discreta de formulários (você ainda precisa validar o lado do servidor!).
A grande questão: por que?
Os usuários podem modificar as informações em suas máquinas. Como exemplo, veja treinadores de jogos que modificam os valores da memória para permitir que os usuários "invadam" o jogo. Se você faz as coisas principais em sua máquina, em suas instalações físicas, reduz significativamente as chances de alguém adulterar suas verificações de segurança.
fonte
você projeta coisas de front-end quando cria sistemas que interagem com o cliente dos seus sistemas. Observe aqui que a palavra cliente é bastante grande, mas basicamente significa que você está trabalhando no front-end quando fornece uma interface para o mundo externo.
A maioria dos sites é apenas front-end, ou seja, eles fornecem informações para o mundo exterior e, na maioria das vezes, essas informações podem ser armazenadas simplesmente como texto em arquivos HTML.
Você projeta o back-end quando precisa fornecer serviços e encapsula a funcionalidade que seu front-end consumirá. Isso permite deslocar parte da carga de trabalho do cliente (front-end) para o servidor (back-end). Você fará isso nos casos em que precisar coordenar informações de diferentes clientes que possam acessar seu sistema simultaneamente. Ou se você precisar usar um repositório de dados central para agrupar dados dinâmicos ou se precisar de alguns requisitos de segurança específicos. Esta lista não é exaustiva, apenas exemplos rápidos.
para resumir, o Front-end (cliente) apresentará informações para o mundo externo. Geralmente estes são seres humanos através de algum tipo de GUI, HTML ou outro.
O back-end fornecerá meios para centralizar serviços para o seu front-end usar. O uso de um back-end não é obrigatório e agrega complexidade a um sistema, mas permite gerenciar melhor a complexidade inerente ao sistema que você está tentando construir.
Por exemplo, é possível fornecer um serviço como um wiki apenas através do front-end, mas haverá muitas limitações que o uso de um back-end para armazenar os dados e servi-los no front-end resolveria de uma maneira mais natural.
fonte
O front end é o que é executado no navegador, o back-end, como o PHP, é executado em um servidor e armazena dados no banco de dados e faz esse tipo de coisa.
fonte
Na minha opinião, o trabalho do lado do servidor (que já foi mencionado é algo que roda no servidor do qual o site está sendo acessado) é o que dá vida real ao site. Ainda é possível obter grande parte da funcionalidade usando tecnologias do lado do cliente, mas, na minha opinião, essa é uma abordagem muito mais complicada e muito menos segura, pois os clientes têm acesso a tudo o que está no código do lado do cliente. PHP e ASP são, de certa forma, linguagens de programação híbridas que se destinam quase que exclusivamente a servir conteúdo de páginas da web a um navegador após realizar algumas atividades computacionais. Quando você começa a trabalhar com python, ruby, java ou outras linguagens de programação, você tem mais poder e recursos, mas um pouco mais de trabalho para enviar as informações resultantes ao cliente no final do processo.
fonte
Existem dois lados em qualquer aplicativo / site típico da web.
Lado Frontal - Qual controle é a interface do usuário / layout / cores / fontes etc.
Verso - Lida com a manipulação de dados no banco de dados, ou a manipulação de arquivos, faz muita lógica, se isso, faz isso, se não faz isso, etc. software como o mySQL / PostreSQL / MS SQL Server.
O lado de trás é o lado mais poderoso, porque ele pode fazer muitas coisas, desde a criação de arquivos do Excel, geração de relatórios, cálculo, obtenção de dados de diferentes servidores.
Em seguida, prepara e exibe esses dados, como o Front Side está configurado.
Fazer bem em qualquer um deles é trabalho duro, muita prática, aprendizado e autodisciplina.
Se você quer ser o melhor, pratique e nunca pare de aprender, e nunca assuma que você conhece todas as respostas.
fonte