Join Alexander Zanfir for an in-depth discussion in this video What is the MEAN stack?, part of MEAN Stack and MongoDB: Development Techniques.
- [Voiceover] Mean is an acronym for Mongo, Express, Angular and Node. In the world of modern software, we typically deal with front end and back end. Or server side and client side. The MEAN stack includes several technologies from both sides, front end and back end. I will briefly explain each of these for the remainder of this video. Let's begin with Mongo. The M from the MEAN acronym. Mongo is a cross platform document oriented database. Meaning it's not like your more traditional SQL database. Which is where the no SQL term comes from.
And it's also easy to start learning with. Next let's look at Express. The E from the MEAN acronym. Express or Express.js is a no JS web application server framework. It's the defacto standard server framework for no JS. It allows for quick development of robust web API's by providing a thin and performance focused layer on top of Node. Without obscuring any fundamental Node features. In other words it's simple, fast and allows you to keep using all the original Node features.
And it's very popular. Think of the Twitter application requesting your Twitter feed for today. That Web API calls made from the client app. So a Twitter Web API. Which gives us the raw feed data. Which then gets presented by the client app. Express allows us to make a Web API just like that. Now let's look at Angular. The A from the MEAN acronym. Up until now we have looked at two server side technologies. Angular is the first and only front end component of the MEAN stack.
It's an open source web application framework mainly maintained by Google. It allows us to make dynamic web applications which are different than static web pages we often see. Think of something like Gmail. That has a singe page with dynamic content we load and modify by pressing buttons. Which is a lot more like a mobile application than a traditional website. In other words it gives us the behavior we expect from a mobile app. But in a browser web app. At the time of this recording Angular two is still being developed and is in a release candidate stage.
So we will be using Angular one. Finally let's look at Node. The N form the MEAN acronym. Node is an open source cross platform run time environment for developing server side web applications. Developers can write in Java Script for it which gets interpreted by the Google V8 Java Script engine. The same engine used in the Chrome browser. Writing in Java Script in both the front end and back end allows for code and library reuse. As well as a unified environment which is an appealing feature for many developers.
Node also has an event driven architecture capable of asynchronous IO. If you come from a more traditional program setting this might be a bit strange to you at first. But you'll soon realize the power it provides for creating web application. Now that we have briefly covered all of the technologies that make up the MEAN stack, we can see that we end up with three that are back end or server side. And one that is front end. Now let's get started by installing Node.
- Installing and setting up your MEAN toolset
- Making an Angular post form
- Sending posts
- Displaying messages
- Creating a registration form
- Saving users
- Associating users with posts
- Authenticating users at login