O que é o desenvolvimento Web Full Stack?.
Deixe-me esclarecer alguns termos para que possamos começar com um entendimento comum
de desenvolvimento web pilha completa como aplicado nesta especialização.
Muitas vezes ouvimos pessoas falando sobre o front-end e o back-end.
O front-end é onde estamos entregando o conteúdo ao usuário,
geralmente em um navegador onde o usuário acessa as informações.
É aqui que usamos tecnologias como HTML,
CSS e JavaScript para renderizar o conteúdo para o usuário.
Esta entrega de informações é suportada nos bastidores por
um suporte back-end que é normalmente implementado nos dias de hoje usando tecnologias como PHP
, Java, ASP.NET, Ruby, Python ou NodeJS.
Muitas vezes ouvimos pessoas falando sobre a arquitetura de três níveis para desenvolvimento web.
Nesta abordagem, toda a aplicação web é organizada em três camadas diferentes.
A camada de apresentação que se preocupa com a entrega das informações para o usuário.
Então, esta é geralmente as
preocupações relacionadas à interface do usuário que são tratadas na camada de apresentação.
A camada lógica de negócios, por outro lado, está
mais preocupado com os dados, a validação de dados,
o processamento de conteúdo dinâmico e gerar o conteúdo a ser entregue ao usuário.
Esse backup é feito nos bastidores
com a camada de persistência de dados ou a camada de acesso a dados.
Então, isso se preocupa com a forma como armazenamos e interagimos com os dados,
normalmente na forma de um banco de dados e acessamos esses dados por meio de uma API.
Explorando isso ainda mais, vamos ver o que é implementado
tipicamente no desenvolvimento web tradicional em cada uma dessas três camadas.
A camada lógica de negócios geralmente é implementada nos dias de hoje usando tecnologias como Ruby
, Python, PHP, Java, C++ ou ASP.NET.
Essa camada lógica de negócios está interagindo nos bastidores com
os dados persistentes normalmente armazenados em
um banco de dados relacional e acessados pela camada lógica de negócios.
A camada lógica de negócios também está preocupada
com a renderização de informações para o lado frontal,
normalmente, na forma de renderização do lado do servidor neste caso.
Assim, o HTML, CSS e JavaScript é gerado no
lado do servidor e, em seguida, enviado para o lado do cliente na forma de uma página web.
Nesta abordagem, precisamos de especialistas em cada uma dessas três camadas.
Assim, um especialista em front-end normalmente seria bem versado em HTML, CSS e JavaScript.
O especialista em lógica de negócios seria
bem versado em uma das tecnologias que é usado para
implementar a lógica de negócios e, em seguida, você precisa de
um especialista em dados que será bem versado no sistema de gerenciamento de banco de dados relacional.
Há uma tendência crescente para o uso de uma única linguagem
para implementar toda a pilha, sendo este JavaScript.
Então, você poderia ter o front-end implementado, por exemplo,
como um aplicativo de página única usando frameworks como Angular ou React.
Você tem o lado do servidor ou
a camada lógica de negócios que está sendo implementada usando tecnologias como NodeJS,
que também é dependente do JavaScript.
Então você tem o armazenamento de dados em si sendo implementado usando tecnologias
como MongoDB que armazena dados na forma de documentos JSON.
A troca de informações entre o lado do servidor e o lado do cliente geralmente é feita
usando JSON como o formato e o lado do servidor suporta um ponto de extremidade da API REST.
Vamos cobrir todas essas tecnologias como parte desta especialização.
Então, à medida que você passar por essa especialização,
você verá que no lado da camada de apresentação,
vamos cobrir Bootstrap 4,
um Angular ou React para implementar aplicativos front-end.
Em seguida, na camada lógica de negócios,
estaremos usando módulos NodeJS e NodeJS
e Express para implementar a camada lógica de negócios.
Vamos também considerar back-end como um serviço e, em seguida,
o suporte de dados implementado usando MongoDB.