The M.E.A.N. acronym stands for MongoDB, Express.JS, Angular.JS and Node.JS. This is an alternative set of technologies one can use to build a robust web application. In this blog post, I will explain some of the benefits this technology stack has to offer, and why we at One North prefer utilizing them.
If your application is very relational in nature, you might choose a traditional SQL DB to store this data. I would still recommend that you look at how you can leverage this excellent technology within your application to where it makes sense. I have found that the concepts are easy to grasp, and if you're coming from a SQL background, the concepts you already know transfer well to this new technology.
Express.JS describes itself as the fast, unopinionated, minimalist web server for Node.JS. Express has a well-defined, well-structured API with great documentation. Because Express is a module for Node, it works nicely with about any other module as well. This provides great functionality out of the box. It is intuitive to get an application up and running very quickly.
At One North, we use an open source CMS solution called Keystone.JS, and that CMS is actually built on top of the Express.JS framework. There is little processing overhead with this framework. As a result of this, request and response times are lightning fast. Also, instead of having to maintain configurations inside of your server daemon, Express relies on configuration settings inside of the application code.
Angular.JS is a framework created by the folks over at Google. Angular is built on top of jQuery lite, which is essentially a stripped down version of jQuery. Beyond handling a few button clicks in your application, I have personally found that you can add dynamic functionality much more succinctly than you would be able to with jQuery alone. The reason for this is because Angular provides you with attributes that you can include in your HTML markup. These attributes will capture the same type of run-time events that you would otherwise be using jQuery to capture.
Node.JS is a server side platform that can be installed on any Unix or Windows operating system. This provides a great deal of flexibility, meaning that the application can be written with no concern to what O.S. it's being executed on. I wrote a blog post here outlining the benefits of this powerful platform.
These technologies have plenty to offer. They all have advantages over some of the traditional technologies, and they are all very easy to learn. It's no wonder they have continued to gain in popularity. The adoption by large companies has validated the fact that these technologies can be used to build enterprise applications.