[MUSIC]
What is full stack web development?
Let me clarify to you a few terms so that we start with a common understanding
of full stack web development as applied in this specialization.
We often hear people talking about the front end and the back end.
The front end is where we are delivering the content to the user,
typically in a browser, where the user accesses the information.
And this is where we use technologies like HTML,
CSS and Javascript to render the content for 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 information 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 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 the 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 the formal 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 a front end specialist 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 relations of database management systems.
There is an increasing trend towards using a single language
to implement the entire stack, this being JavaScript.
So you could have the front end implemented, for
example, as a single page application using frameworks like Angular.
You have the server side, or the business logic layer being implemented
using technologies like NodeJS, which is also dependent on 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 all these technologies as part of this specialization.
So as you go through the specialization you will see that on that
presentation layer site, we will cover Bootstrap 4 and
Angular for implementing front end applications.
Then on the business logic layer we'll be using JS and JS modules,
and Express for implementing the business logic layer.
We'll also consider back end as a service, and
then the data support implemented using MongoDB.
As you go through the specialization,
the vaguest courses that you will encounter in the specialization
Include the first course which deals with front-end web UI frameworks.
We will cover Bootstrap 4 in sufficient detail in the very first course.
We'll also encounter web development tools based around the NodeJS ecosystem.
The second course will deal with front-end JavaScript Frameworks,
in particular Angular in great detail.
In the third course, we will look at hybrid mobile development
using technologies like Ionic Framework and Cordova.
We'll also consider Nativescript as yet another approach for
doing hybrid mobile development in the fourth course.
The final course of course brings us to the server side,
where we will look at server-side development using NodeJS,
NodeJS modules, Express, MongoDB, and Backend as a Service,
in particular using loop back framework.
This completes the entire Full Stack Web Development and
Hybrid Mobile Specialization.
[MUSIC]