Mean Stack – for dummies
Mean stack is the latest buzz around. But In the olden days – some thing like a couple of years ago, when you went to your developer and asked him to build you some thing, he probably said he’ll do it a LAMP stack.
You knew what a LAMP stack was. You heard it so many times. It filled you with comfort to hear that this new build is a LAMP stack as well. – All was well.
LAMP – is Linux, Apache, Mysql and php BTW.
There used to be a time when the php bit was just pure php. The developer had to literally start from scratch. The php these days is usually a construct. A framework (in php) which lets us develop quickly.
You see, we developer folk are never satisfied with what the tools we have to build stuff.
There are developers who make it their job to ease the pain of fellow developers – bless them. They come up with constructs, conventions and even design patters we use to build applications. You may have heard of some of these.
MVC is a design pattern – its a convention suggesting how to go about building your app. Laravel, Cakephp etc are frameworks that follow that design pattern.
This works on your server. – the back-end – your clients don’t see any of this (and we want to keep it that way).
This JS is a pretty versatile language but used primarily for such scripting. Quite a few developers realized the potential of JS and started to develop programs that run off of JS scripts on the server.
One such program to come out is called Node. Basically its a program which runs any JS file you give it. – Great. A few more developers thought about and built a framework in js – much like Laravel or Cakephp – one of these frameworks is Express.
You probably know what MEAN stack stands for – Mongodb, Experss, Angular and Node.
Express works very well with the MongoDB – a NoSQL document based db. The NoSQL part means that to scale up your NoSQL db, you can add another server instead of beefing it up to scale up a SQL database. Being able to do so is a big deal.
A growing need for Rich internet applications, or Single Page applications triggered the development of Angular.js. (Something like gmail – where you dont see the page reload while navigating from one page to another.)
All four of the technologies combined make for quite a convenient tech stack. It’s biased to split the back-end from the front end.- I.e we no longer render the page at the server and send it to the browser like we did traditionally.
This means that all the back end is supposed to do is to handle the data sent back and forth from the other end. What ever it may be. – browser front end, Android / iOS application, 3rd party service, what have you..
This from of loosely coupled data service is known as an API.
So .. this is the proposition of a MEAN stack.
You get a Single Page Application,
Your backend is already set up to be an API.
You are covered for scalability,
Pretty Rosy picture – yeah?
For the most Part .. That’s the reason why you thought you needed to know about MEAN stack..