MEAN Stands For:
MongoDB : an open source document-oriented database with excellent scalability and flexibility for storing data. Some advantages of MongoDB are its schema-less design, OOTB support for automatic sharding and replication, high availability, and automatic failover.
Express.js : one of the most popular web application server frameworks for building web apps. It’s light-weight and helps you organize your web app into an MVC architecture on the server side. It organizes application’s routing and provides an extensive set of middleware to allow you to easily control the flow of your app and give you the power to easily create simple to extensive APIs.
NodeJS : It is is an open-source, cross-platform runtime environment for developing server-side web applications. It is known for its fast execution speed and tremendous scalability.
Why Use the MEAN Stack?
Having a non-relational backend is another advantage that you can leverage using the MEAN stack. If your database schema is unclear at the point of inception of your web app, you can always alter your schema without worrying about migrations. This is in contrast to the relational world where you must define the database schema upfront before adding any data to the system.
Finally, the huge amount of community support for all of these technologies makes it easier to learn them.
Why is MEAN Getting Popular?
The MEAN stack encompasses a few of the most popular technologies in web app dev world. Some of the reasons behind the popularity of the MEAN stack are:
- Flexibility of a non relational database MongoDB
- Scalability and performance of a Node.js server
- Angular’s two-way data binding to reduce the boilerplate and create cleaner, efficient applications
MEAN uses the same JSON format across all the layers. Thus, it eliminates the overhead of converting data from one format to another while transferring it between different layers.
Why is MEAN Not Dominating the Enterprise (Yet) ?
The main reason is the legacy code that has millions of lines of code, written in core languages. Big companies have made heavy investments in languages like Java, C++, and C#. Companies would prefer to switch to the MEAN stack only if they find a problem statement where these core languages do not provide a good solution.
Another reason why established enterprises are not investing in the MEAN stack is that it’s fairly new and switching to any new technology on the block is risky. If MEAN becomes more mature and provides more professional support like with most new technologies, big enterprises will start gravitating towards it.
Installation Steps (Mac Users)
You need Homebrew package manager for these steps to work on your Mac. The following are the steps to setup your environment:
Now that you have your environment setup, you can get started with your first MEAN app.