What is Full Stack Web Development?
Let me clarify to you a few terms So,
that we started a common understanding of
full stack web development as applied in this special session.
We often hear people talking about the frond end and back end.
The frond end is where we are delivering the content to the user, typically,
in a browser where they use accesses the information,
and this is where we use technologies like HTML,
CSS and JavaScript to render the content for to the user.
This information delivery is supported behind the scenes by
a back end support which is typically implemented these days using technologies like PHP,
Java, ASP.NET, Ruby, Python or NodeJS.
We often hear people talking about the three tier architecture for Web Development.
In this approach, the entire web application is organized into three different layers.
The presentation layer, which is concerned with delivering the to the user,
So, this is usually
the UI-related concerns that are dealt with at the presentation layer.
The Business Logic Layer, on the other hand,
is concerned more about the data, the data validation,
the dynamic content processing,
and generating the content to be delivered to the user.
This is backed up behind the scenes
with the data persistence layer or the data access layer.
So, this is concerned with how we store and interact with the data,
typically, in the form of a database and access this data through an API.
Exploring this further, let us see what is implemented
typically in the traditional web development in each of these three layers.
The Business Logic Layer is usually implemented these days using technologies like Ruby,
Python, PHP, JAVA, C++ or ASP.NET.
This Business Logic Layer is interacting behind the scenes with
the persistent data typically stored in
a relational database and accessed by the Business Logic Layer.
The Business Logic Layer is also concerned
with the rendering of information to the front side,
typically, in the form of server-side rendering these days.
So, the HTML, CSS and JavaScript is generated on
the server-side and then sent over to the client side in the form of a web page.
In this approach, we need specialists in each of these three layers.
So, frond end specialists, typically,
would be well-versed in HTML, CSS, and JavaScript.
The business logic specialist would be
well-versed in one of the technologies that is used
for implementing the business logic and then you need
a data specialist who will be well-versed in the relational database management system.
There is an increasing trend towards using
a single language to implement the entire stack,
this being JavaScript so you could have the frond end implemented,
for example, as a single page application using frameworks like Angular or React.
You have the server-side or
the Business Logic Layer being implemented using technologies like NodeJS,
which is also dependent on and JavaScript and then you have the data storage, itself,
being implemented using technologies like MongoDB,
which stores data in the form of JSON documents.
And the information exchange between the server side and the client side is usually
done using JSON as the format and the server side supports a REST API endpoint.
We will cover these technologies as part of this specialization.
So, as you go through the specialization,
you will see that on the presentation layer side,
we will cover Bootstrap four and Angular or
React for implementing frond end applications while on
the Business Logic Layer we will be using NodeJS and NodeJS modules
and express for implementing the Business Logic Layer.
We will also consider back end as a service and
then the data support implemented using MongoDB.