Read Insight

Why I recommend MEAN stack for scalability

The world of web technologies is always changing and moving fast. Powerful, new open source frameworks come out every day, existing ones constantly evolve and mature with time. If you’re looking for a technology stack for building scalable applications that’s rapidly improving, easy to collaborate, and easy to learn, I’d recommend the MEAN stack (stands for MongoDB, ExpressJS, AngularJS, NodeJS).

MongoDB – Free, Open Source, Great for scale

MongoDB is a free and open-source cross-platform database which is the leading NoSQL database provider. NoSQL stands for Not Only SQL, which opens a new world of possibilities with non relational database design and entity relationships. With Mongo’s benefits like auto – sharding, replication and high availability, it is easy and reliable to scale and you don’t need to worry about failover.

MongoDB is a document – oriented database which can hold various kinds of data. Say, a social media post that can contain images or videos or gifs – can all be stored in one collection within Mongo. Number of fields, content and size of the document can differ from one document to another, unlike MYSQL where database table structures and relationships are defined with constraints. Mongo, in my view is highly flexible for applications that require handling of different kinds of data / content and that are prone to rapid changes and feature additions.

Express.JS, popular choice for REST APIs

Express.js is most popular Node.js web application framework, designed for building single-page, multi-page and hybrid web applications. It handles things like request endpoints, cookies, forming the response and handling routes well and enables easy templating through jade, mustache (a logic-less template syntax), ejs along with error handling.

We’ve used Express in multiple web applications in which Express.js organises all modules into the web application like:

AngularJS, say no to page refresh

Angularjs is a complete JavaScript-based open-source frontend framework by Google, which is pretty light and enables you to build pages that can load realtime data without the need for page refresh. Great choice, specially for apps that enable realtime data driven decisions (analytics / data visualizations), live feeds etc.

AngularJS is quickly becoming the dominant JavaScript framework because of its features like Templating, Data-binding, routing, clean, modular, reusable architecture and security. Angular’s continuous growth is due to the improvements and advancements it brings in with every new release.

Node.js, for performance at scale

Node.js is a software platform built on Google’s V8 JavaScript engine. It makes use of an event-driven, non-blocking I/O model and a single-threaded event loop which allows high throughput and application scalability. Node.js development is inexpensive to test and deploy using Pay As You Grow services (AWS).

Node.js services are considered as lightweight and easy to modify with respect to feature enhancements. Hosting is easy and cost effective with Node.js for business applications compared to other equivalent platforms.

nodejs-architecture-and-working-codewave-insight

M, E, A, N work well together

MongoDB, Express, AngularJS, and Node.js work well together. There might be alternatives – like Redis replacing MongoDB, Ember.js replacing Angular.JS and Backbone.js or just jQuery can be used as well. There are a number of combinations we can use, to best suit the application you’re building. MEAN is just one of them and it’s written in the most popular programming language JAVASCRIPT.

Elastic search with MEAN

In a recent social commerce platform we built for a customer, we used elastic search in combination with MEAN to search within millions of products and list results in a fraction of a second. Elastic makes life easier when searching with large volumes of data as it comes with inbuilt features like full-text search, faceting, filters etc. It’s really simple and efficient which helps increase the speed of development to get a first version up and running pretty quick.

Learn more about us, our vision, our experience and what we could do for you.

GET IN TOUCH