Intro to the Mean Stack

422 VIEWS

Are you a fan of JavaScript? Are you aware that you can develop your web applications using only a small collection of JavaScript-based technologies? “MEAN” (which is an acronym for MongoDB, ExpressJS, AngularJS and Node.js) takes care of everything from the client to the server to the database. Using the MEAN stack, you can start developing amazing web applications. This article will introduce you to these technologies and assist you in deciding whether the MEAN stack is a good fit for you.

What is the MEAN stack?

  • Node.js: Node.js is a server-side JavaScript framework. It is a platform built on Chrome’s fast V8 JavaScript engine. Node.js is event-based, non-blocking and asynchronous, and it allows developers to build highly scalable and concurrent applications rapidly. (For more details on Node.js, kindly visit this previous post based specifically on Node.)
  • ExpressJS: Express is a minimal and flexible Node.js web application framework that provides some of the fundamental resources and tools required to build web applications. Using Express, you can easily build web servers that are maintainable, flexible and readable. Express stands out as the most popular and downloaded Node framework. (For more details on ExpressJS, kindly visit this previous post based specifically on Express.)
  • AngularJS: AngularJS is a JavaScript framework developed by Google and maintained by Google and other communities for dynamic web apps, providing various features for rapid and awesome front-end development. If you’ve been developing web apps without some of the front-end JavaScript frameworks like React or Angular, you’re probably wondering why you need to start now. HTML is amazing for declaring static documents, right? But how good is it when you try to use it to declare dynamic views in web apps? (Exactly—Not so good.) What AngularJS provides is a way for you to extend HTML vocabulary for your application. In doing so, you get to write expressive and readable code, and you get to do it at a rapid pace.
  • MongoDB: MongoDB is a free and open source NoSQL database providing great flexibility and scalability. MongoDB primarily saves data in binary JSON format, which makes it very easy to pass between client and server.

Why the MEAN stack?

JavaScript is considered one of the most popular programming languages in the world, and the MEAN stack gives you the opportunity to use it to build a complete web application with a collection of JavaScript-based technologies.

Reduced development cost: The MEAN Stack is completely open source and free to use, providing developers with a rich environment at a low cost. And the fact that MEAN is focused solely on JavaScript means that development time can be reduced significantly.

Performance: Node sitting at the heart of the MEAN stack results in outstanding performance levels. Node outperforms most if not all the current backend technologies, including the likes of PHP and Ruby.

Fast development and scalability: The MEAN stack provides a rich environment and solid foundation for fast development, as well as building scalable products. The NPM provides thousands of libraries and reusable modules which contribute to fast development.

Flexibility and efficiency: The MEAN stack can be used for a variety of projects, including enterprise apps, real-time apps, streaming apps and business apps. Moreover, when developing a MEAN application within a team, you gain a competitive advantage because each member knows JavaScript and it becomes easier to collaborate, resulting in higher productivity.

Traditional web-server techniques may max out the available RAM for handling requests since each request generates a new thread. With the MEAN stack, however, using Node, the application can process thousands of requests on a single thread.

A few things to consider

The fact that the MEAN stack is based solely on JavaScript means a developer would need to know the language well enough to work with all the technologies. Moreover, even though most of the MEAN technologies have an easy learning curve, they still require quite a bit of knowledge to get the most out of them.  

Node (and particularly Express) is very flexible and open, allowing developers to decide what modules to use and how to organize the project. While this is a good thing, there is a trade-off. Having too much flexibility means you need to make more choices, which may impact the development process.

Final thoughts

You’ve now been introduced to the MEAN stack technologies as well as some of their key features. I do want to stress that JavaScript is arguably the most popular language out there right now, and it is not going away anytime soon. If you’re a JavaScript beginner, and you feel this is too advanced for you, I can assure you that once you get used to the JavaScript syntax, it won’t take long before you can move to Node.js and Express and finally begin developing MEAN applications.


Frederick Plange is a computer science major at Ashesi University, one of the top universities in Ghana aiming to develop ethical and entrepreneurial leaders to transform the nation. Frederick is a focused and goal driven individual that is passionate about technology and computers


Discussion

Click on a tab to select how you'd like to leave your comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Menu