Frameworks

updated on 27 Dec, 2021 14:50

A backend framework is designed to handle the most typical backend tasks, such as handling the server request/response cycle, authentication, database connections, cookie and session management, data serialization, and so on.

What is a Backend Framework

A web app framework is a software tool designed to help and assist the development of web applications, such as web resources, web services, and online APIs. They provide a unique technique to create and deploy web applications on the Internet.

The frameworks strive to get rid of the overhead associated with general web development processes like initial code bootstrapping. The frameworks include libraries for templating, database access, and session management, for example, and they frequently promote code reuse. They are suitable for some static websites as well, despite the fact that they are designed toward the building of active websites.

Key Features in a Backend Framework

The finest frameworks for web development typically set the program's control-flow and allow users to "hook into" that flow by revealing various events.

Such a "inversion of control" pattern is intended to be a key element of a framework, and it aids coding by establishing a common flow that the team can alter in similar ways.

Web template system:

This is a set of tools and processes that work together to create and deploy web pages. These web templates are executed using template engines. They are said to as a web publishing tool that may be used with any framework.

Object Relational Mapping

Object–relational mapping (ORM, O/RM, and O/R mapping tool) is a programming approach that uses object-oriented programming languages to transform data between incompatible type systems. This effectively provides a "virtual object database" that can be accessed from the programming language itself. Although some programmers prefer to build their own ORM tools, there are both free and commercial solutions available that do object–relational mapping.

Data-management operations in object-oriented programming operate on objects that are almost invariably non-scalar values.

Architecture

While it's possible to have the whole code of a web application in a single file, no professional programmer ever does this. This is where "architecture" comes into scene. It referes to structuring the files holding the application code in a way that it makes it easy to understand, test, debug, refactor it (refactoring means updating the code). Although there are different names for it, the proven architecture for backend frameworks for web development is the MVC or the model-view-controller. Some frameworks like Django call it MVT (model-view-template) but is essentially the same structure.

One advanced type of architecture is using microservices which is highly scalable but raises some complexity issues.

Theoretical Concepts

A theoretical concept proposes a solution to a specific problem
Junior Level

Model view controller (MVC) is a software design pattern that is commonly used to implement user interfaces, data, and control logic. It emphasizes the separation of the software's business logic from the user interface.

0
0
Junior Level

The controller contains logic that updates the model and/or view, it acts as the intermediary layer between the View and the Model components.

0
0
Junior Level

The Model is the component of MVC architecture that handles the data layer. Its responsibilities involve low level read/write operations on the data storage.

0
0
Junior Level

The view is the MVC component that specifies how the data in the app should be presented. It's the application layer where the client interaction happens.

0
0
Junior Level
ORM

ORM stands for object-relational mapping, in which objects are used to connect a programming language to a database system, allowing SQL and object-oriented programming techniques to be used together.

0
0

Associated Technologies

All technologies related to this category

Laravel

Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern and based on Symfony. Some of the features of Laravel are a modular packaging system with a dedicated dependency manager, different ways for accessing relational databases, utilities that aid in application deployment and maintenance, and its orientation toward syntactic sugar.
0
0

Django

Django is a high-level Python Web framework that promotes rapid development and simple, practical design. Django is a trademark of the Django Software Foundation and can be freely used in a variety of projects.
0
0

Flask

Flask is a WSGI web application framework that is lightweight. It's built to make getting started simple and quick, with the ability to scale up to more complex applications.
0
0

FastAPI

FastAPI is a web framework for building APIs with Python 3.6+ based on standard Python type hints that is modern and fast (high-performance).
0
0

Expressjs

Express.js is a free and open-source web application framework for Node.js
0
1

Tailwindcss

Tailwind CSS is a utility-first CSS framework for quickly creating unique user experiences.
0
1

Resources

Articles, tutorials, courses or books

Official Django Beginner Tutorial

Jan. 1, 2020 by DjangoProject Article

1 Reviews
The first resource to checkout when starting to learn about Django. The official tutorial is comprehensive and provides detailed instructions on how to create a simple "poll" app.

Handle Images with Django and Nginx in production

Sept. 21, 2020 by smileservices.dev Article

No reviews yet. Contribute
Handling images in production with Django and Nginx is not a difficult task but the documentation on this subject is lacking. In this free article there's a step by step guide on how to save, process and serve images. It's using the django package Versatile Imagefield to process the images to create thumbnails and save them.

Django Logging, The Right Way

Nov. 28, 2017 by Peter Baumgartner Article

No reviews yet. Contribute
A thorough guide on how to set up logging in Django and use Sentry to get error reports. Good logging is critical to debugging and troubleshooting problems.

20 Best Laravel Tutorials (Free and Paid Resources in 2021)

Oct. 5, 2020 by Anna Monus Article

No reviews yet. Contribute
Are you thinking of learning Laravel? This guide includes everything you need to find the best Laravel tutorial for any knowledge level. A collection of 20 resources for learning Laravel

React State Management Libraries and How to Choose

March 17, 2021 by Dave Ceddia Article

No reviews yet. Contribute
State management with React can get difficult. This article is an overview of the best state management tools and libraries and how to choose the right state management strategy for your app.

Your Guide to React.useCallback()

May 4, 2020 by Dmitri Pavlutin Article

1 Reviews
React.useCallback() memoizes callback functions. In this post I will explain when to and when not to use React.useCallback().

Using Markdown in Django

March 3, 2020 by Haki Benita Article

No reviews yet. Contribute
Article describing in detail how they created a Markdown extension to address difficulties with managing content in Django sites using Markdown. Using python markdown package.

Django: Request/Response Cycle

March 23, 2019 by Sarthak Kumar Article

1 Reviews
To get a better understanding of the Django framework, we need to know how requests are made and how the end result is delivered to the user. In this article we go over the various stages of requests and how it's processed at each stage to form the final server response. edited

How to Use Django's Generic Relations

Oct. 12, 2016 by Vitor Freitas Article

No reviews yet. Contribute
Tutorial about how to use generic relations in Django models. A generic relation is where can use any type of foreign model as a foreign relationship.

Select Related Vs Prefetch Related In Django

Aug. 7, 2021 by RAHUL MISHRA Article

No reviews yet. Contribute
Trying both select_related and prefetch_related and looking over the resulting SQL queries. A quick article that goes into the differences between the two and when it's best to use each one.

What You Should Know About The Django User Model

July 8, 2021 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial provides an overview of the default Django user model implementation, highlights its caveats, and offers possible solutions. It is important to be aware of the limitations of the user model in order to avoid problems down the road. One potential solution is to replace the default user model, but this must be done before the project is started. Alternatively, the email field may be customized to be unique.

How to Use Chart.js with Django

Jan. 19, 2020 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial explains how to use Chart.js with Django. It covers installation, example scenarios, and how to transform data so that it can be used in charts.

How to Use JWT Authentication with Django REST Framework

Dec. 19, 2018 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial explains how to use the JWT authentication strategy with Django REST Framework. It covers the basics of how JWTs work, and provides examples of how to install and use the code example library. It also explains the use of the refresh token, and provides some further reading on the topic.

How to Save Extra Data to a Django REST Framework Serializer

April 7, 2019 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial explains how to pass extra data to a Django REST Framework serializer, before saving it to the database. The example uses an APIView, but the technique can also be applied to ViewSets.

How to Implement Token Authentication using Django REST Framework

Nov. 22, 2018 by Vitor Freitas Article

No reviews yet. Contribute
In this tutorial, you will learn how to implement Token-based authentication using Django REST Framework. Token authentication works by exchanging a username and password for a token that will be used in all subsequent requests to identify the user on the server side. The specifics of how authentication is handled on the client side vary depending on the platform, but once you understand the overall process, it is easier to find the necessary resources and documentation for your specific application. Token authentication is suitable for client-server applications where the token is safely stored and does not expose the user's credentials.

A Complete Beginner's Guide to Django - Part 5

Oct. 2, 2017 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial provides an overview of how to protect views against unauthorized users in Django, and how to access the authenticated user in views and forms. Finally, the tutorial explores some features of Django.

A Complete Beginner's Guide to Django - Part 7

Oct. 16, 2017 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial walks the reader through the steps necessary to deploy a Django application to a web server, as well as configure email services and HTTPS certificates. The tutorial also covers the basics of version control and how to use a gitignore file.

A Complete Beginner's Guide to Django - Part 6

Oct. 9, 2017 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial provides a comprehensive guide to Django for beginners. Topics covered include creating and working with views, templates, and models, as well as more advanced concepts such as pagination and working with Markdown.

How to Use Celery and RabbitMQ with Django

Aug. 20, 2017 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial covers how to install and use Celery and RabbitMQ with Django. Celery is an asynchronous task queue based on distributed message passing. It allows you to execute asynchronous tasks in the background, which can improve the responsiveness of your web application. In order to use Celery, you must first install RabbitMQ. Celery supports RabbitMQ, Redis, and Amazon SQS.

A Complete Beginner's Guide to Django - Part 2

Sept. 11, 2017 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial is for complete beginners and covers the basics of Django. It includes sections on installing Django, setting up a project, creating models, working with views and templates, and more. It also includes a section on how to create a simple web board project.

A Complete Beginner's Guide to Django - Part 1

Sept. 4, 2017 by Vitor Freitas Article

No reviews yet. Contribute
This is a tutorial for complete beginners on how to use the Django web development framework. It covers everything from installation to more advanced topics, with lots of detail and accompanying illustrations.

Ask Vitor #4: WordPress or Self-Made Blog?

Aug. 3, 2017 by Vitor Freitas Article

No reviews yet. Contribute
The Ask Vitor series is a blog post series in which blogger Vitor asks different web professionals a question. In this particular post, Vitor discusses whether or not he used WordPress or a different blog engine to create his blog. Vitor explains that his blog is powered by Jekyll, a static site generator, and that Django was used to create a small API.

How to Configure Mailgun To Send Emails in a Django Project

May 27, 2017 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial describes how to configure Mailgun to send emails in a Django project. It explains the benefits of using Mailgun and describes the steps necessary to set it up.

Django Under the Hood 2016

Nov. 8, 2016 by Vitor Freitas Article

No reviews yet. Contribute
The Django: Under The Hood (DUTH) conference is a two-day event where attendees can learn about the inner workings of Django. The conference consists of a series of talks from Django core team members and other members of the Django community. The event also includes two days of sprints, where attendees can work on Django projects with other developers.

How to Implement CRUD Using Ajax and Json

Nov. 15, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial demonstrates how to use Ajax and JSON to create and manipulate Django models. It covers the basics of configuration, and provides a working example. The example uses a table to list books, and includes instructions for creating a new book, editing an existing book, and deleting a book.

Django Tips #17 Using QuerySet Latest & Earliest Methods

Oct. 6, 2016 by Vitor Freitas Article

No reviews yet. Contribute
Django Tips #17 Using QuerySet Latest & Earliest Methods This Django tutorial explains how to use the QuerySet Latest and Earliest methods. These methods are convenience methods which can be used to enhance the readability of the code. They are similar to the code example and code example methods, but they return code example if there is no matching object. The code example and code example methods might return instances with null dates, so it is important to be aware of the ordering behavior between different databases.

How to Deploy a Django Application to Digital Ocean

Oct. 14, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial will show you how to deploy a Django application on DigitalOcean. You will need to create a DigitalOcean account and select the size and region of the Droplet. You will also need to choose a name for your Droplet. Finally, you will need to clone the Github repository of the Django application you want to deploy. You will then need to install Git on your local machine and run the following commands: git clone https://github.com/sibtc/urban-train.git cd urban-train git checkout tags/1.0

How to Use django-hosts Library

Oct. 11, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial provides a basic introduction on how to use the django-hosts library to set up different parts of your Django application under different subdomains.

Estimating the Effort of Development of a Django Application

Oct. 3, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial is about how to estimate the effort of development of a Web application. It explains the challenges of making an accurate estimation and shares some of the author's experience with it.

Django Shortcuts

Sept. 12, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This module is a collection of helper classes generally used in view functions/classes. The renderParams shortcut is for: render(request, template_name, context_instance) The render_to_response shortcut is basically the same as render, except that it doesn't pass the request to the context. The redirectParams shortcut returns an code example (or code example) to the appropriate URL for the arguments passed. The arguments could be: A model: the model's code example function will be called. A view name, possibly with arguments

How to Create a One Time Link

Aug. 24, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial explains how to create a one time link for password reset in Django. Django uses a cryptographic approach to generate the password reset tokens, which is safe and reliable. The tutorial provides an overview of the Django code example and explains how to extend it to generate a one time link. The class has two public methods - make_token and check_token - which generate a hash value with user related data and check whether the token is valid. The default value for the password reset token is 7 days.

Dealing With QueryString Parameters

Aug. 22, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial deals with the problem of handling multiple querystring parameters. It provides a solution that involves creating an "options" object that stores the parameter values and then passes this object to the relevant controller methods.

How to Create a Password Confirmation View

Aug. 15, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial explains how to create a password confirmation view in a web application. The tutorial explains how to use the built-incode exampleandcode examplefunctions to create a form to gather information from the user and how to use a decorator function to determine if the user needs to be asked to confirm his/her password.

How to Upload Files With Django

Aug. 1, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial covers how to handle file uploads with Django. First, the basics of file upload are explained, including how to set the required HTML attribute and proper model fields. The Django file upload mechanism is then described in detail, including how uploaded files are stored on the filesystem. Finally, the source code for examples used in this post is provided.

How to Reset Migrations

July 26, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial shows how to reset the Django migration system. The first scenario describes how to perform a full clean up when the project is still in the development environment. The second scenario describes how to reset the migration history when the project is in a production environment.

Date Template Filter

June 21, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial provides a list of the most commonly used Django date template filters, along with examples of how they can be used to format dates according to a given format. It also provides a reference to the Django documentation on date formatting.

How to Extend Django User Model

July 22, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This tutorial explains how to extend the Django user model. It provides four different methods for doing this, and explains when each method is appropriate.

Django Tips #4 Automatic DateTime Fields

May 23, 2016 by Vitor Freitas Article

No reviews yet. Contribute
In this tutorial, we learn how to use the automatic date and time management features in Django. We see two code examples, one for setting the date only when the instance is created, and one for updating the field every time the method is called. We also learn that both arguments will trigger the field update event, meaning that when an object is created, both the date and time will be filled.

Django Tips #1 redirect

May 5, 2016 by Vitor Freitas Article

No reviews yet. Contribute
This Django tutorial provides tips on how to use the redirect function. It covers the different types of arguments that can be passed to the function, as well as the benefits of using it.

FastAPI vs Flask - The Complete Guide

June 15, 2021 by Christopher Samiullah Article

No reviews yet. Contribute
An in-depth comparison between the two slim frameworks with tests, data and set up examples. Django is also mentioned but it's on another category as it's a full-fledged web framework. FastAPI is the fastest and most advanced.

The Flask Mega-Tutorial Part XV: A Better Application Structure

March 16, 2018 by Miguel Grinberg Series

1 Reviews
A series of articles on implementing a fully fledged app using Flask. It comes complete with databases, templates, forms, pagination, routes and deployment.

Python Tutorial – How to Create a URL Shortener using Flask

Jan. 3, 2022 by Ashutosh Krishna Article

No reviews yet. Contribute
This tutorial provides a step-by-step guide on how to create a URL shortener using the Flask web framework. The tutorial begins by explaining how to create a virtual environment and install the necessary dependencies using Pipenv. Next, the author explains how to add a new route that takes the short id the application generates and fetches the original URL. The tutorial concludes by providing a brief overview of the frontend of the application.

Python Project – How to Create a Horoscope API with Beautiful Soup and Flask

Dec. 17, 2021 by Ashutosh Krishna Article

No reviews yet. Contribute
This tutorial guides users through the steps of creating a horoscope API with Beautiful Soup and Flask. First, a virtual environment is created and the necessary dependencies are installed. Next, the website that will be scraped is identified and Beautiful Soup is used to extract the data. This data is then formatted into JSON and served as an API using Flask.

How to Authenticate Users in Flask with Flask-Login

Nov. 1, 2021 by Ondiek Elijah Ochieng Article

No reviews yet. Contribute
In this tutorial, you will learn how to set up user authentication in a Flask web application with the help of Flask-Login. You will also learn about the different components of the application structure and how to install and set up the project.

Web Scraping in Python – How to Scrape an eCommerce Website Using Beautiful Soup and Pandas

March 23, 2021 by Manthan Koolwal Article

No reviews yet. Contribute
This tutorial demonstrates how to scrape an ecommerce website using Python. First, the website's link is retrieved and stored in a variable. Then, a loop is used to extract the product information from each page of the website. The information is then stored in a list or dictionary.

How to monitor your air quality with this DIY setup

Feb. 19, 2019 by Bert Carremans Article

No reviews yet. Contribute
This tutorial describes how to monitor your air quality with a DIY setup. Using a Raspberry Pi, low-cost gas sensors, and a remote-controlled switch, you can control the air quality in your house. The factors that influence indoor air quality are ambient air, air tightness and ventilation of the building, and indoor sources like tobacco smoke, heating gases, consumer products, etc. The Environmental Protection Agency reports that Americans spend 87% of their time indoors, and in Europe, this average percentage is 90%. By tracking the indoor air quality, you can make informed decisions about how to improve

How to build a progress bar for the web with Django and Celery

July 3, 2018 by Cory Zue Article

No reviews yet. Contribute
This tutorial teaches how to build a progress bar for the web with Django and Celery. It covers the components involved in making a quality progress bar and provides a code example.

I Built A Jupyter Notebook That Will Analyze Cryptocurrency Portfolios For You

Jan. 20, 2018 by Grant Bartel Article

No reviews yet. Contribute
This tutorial describes how to use a Jupyter notebook to analyze cryptocurrency portfolios. It first explains why it is important to analyze portfolios and then provides code that can be used to do so. The tutorial then describes how to run a backtest on an investment strategy and concludes with a discussion of the benefits of analyzing portfolios.

When a CTO Decides to Make a Wedding Website

June 29, 2017 by Cory Zue Article

No reviews yet. Contribute
The tutorial describes how to create a wedding website using the Django web development framework. It covers the following topics: setting up a development environment, creating a database model, building a responsive website, adding guest management features, and adding email functionality.

Django Tutorial for Beginners: Features, Architecture & History

March 5, 2022 by Steve Campbell Article

No reviews yet. Contribute
This Django tutorial covers all the basics topics from scratch. In particular, you will learn the concepts behind Django such as what is Django, Django history, Django features, Characteristics of Django framework, Component of Django, Advantages and disadvantages, and much more.

Flask vs Django: What’s the Difference Between Flask & Django?

March 5, 2022 by Steve Campbell Article

No reviews yet. Contribute
This tutorial provides an overview of the key differences between the Flask and Django web development frameworks. It covers the features of each framework and highlights the advantages and disadvantages of each. In the end, the pros and cons of each framework are weighed to help you decide which is best for your needs.

A minimal REST API Django setup as a microservices

Nov. 11, 2019 by Jan Pieter Bruins Slot Article

No reviews yet. Contribute
How to set up a Django project that can be used as a microservice REST API. You can look at the code here to see the final result. An important disclaimer: the code presented here is intended for use in a development environment; if you want to use it in production or expose it to the internet, review the security practices for the framework(s).

FastAPI Gunicorn Uvicorn for Production Deployment with Google Cloud Run (Stress Testing)

Aug. 2, 2022 by Rudy Tri Saputra Article

No reviews yet. Contribute
A stackoverflow question/thread for benchmarking FastAPI run with default Tiangolo docker image, uvicorn and gunicorn. What's faster and why