A web app consists of two layers — frontend and backend. Frontend refers to the presentational layer which is visible to the end users. It includes structure, style and behaviour of different elements on the screen. Backend, also known as server-side layer, refers to the layer which runs on the server and is not visible to the users, and holds the data required by the frontend. It includes the server-side logic of the web app, like APIs, app security, authentication and authorization.
In this blog, I am going to talk about the Backend layer. The most common languages used for building backend are:
Python
Java
Rails
PHP
C#
Go
JavaScript
There are a bunch of frameworks built on the top of these languages which make backend development easier and smoother. I will be talking about some of the most popular frameworks used worldwide. So, without any delay, let’s jump right into it!
Django
Ruby on Rails
Laravel
Express
Spring
ASP.NET Core
Flask
CakePHP
FastAPI
Fastify
Source: Django Software Foundation
Django is a high-level Python web framework. It is a Model-View-Template(MVT)-based, open-source web application development framework. It was released in 2005. It comes with batteries included. Some popular websites using Django are Instagram, Mozilla, Disqus, Bitbucket, Nextdoor and Clubhouse.
Developer-friendly
Security built-in
Scalable
Versatile
Relatively slower
Not for smaller projects
Source: Wikimedia Commons
Ruby on Rails, popularly called Rails, is web application framework written in Ruby programming language. It is based on Model-View-Controller(MVC)-based full-stack web development framework. It is based on the philosophy of Convention over Configuration (CoC), Don’t Repeat Yourself (DRY) and the ActiveRecord pattern. Some popular websites built using Ruby on Rails are Airbnb, Bloomberg, Crunchbase, Dribbble, GitHub and Shopify.
Rapid Development
Security
Easy Frontend Integration
Lack of proper documentation
Slow runtime speed
Source: Laravel
Laravel is a web app framework written in PHP. It is open source and is based on Model-View-Controller (MVC) architectural pattern. It was released in 2011. Famous websites built using Laravel are Invoice Ninja, Alison, Barchart, MyRank, AlphaCoders, Laracasts and Laravel.io.
Excellent Queue Management
Easy Mail Integration
Expansive Documentation
Slow Development
High Learning Curve
Less community support
Source: Wikimedia Commons
Express, or Express.js, is a Node.js based web framework written in JavaScript. It is the standard web framework for Node.js. Express is popularly used in JavaScript development stacks like MEAN, MERN and MEVN along with MongoDB and JavaScript frontend frameworks. Some popular websites using Express are Unsplash, MDBootstrap, Paypal, Coursera, Atlassian, Shopee and Docker Hub.
Scalability
Less Development time
Performance issues
Problems with callbacks
Source: Wikimedia Commons
Spring is an open source web application framework written in Java programming language. It is based on Model-View-Controller (MVC) architecture. It is one of the most widely used frameworks for developing web applications.
Fast
Flexible & Light Weight
High Learning Curve
Lots of XML
Lack of documentation
Source: Wikimedia Commons
ASP.NET is a popular, free and open-source web-development framework for building web apps on the .NET platform. It is successor to ASP.NET. It is based on Model-View-Controller (MVC) pattern. It is developed by Microsoft. Some popular websites using ASP.NET Core are C# Corner, Visual Studio Code, Namecheap and mxtoolbox.
Fast
Flexible
Scalable
High Learning Curve
Windows-based Development Tools
Source: Wikimedia Commons
Flask is a micro web framework written in Python. It is called a micro framework because it does have in-built support for database, form validation, authentication and authorization. It is a minimalistic web framework sufficient for small and simple projects. It is the second most popular web framework in Python community after Django. Some popular apps using Flask are Pinterest and LinkedIn.
Minimalistic
Lightweight
Scalable and Flexible
Expansive Documentation
Not suitable for large projects
High Maintenance Costs
Source: CakePHP
CakePHP is a Model-View-Controller (MVC) based open source web application framework written in PHP. It uses software design patterns like ActiveRecord, Convention over Configuration (CoC), Association Data Mapping and Front Controller. Some websites using CakePHP are coconala and GoodFirms.
Flexible
Better Queue Support
Easy to Learn
Lack of Documentation
Not suited for large websites
Source: Wikimedia Commons
FastAPI is a free and open source web framework, mainly used for building REST APIs, in Python. It is based on API standards like OpenAPI and JSON Schema.
Robust & Fast
Easy to Learn
Standard-based
No singleton in Dependency Injection
Source: Fastify
Fastify is a web framework written in JavaScript. It is focused on better developer experience with the least overhead and a powerful plugin architecture. It is one of the fastest web frameworks. It is inspired by Express and Hapi.
Performance
Flexible
Easy Development
Certain third party libraries are not supported like passport.js and websocket.
There are many backend frameworks other than those mentioned above. No framework is the best. It, really, depends on the project you are working. For example, if you want to deploy a Machine Learning model, I would recommend using microframework like Flask or FastAPI for it. Likewise, if you want to build an ERP portal, then I would recommend using Django or Ruby on Rails or any other full stack framework of your choice.
Which web framework do you use? Do let me know in the comments.
Thank you for reading my blog. Hope you liked it.
Originally published on jishnupsamal.ml.
