Author: Don Jones
Part one of a four part series on the MEAN Stack.
Even if you’ve heard of MEAN stack only in passing, chances are you’ve heard about at least some of the hype. The tech stack is popular among developers and business owners alike to rapidly develop and deploy dynamic web applications. The tech stack was relatively unknown just ten years ago. For a closer look at how MEAN Stack works, let’s go beyond the fanfare and trendiness to discover its origin, advantages, and limitations for web app development.
The Lean on MEAN Stack
M: First, we have MongoDB, a NoSQL document database. MongoDB stores data in JSON-esque documents, which adds flexibility and accessibility as data can be easily passed from the client to the server.
E: Next up is Express (.js). This is a flexible Node.js framework for building web applications. It can be used to build single and multi-page as well as hybrid web applications.
MEAN stack development has grown in popularity in recent years because developers can leverage the same language for both front-end and backend development. Its origins date back to a LinkedIn Group, but the concept really took off in 2013. Valeri Karpov coined the term and sung its praises in an article published on Medium.
What Does a MEAN Stack Developer Do?
With MEAN development, developers can build dynamic web applications and websites through free, open-source technologies.
MEAN stack developers use the four technologies that make up a MEAN stack to develop web applications. This role isn’t all that different from a full-stack developer, meaning they also work on front and backend systems.
Other common responsibilities and expectations include:
- Experience working with each layer of the MEAN stack: MongoDB, Express, - - - - Angular, and Node.js.
- Comfort working with jQuery, PHP, and Symfony
- Testing web applications
- Deploying web applications
- Creating modules
- Designing databases
- Integrating APIs
The Benefits of MEAN Stack Architecture
What’s caused MEAN Stack to go from a LinkedIn group favorite to the top choice for web application development across the globe? This tech stack doesn’t just have a couple of pros. It has several advantages that have fueled its success:
Each layer of the MEAN stack is made up of free, open-source technologies. As a result, developers can make use of publicly accessible libraries and repositories during the development process. One of the benefits of open source technology is that the stack is updated regularly. Developers can also tap into developing communities to ask questions, get ideas, and find solutions to issues they may come across.
Easily Swap Between Client and Server
Additionally, developers can easily add new features and modules during or after development. You can create prototypes, customize to meet requirements, and build scalable web applications without a lot of headaches.
MEAN is especially useful for tight schedules. Developers don’t need to create modules from scratch. Instead, they can lean on the directory of module libraries within Node.js. Plus, you won’t have to hunt down errors. You’ll be automatically notified if a feature is broken, giving you more time to fix it and move on to the next step in your project.
Another time-saving feature? MongoDB, AngularJS, and Node JS all use JSON to store data, so there’s no need to reformat data. Need to make changes in real-time? You’re in luck. Traditional web applications require you to hit refresh every time you want to see the results of a server request. MEAN uses single-page applications, so you don’t have to constantly refresh web pages for each server request.
If you’re working in a heavy load scenario, there’s a chance you could lose records written by MongoDB. The database is generally consistent, but it’s definitely a possibility worth being aware of.
Don’t forget to consider data security. MEAN stack is still relatively young as tech stacks go, which makes it more attractive to potential hackers. Also, because it’s still a new tech stack, you won’t find quite as many resources as you would with Ruby, Python, or PHP.