In the previous post - Full Stack Development, we have published a list of programming languages, frameworks, database systems, and servers involved in web development. This post provides a list of popular web development stacks.
Notes: The rest of the sections does not mention HTML and CSS since these are inherent to web development. Suggestions or updates are welcome via comments to update or enhance this post.
JavaScript
After the release of Node.js, JavaScript became the popular choice among web developers for both backend and frontend development. TypeScript has further made it easy to do object-oriented programming. The popular full stacks are listed below. These full stacks utilize the in-built web server of Node.js to run the application. Using Nginx as a proxy server to serve multiple applications is a popular choice in production environments.
MEAN
MEAN stands for MongoDB (database system), Express (backend), Angular (frontend), and Node.js (runtime). It's a full-stack to develop complete web applications involving database system and the web server. MEAN is popular among JavaScript developers and the default choice of most of the organization to develop web applications using JavaScript.
MERN
MERN stands for MongoDB (database system), Express (backend), React (frontend), and Node.js (runtime).
It's another popular full-stack to develop complete web applications.
Meteor
Meteor is a popular full-stack platform to develop applications for web, mobile, and desktop in pure JavaScript. It integrates well with MongoDB and automatically propagates the data changes to clients using Publish Subscribe Pattern. It provides its own front-end templating engine known as Blaze and also integrates with Angular, React and Vue.
Sails
Sails.js is another full-stack platform similar to Meteor in pure JavaScript. It's popularly known as real-time MVC framework for Node.js and uses Socket.io for real-time communication between the server and client. It supports the rapid development of single-page applications and a few page application can be developed within a week. It also bundles popular ORM i.e. Waterline to interact with almost any database system. It also auto-generates REST APIs to be used for both web and mobile applications. It integrates well with popular front-end frameworks including Angular, React, Vue, etc.
PHP
PHP is the most commonly used scripting language for web development. WordPress which supports around 1/3rd of the total website is built on top of PHP. The other popular CMS systems built using PHP involves Drupal and Joomla. Below mentioned are the stacks popular among PHP community.
LAMP
LAMP stands for Linux (operating system), Apache (web server), MySQL/MariaDB (database server), and PHP (programming language). Though the stack does not involve any frontend framework, the PHP scripts are widely used as templates to generate the HTML. The front-end can be built using any popular frontend framework including React, Vue, Angular.
WAMP
WAMP stands for Windows (operating system), Apache (web server), MySQL/MariaDB (database server), and PHP (programming language). It's similar to LAMP with the only difference of Operating System.
XAMPP
XAMPP stands for Cross-Platform (Windows, Linux, OS X), Apache (web server), MariaDB (database server), PHP (programming language), and Perl (programming language). It's similar to LAMP, WAMP with additional support to multiple operating systems and Perl programming language.
Python
Django is the default framework available for Python developers for both backend and frontend development. It follows the model-template-view architectural pattern and used for rapid development of web-based applications. Similar to PHP scripts, the dynamic pages using Django tags are being used to generate the final HTML.
Ruby
Ruby On Rails is quick, secure and used to develop high-quality web applications. It's a complete server-side web application framework following the MVC design pattern. Similar to PHP and Django, it also supports templating system to generate the HTML. As alternate to ERB templates, Haml and Slim are other popular templating engines used to develop the Views.
Java
Spring Framework is an application framework used to develop applications using Java as the programming language. It uses various techniques including Aspect-Oriented Programming (AOP), Plain Old Java Object (POJO), and Dependency Injection (DI), to develop enterprise applications. It provides Spring WebFlux, Spring MVC, Spring ORM, Spring Web Flow to develop web applications.
It provides Spring Boot for rapid development of production-ready enterprise applications.
In other words, the Spring Framework itself is vast and provides security features using Spring Security. It supports both SQL and NoSQL database systems. It also provides embedded runtime support for Tomcat, Jetty, and Undertow.
The actual usage of Spring Framework as a full-stack to develop web applications varies over organizations with its vast support. Knowing it completely by a single developer might take years.
This is all about the popular web development stacks used to develop web applications.