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

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.

π