Eu realmente não entendo "Backend / Serverside" quando se trata de desenvolvimento web?


18

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?


8
Onde você acha que os Qs e As deste site estão indo e como?
Mayank 03/03

Respostas:


17

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.


13

A premissa básica é:

insira a descrição da imagem aqui

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.


6
Você não usou círculos à mão livre. :(
glasnt

Ok, então qual é exatamente o objetivo dos Web Application Frameworks?

3
@ Mercfh: Para simplificar. Eles lhe dão a base sobre a qual construir sua visão. Você deseja construir uma estrutura de autenticação? Que tal lidar com datas e exibições, controladores e roteamento. Acho que não, a menos que fosse um exercício acadêmico. Você quer uma estrutura porque inicialmente teve um problema a resolver, e o tratamento de datas não era. :)

0

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.


Sua explicação é ótima, exceto que você diz que a maioria dos sites é apenas front-end. Talvez em 2003, mas hoje eu disse que "a maioria", como na maioria, tem algumas interações back-end / banco de dados.
Kyle

Olhando para o SO, o Facebook e todo o mundo, seria relegado um site estático ao museu, mas ainda há uma grande quantidade de sites, páginas de rosto para empresas etc. que são exatamente isso. Dito isto, você está certo de que ele tende a diminuir um pouco, pois apenas instalar o wordpress e ajustar um pouco o CSS alcançaria o mesmo resultado de uma forma muito mais fácil de manter. Observe que o Front end também designa a API RESTfull que o site expõe enquanto o back-end é como essa API é implementada.
Newtopian

0

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.


0

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.


0

Existem dois lados em qualquer aplicativo / site típico da web.

  1. Lado Frontal - Qual controle é a interface do usuário / layout / cores / fontes etc.

  2. 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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.