Over the past few years there has been an exponential growth in using JavaScript for full stack software development.   This coupled with a paradigm shift with how developers think about and seek to use databases for persistence and storage of application data has led to some amazing developments in database architecture.

So what is the MEAN stack?

MEAN is an acronym comprising of the first letter of each of the elements of a JavaScript software development frameworks and databases.

MongoDB is a schema-less NoSQL database system. MongoDB saves data in binary JSON format which makes it easier to pass data between client and server.

Express is lightweight framework used to build web applications in Node. It provides a number of robust features for building single and multi page web application.

AngularJS is a JavaScript framework developed by Google. It provides some awesome features like the two-way data binding. It’s a complete solution for rapid and awesome front end development.

Node.js is a server side JavaScript execution environment. It’s a platform built on Google Chrome’s V8 JavaScript runtime.Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.

Advantages of the MEAN Stack

One language for everything

The biggest advantage of the MEAN stack from a development perspective is that there is only one software programming language needed for the team to be familiar with, JavaScript.

Developers are able to focus on using only one programming language for every aspect of any task required to be carried out.  For example, querying and the storing of data in MongoDB, is carried out by making use of JSON objects, in fact data is persisted in MongoDB by making use of JSON objects.

To manipulate the User Interface (UI) developers again make use of JavaScript i.e Angular.js .  If developers need to code any middle tier business logic, this again makes JavaScript.

Runs anywhere any device

JavaScript is able to run on almost any device or platform.  Obviously though there are considerations for best uses etc., but the opportunity to have truly portable code is there.   So whether you’re developing for Web or Mobile your team can make use of the MEAN Stack.

It’s almost free!

As they say in life there is no such thing as a free lunch and this is especially true in the world of software development. For the most part, the tools and frameworks used to develop MEAN stack applications are Free of charge open source applications. A developer will be able to set up a workstation to carry out software development work almost entirely for free. Hardware probably being their only expense.

When it comes to deploying MEAN stack applications out to production costs are also significantly reduced, due to the fact most vendors make use of Linux operating systems and therefore cost is also significantly reduced.

Built for cloud

Using the MEAN stack as a platform, enables developers to develop for the cloud straight out the gate.  There are literally 100’s of vendors available to manage the hosting of the entire application or even just “rent” specific parts, for example Database As A Service, providers like compose.io or  mongolab.com

By making use of powerful platform hosting services like Heroku enables developers and application vendors to easily and quickly scale their application according to demand.

MEAN stack frameworks

There are a number of MEAN stack frameworks available, which will assist in rapid development and adoption of MEAN stack development. My personal favourite is MEAN.js

Gary Woodfine

Freelance Full Stack Developer at threenine.co.uk
Helps businesses by improving their technical proficiencies and eliminating waste from the software development pipelines.

A unique background as business owner, marketing, software development and business development ensures that he can offer the optimum business consultancy services across a wide spectrum of business challenges.

Affiliate Disclaimer

Disclosure: Please note that some of the links included in the blog posts are affiliate links, which means I will earn a commission if you decide to make a purchase.

I only include affiliate links to products, services and companies that I have personal experience and have actually used. I only recommend them because they are helpful and useful, not because of the small commissions I make if you decide to buy something.

Please do not spend any money on these products unless you feel they are relevant, suitable and will help you achieve your goals.

Buying anyone of these products and the commisions earned will not make me an overnite multi millionaire, but they will help to cover the hosting costs and compensate for the countless hours and effort I put in to create meaningful and valuable free content I provide to help others succeed.

You've also undoubtedly noticed that I also use various advertising networks - unless of of course you're using an Ad blocker, this is also an attempt to reduce my monthly deficit I experience in providing free relevant, valuable and on occassion insightful content for the benefit of others.

I only really make some money if people click on the ads, unless of course you consider 1c per 1000 impressions real money!

Bear in mind just how many impressions I need to make before I can cover my £20 hosting costs a month!

If you are using an adblocker and guilt stricken you can of course donate using any of the buttons below, but I won't be holding my breath.

Buy me a coffeeBuy me a coffee