Insights to Backend Web Development Frameworks and Databases
Arsalan
My dear reader, how are you? السلام عليكم
Measuring programming progress by lines of code is like measuring aircraft building progress by weight – Bill Gates
In this post, I list the top backend web application development frameworks based on ease of development, productivity gain, available support, and documentation. I will further list the top most used database management systems (DBMS) with some useful statistics that will help you choose the correct architectural pattern and developmental frameworks for your next web application development project.
The most community-wide popular backend development frameworks include:
1) Django (DirectMe) – Python-based, a high-level web framework that supports quick development and clear pragmatic design. It has been built by experienced developers and it takes care of most of the hassle during the process of web development. It allows you to focus on writing your application without needing to reinvent the wheel. It’s free and open source with BSD license first released on July 2005.
Django uses MVC architectural pattern, or to be exact an MVT (Model View Templates) based pattern. Figure 1 explains it in further detail.
Fig 1: MVT Architectural pattern
It uses a ‘batteries included’ analogy that means it comes with a lot of built-in and stable tools and packages. Want a list of all the batteries included in Django? DirectMe.
Who uses Django? Instagram, Mozilla Firefox, Pinterest, NASA, Onion, Event Bright, The Washington Post, Bitbucket and many more.
2) Rails (DirectMe) – It is an MVC based framework that uses Ruby. It uses a Django like design philosophy. There are many useful gems for rails, which are library-like dependencies that extend the functionalities of the application to help in rapid development.
The main disadvantage of rails lies in the fact that they take a lot of effort to deploy and run in a production environment, and the learning curve of rails becomes really steep once you dive deeper into the framework to unravel the magic behind it.
Who uses Rails? Many high profile platforms like Airbnb, GitHub, Hulu, and Shopify, Hulu, Twitch and many more.
3) Flask (DirectMe) – Python-based, essentially the most popular and extremely light-weight web application micro-framework that does not use tools or libraries. It is considered to be an ideal framework for running web applications over embedded devices with restrictions on resources. With Unicode-based support and extensive documentation, it cuts down the tasks for programmers and project analysts. Flash has a RESTful request dispatching that offers an edge to the framework by providing interoperability across networks. The current state of the framework can be modified by virtue of code extensions, in order to add desired features.
Who uses Flask? Pinterest, LinkedIn, and more.
Other most popular web frameworks include PHP based Laravel (DirectMe) and Nodejs based Express (DirectMe).
The top database management systems (DBMS) based on the market share and the popularity include the following:
1) Oracle (DirectMe) – Initial release in 1979 as first commercially available SQL based relational DBMS. Based on the market share it is on top of the list. It is incredibly robust but the cost of Oracle can be a restriction to using it, especially for smaller organizations.
2) MySQL (DirectMe) – Also developed by Oracle. It maintains the second position on the market. It is open-source and initially released in 1995. It is written in C, C++. There are also a variety of paid editions designed for commercial use. With the freeware version, there’s a greater focus on speed and reliability instead of including a vast array of features, which can be good or bad depending on what a user is attempting to do. Support is available but is paid. Want to read more? (DirectMe)
3) SQL Server (DirectMe) – Initially developed by Microsoft in 1989. This database management engine works on cloud-based servers as well as local servers, and it can be set up to work on both at the same time. Not long after the release of Microsoft SQL Server 2016, Microsoft made it available on Linux as well as Windows-based platforms. It is fast and stable but the prices are very high for many SMEs to afford.
4) PostgreSQL (DirectMe) – Initially released in 1997. One of several free popular databases, and it is frequently used for web databases. It was one of the first database management systems to be developed, and it allows users to manage both structured and unstructured data. It can also be used on Linux-based platforms and it is simple to import information from other database types using the tool.
5) MongoDB (DirectMe) – Initially released in 2009 and has captured a huge market share at the moment. It is being used by many modern model-driven platforms where APIs are the driver for web applications. From Wikipedia, MongoDB is a cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemata.
In future posts, I will share the detailed learning resources for web development frameworks especially for Django (as it is at top of my list).