Technology disruption has already disrupted. Everything has changed with the pace of digital revolution, from our everyday lives to the way how we work and code. The fast moving and diverse environment of web development is no exception.
During the recent years everybody in the web community speaks about the MEAN stack. What are they discussing?
Technology stacks provide complete platforms to run applications, and they have the power enough to process complex instructions. Generally they consist of the following components: operating system, runtime environments, database, web server and web application framework.
What is MEAN stack
|MongoDB||Database system||NoSQL database
Full cluster support
Index on any attribute
Uses one language the whole way through
Easy pass of data between client and server
No complex joints
Deep query ability
|Express.js||Back-end web framework||HTTP server framework
Lightweight and flexible
Robust set of features for building single and multipage web applications in Node.js
Complete list of modules and components
Allows to create REST API server
Easy to integrate with template engines
|AngularJS||Front-end framework||Developed by Google
Two-way data binding
Good for developing reusable and testable client-side applications
Creation of customized DOM (Document Object Model) elements
Great code reuse
Executing the code on the server side
Non-blocking I/O paradigm
Asynchronous and event-driven
Quick development cycles
To learn more about the MEAN stack architecture, read Scott Davis’ Introduction.
What do you MEAN?
Due to its performance, simplicity and flexibility, MEAN stack is perfect for building all kinds of applications, from dynamic single-page apps to large-scale complex enterprise solutions.
The most common uses of MEAN stack:
- Social media apps
- Multimedia streaming apps
- Chat and forum apps
- Business and enterprise apps
- Big Data apps
- Apps with multi-user interaction
- Apps with user connectivity
- All types of mobile apps
MEAN stack is currently in high demand within both startups and established companies. Some of the giants who’ve successfully leveraged MEAN stack for their products are Netflix, Google, PayPal, Uber, LinkedIn, New York Times, Walmart, and many more.
- Single language development
It is generally more cost effective to use same programming language on both front-end and back-end.
When the timelines of your project are limited, you can leverage the infinite set of ready to use module libraries for Node.js on the contrary to writing the modules by yourself.
- High flexibility
MongoDB offers a flexible JSON document structure for all the data representation, which is invaluable for complex large-scale projects. As well, MongoDB offers automatic replication and full cluster support.
- Lightning fast speed
MEAN stack is superfast thanks to non-blocking architecture of Node.js.
- Cloud compatible
If you need to implement cloud functionalities into your app, MongoDB helps to decrease the cost of disk space.
All technologies, libraries and public repositories are open-source, free and available for use. Also, new versions are coming out all the time and the stack gets updated often. It helps reduce the cost of development and speed up time-to-market.
- Active community
Turn off the LAMP
MEAN and LAMP stacks are going up against each other for some time now, but MEAN seems to be winning the contest.
LAMP was one of the first open-source web-technology stacks that gained wide popularity among developers. LAMP stack combines Linux operating system, Apache web-server, MySQL database, and PHP programming language. Still, the LAMP components were not initially designed to work together.
In the past years LAMP was one the most widely-used web-technology stacks, but MEAN stack allows developers jump off the established LAMP environment.
|Operating system||Linux||No restrictions|
|Data storage||MySQL (relational data storage)||MongoDB (non-relational data storage)|
|Performance||Horizontal scaling and high transaction loads affect performance||MongoDB is very fast, but can have minor and infrequent data loss|
|Scalability||MySQL is a bit harder to scale compared to MongoDB. LAMP is scalable, if you know how to optimize it (MySQL optimizations can be quite complicated)||MEAN scales all the layers of front-end, back-end and database|
|Security||Stable and secure||Stable and secure|
|Cost||Costly due to the necessity to hire different experts||Cheaper, as same people work on front-end and back-end|
MEAN stack continues to gain amazing popularity due to its high performance, fewer overheads and easiness to combine around. The technologies perfectly integrate with each other and are invaluable in developing ambitious and competitive web apps. Another advantages are that MEAN stack is relatively easy to learn, is being constantly improved, and it heavily supported by thriving community.
Had some projects on MEAN? Leave your comments to let us know what you think about it. Share the article to your colleagues if you find it useful.