Blog, Technical Development, WEM / WCM

Kickstarting Modern Web Dev with the MEAN Stack

What do we need to build a full-fledged web application? A front-end tool, a database, and a server to host our web application. This is what the MEAN stack provides, with an added benefit of a single skillset – knowledge of JavaScript.

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.
AngularJS : AngularJS is an MVC based JavaScript framework for dynamic web apps. Using two-way data binding, it updates the views dynamically whenever underlying model (data) changes. It also provides basic templating directives, form validation, routing, deep-linking, reusable components, and dependency injection.
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?

For web developers, learning different languages to develop a full-fledged web app maybe daunting. Ever heard of a software developer role that requires you having expertise in only one language? Now it is possible with the MEAN stack. All you need to know is Javascript that you can use across all layers (front-end, business layer, and backend).
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:

    1. Flexibility of a non relational database MongoDB
    1. Scalability and performance of a Node.js server
    1. Multitude of HTTP utility methods (get, post, put, delete, etc.) and middleware provided by ExpressJS
  1. 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.
It would be beneficial for companies to work with the MEAN stack since they won’t need to hire developers with varied specializations to work on a single project. They just need developers with knowledge of JavaScript.  The MEAN stack comprises of free and open-source technologies which makes it much more cost-effective than a proprietary solution.

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:

MongoDB

Node

Express

Now that you have your environment setup, you can get started with your first MEAN app.

Conclusion

MEAN.IO is a quick and easy way to create a modern and responsive web application. The MEAN stack provides a complete application framework, but does not limit you to just these technologies. Other technologies such as redis (for backend where data persistence is not required) can complement and enrich the MEAN stack. There are tons of technology stacks in the app development world and MEAN is one of the simple and efficient ones to use. We hope that this provides an insight in building your first dynamic web app using MEAN. The great part is that you just need to know JavaScript to get started.

Subscribe to Our Newsletter

Get the latest insights from Blue Acorn iCi

Let's build something together.