Topics
Frameworks and Libraries

Frameworks and Libraries

Given the complexity of developing web and mobile apps, communities of developers have put together frameworks and libraries, to make it easy for application developers to maintain a certain standard across applications, to ensure a consistent experience across devices and to meet the standards laid down by Google and Apple app stores for mobile apps.

There are several combinations of tech stacks, one of the more popular ones are listed below.

MEAN/MERN Stack

There are four main components of this stack, each letter in the acronym representing one of the components:

  • MongoDB: This is a NoSQL database that is recommended as a part of this stack.

  • Express: This is a library that makes it easy for developers to write web applications, specifically for writing APIs.

  • Angular or React: These are libraries based on the JavaScript language that add several features to the base language to simplify development and user interaction. The two, MEAN and MERN, are different only in this technology.

  • Node.js: This is a server-side implementation of JavaScript. JavaScript was originally (and still is) a client-side language meant for use in a web browser. With the implementation of a Node.js engine by Google, all application logic and interactions with the database can be programmed using Node.js. The biggest advantage of this is that today there is only one high-level language used across the stack, and that is JavaScript (or its superset TypeScript) and application developers only need to know that one language.

All web applications also need a webserver to run. While Node.js can work as the web server, a more powerful web server such as Nginx is often used as a webserver in a MEAN/MERN-based application. Both stacks work on Linux and Windows and the code is portable across operating systems.

LAMP/WAMP

The other popular stack is LAMP/WAMP, which uses Apache as the web server, MySQL as the database, and PHP as the programming language and use either Linux or Windows as the OS. One difference is that MEAN/MERN suggests the use of MongoDB, which is a NoSQL database, whereas LAMP/WAMP suggests the use of MySQL, which is a relational database. But these are interchangeable and the choice depends more on the nature of the application.

The major difference between these two stacks is that the LAMP/WAMP stack does not have a library or framework and that has to be written using either HTML, CSS, and JavaScript or using the Angular or React framework from the MEAN/MERN stack.

Using a stack is not mandatory and you can choose your own set of languages, libraries, and programs. While the effort required may vary, they all will work together just fine. However, when some technology stacks become popular, their adoption increases, and their ease of use and availability of support increases.

MEAN/MERN Stack