In this blog post I want to describe some of the benefits for web application development of the MEAN stack as compared to its older cousin, the LAMP stack.
LAMP is comprised of four parts: LINUX as server vm, Apache for the web server, MySQL for the database, and PHP/Perl/Python as the language.
MEAN is comprised of four parts as well: MongoDB, express.js, angular.js and node.js. This stack functions in a manner very similar to LAMP.
In the MEAN stack, node.js works as a server. However it has to run on Linux. This is based on the Google V8 engine. A lot of developers have started using node.js for the many benefits to performance and utility it provides for certain use cases. One of the major advantages is its non-blocking i/o which allows it to deliver millions of concurrent requests with ease. You will find a lot of great examples on the web that use node.js. One example is that when LinkedIn started using node.js for their mobile app they were able to reduce their server count by 90% from thirty to three and still deliver results that were 20% faster.
Express.js is a node application framework. It is a popular node framework that makes it easy to create an MVC-like application on the server side. It provides the option to create routes and templates as well and supports multiple template languages including Jade.
MongoDB has become indispensible to many software companies working with large data sets. It is a superb NoSQL database.
Finally we have Angular.js. This is not a language as much as it is a framework to create SPAs in web application development. It plays a valuable part in the MEAN stack and can be considered an extension to HTML.
[See Alsi: Enterprise UX moving towards SPA]
So why are app developers choosing to develop in MEAN rather than LAMP. Here are some of the reasons why MEAN shines:
The bottom line is that the MEAN stack, when appropriate, allows you to have fewer servers and faster page loading. These add up to make a strategic difference to your business model.
Some areas that the MEAN stack is being used to develop cloud applications are:
Some areas where the MEAN stack might not be the best choice are:
Some of the more heated debates occurring in the programming community are questions like “will the rise of MEAN result in the death of LAMP?” Like all important questions, this one remains unanswered, especially given the shortcomings of MEAN mentioned earlier. Full featured client side applications may not suit every project and rewriting an entire application in another language for performance benefits is not going to make sense in every situation. What I will say is that the MEAN stack is experiencing great growth in the market in areas that it can provide better performance than others, and is entering the radar of even established enterprise companies for this reason.
At Zymr we have begun to adopt the MEAN stack for suitable use cases. We are also actively developing an accelerator called ZUI that is going to be based on the BaaS model. We see this as a growth area that is going to be of increasing interest to the global technology community.
Everything you need to know about outsourcing technology development
Access a special Introduction Package with everything you want to know about outsourcing your technology development. How should you evaluate a partner? What components of your solution that are suitable to be handed off to a partner? These answers and more below.