‫Narrador: Agora que
‫você tem uma boa visão geral
‫de como a web funciona
‫nos bastidores, vamos aprender sobre o que o
‫desenvolvimento back-end da web realmente é e como ele
‫se compara ao desenvolvimento front-end, porque esta
‫é uma distinção muito importante na web mundo do desenvolvimento.
‫Portanto, para distinguir entre o front-end e
‫o back-end
‫de um site e do desenvolvimento
‫web como um todo,
‫ainda consideramos a mesma arquitetura
‫cliente-servidor de que falamos antes.
‫Portanto, em termos gerais, o desenvolvimento
‫front-end envolve tudo o que acontece no navegador da web.
‫Portanto, trata-se de projetar e construir
‫o site final que ficará
‫visível para o usuário e, portanto, o
‫nome do front-end.
‫O desenvolvedor
‫front-end usa as tecnologias básicas: HTML, CSS e
‫JavaScript, que juntos formam a pilha de tecnologia front-end.
‫Agora, muitos desenvolvedores de front-end modernos
‫adicionam mais coisas à pilha
‫de front-end, como React ou Angular ou Redux ou GraphQL ou
‫o que quer que seja legal atualmente.
‫Portanto, essas tecnologias tornam o desenvolvimento front-end mais fácil
‫e todas essas tecnologias
‫juntas que um desenvolvedor ou
‫uma equipe decide usar no front-end,
‫é a pilha de front-end, certo?
‫E você provavelmente já sabe a
‫maior parte dessas coisas, mas ainda quero
‫dar uma breve visão geral de como tudo se
‫encaixa no quadro geral aqui.
‫Tudo bem, e agora passando para o back-end.
‫Essa parte do desenvolvimento web é
‫sobre tudo que acontece no servidor
‫web, então tudo que é
‫invisível para o
‫usuário final e portanto o nome back-end, ok?
‫E já que estamos falando sobre o
‫site do servidor agora, vamos definir o que realmente é um servidor.
‫Bem, um servidor básico é realmente apenas
‫um computador conectado
‫à internet que, primeiro, armazena os arquivos
‫de um site como HTML, CSS
‫e imagens e, segundo, executa
‫um servidor HTTP que é capaz
‫de entender URLs, solicitações e também entregar respostas.
‫Portanto, esse software de servidor
‫HTTP é o que realmente se comunica com
‫o navegador usando solicitações e respostas.
‫Portanto, é como a ponte entre
‫o front-end e o
‫back-end de um site ou aplicativo da web.
‫Agora, um servidor web simples como o
‫que acabei de descrever é chamado de servidor
‫estático, porque tudo o que
‫ele pode realmente fazer é servir arquivos estáticos ao cliente via HTTP.
‫Se você só precisa hospedar um site simples, isso
‫é realmente tudo de que você precisa.
‫Mas se você quiser ir para o próximo
‫nível e criar aplicativos da web dinâmicos
‫que conversem com bancos de dados e todas
‫essas coisas boas, usamos um servidor que também é capaz de
‫executar aplicativos dinâmicos OR, assim
‫como o código que escrevemos e
‫executamos no seção de introdução do curso.
‫Isso é então chamado de servidor dinâmico, onde
‫temos o aplicativo OR
‫em execução, um servidor HTTP
‫e, claro, os arquivos todos se comunicando.
‫E, em alguns casos, isso é
‫tudo de que precisamos
‫para aplicativos OR, mas geralmente quando construímos sites ou
‫aplicativos dinâmicos, também usamos um banco de
‫dados, que podemos acessar diretamente de nossos aplicativos.
‫A propósito, se o termo
‫sites ou aplicativos estáticos e dinâmicos for um
‫pouco confuso para você, não há problema.
‫Falaremos sobre isso no próximo vídeo.
‫De qualquer forma, podemos usar o banco
‫de dados para armazenar coisas como usuários ou dados de
‫aplicativos ou texto para preencher um modelo de site.
‫Em qualquer aplicação séria, sempre haverá um banco de dados
‫e nosso código de back-end
‫se comunicará com esse banco de dados.
‫Então, algumas coisas comuns que são tratadas
‫no back-end ou no lado
‫do servidor, como também podemos chamá-lo para criar perfis
‫de usuário, realizar log-in, enviar e-mails, lidar com o pagamento,
‫recuperar e enviar dados de solicitação de um banco de dados
‫para um cliente , manipular dados no banco de
‫dados, preencher modelos de sites e muito mais.
‫E faremos muitas dessas coisas emocionantes ao longo
‫do curso, na verdade, todas elas realmente.
‫Agora, sobre a tecnologia, como você pode imaginar, vamos usar
‫o NodeJS como um servidor web dinâmico e o
‫MongoDB como nosso banco de dados, ou seja, dados
‫ou pilha de back-end.
‫Mas existem tantas tecnologias de back-end diferentes e
‫pilhas disponíveis para o back-end.
‫Coisas como PHP com banco de dados MySQL ou
‫Python com banco de dados PostgreSQL ou algumas pessoas
‫usam Ruby on Rails talvez até mesmo
‫com algum outro banco de dados.
‫Mas, uma vez que você quer
‫aprender NodeJS bem, vamos usar exatamente isso.
‫E o banco de dados mais popular
‫que é usado com o Node é, sem dúvida, o MongoDB.
‫E, portanto, essa é nossa escolha para uma pilha de back-end.
‫Agora, você deve ter ouvido o termo pilha completa antes, e
‫isso significa simplesmente as pilhas
‫de front-end mais as pilhas de back-end juntas.
‫Portanto, o desenvolvedor que faz o desenvolvimento
‫front-end e back-end pode se
‫autodenominar um desenvolvedor full stack, mas esses desenvolvedores
‫estão cada vez mais raros, especialmente porque
‫o front-end está se
‫tornando cada vez mais complexo nos dias de hoje.
‫Por fim, outra coisa que gostaria de mencionar rapidamente é que,
‫como você pode ver, usaremos o Node
‫aplicado ao desenvolvimento back-end da web
‫e não algo como programação de hardware.
‫Portanto, você pode usar tecnicamente o Node
‫para coisas como drones voadores, robôs
‫de programação ou desenvolvimento de software para dispositivos IFT.
‫Mas, isso está fora do escopo deste curso.
‫Se você deseja programar dispositivos IFT com Node, bem,
‫este curso ainda será útil para você, apenas
‫não é o foco dos projetos
‫que iremos construir, ok?
‫Tudo bem, acho que isso resume a diferença entre o front-end
‫e o back-end do desenvolvimento web, de
‫modo que, daqui para frente, você terá
‫uma boa ideia dos domínios em
‫que o NodeDS é realmente usado no mundo real.