TECHY360
Everything You Need To Know About Tech

Best Python frameworks web development for beginners

0 197

Let’s talk about Python frameworks for website development

Python is one of the most popular and easiest to learn programming languages ​​and is used almost everywhere, including in web development. 

For him, there are many frameworks, some of which not only facilitate development but also provide tools that allow you to literally raise a finished site in a couple of days.

Such frameworks belong to the full stack category. They are cool, they have a bunch of tools and everything is included, but this can make them heavy, slow and inflexible.

In addition to full-stack frameworks, there are others, for example, micro- or asynchronous frameworks.

The main plus of full-stack frameworks is that they already have everything they need for a full-fledged application. 

No need to search for separate libraries for each small task and think about compatibility, so even beginners can quickly assemble a ready-made working application. In this article, we will talk about such python frameworks.

  • Django
  • Pyramid
  • TurboGears
  • Flask
  • Tornado

Django

Site | Pypi | Github | Stack overflow

Django - Python Frameworks

High-level python frameworks designed for fast and efficient development. Its architecture is built to save your time and energy, and in the future – time and money of customers. 

The core principles of Django’s philosophy – DRY and rapid development – encourage code reuse and reduce redundancy.

Features

  • Version control for databases (migration).
  • Own template engine.
  • Object Relational Mappings ( ORMs ).
  • URL routing.
  • Web server support.
  • Authentication support.
  • Support internationalization.

Pros

  • A lot of libraries. You do not need to write the basic functionality yourself – much has already been written, all that remains is to import the appropriate libraries. You can usually rely on the quality of Django libraries.
  • Community and documentation. Django has detailed documentation and a friendly community, so you can always figure out how it works or ask experts.
  • Scalability. If you have no idea how much your project will grow and whether it will grow at all (as is usually the case with startups), Django allows you to start small and scale as needed.

Cons

  • Django out of the box does not support WebSockets, so it is not well suited for working in real-time.
  • Ready-made libraries are generally good, but often they reduce flexibility.

Where is it used?

  • Instagram is a social network for sharing photos and videos.
  • Spotify is a music platform that recommends user’s music based on their preferences.

Django is one of the most popular frameworks, many web studios work with it, so it is important to be able to use it if you intend to work in the field of web technologies.

Pyramid

Site | Pypi | Github | Stack overflow

Pyramid - Python Frameworks

If you want something more minimalistic, then you may like the Pyramid. This python framework is suitable for projects of any size.

 It has useful features for creating complex applications or scaling initially small sites for increased load.

Features

  • Convenient tools for working with static assets.
  • Predicates and renderers.
  • URL generation.

Pros

  • Flexibility and convenience of customization. Any component of the framework, whether it is a database or a template engine, can be replaced. You can even use several different components at the same time (for example, connect two different databases).
  • Convenient Ajax requests. Thanks to the system of decorators and views, you can send XHR requests without additional effort on the part of the developer.
  • SQLAlchemy support. SQLAlchemy provides convenient database management even for complex queries.

Cons

  • It takes time to deploy and prepare for development.
  • To do customization, you need to understand the Pyramid well.
  • For simple applications, SQLAlchemy can be overly cumbersome.

Where is it used?

Related Posts
1 of 26

TurboGears

Site | Pypi | Github | Stack overflow

TurboGears

TurboGears is an open-source python framework for the rapid development of data applications. 

It supports SQLAlchemy, Genshi, WebOb, and Repoze, so TurboGears is perfect for any system that requires good database support.

Features

  • Support for horizontal data partitioning.
  • Integration with the MochiKit javascript library.
  • Support for multiple databases simultaneously.
  • Support for MVC architecture.
  • ToscaWidgets.
  • PasteScript Templates.
  • Validation via FormEncode.

Pros

  • Flexibility. TurboGears can be used both as a microframework for rapid prototyping, and as a full-fledged fullstack framework for supporting large-scale projects.
  • Extensibility. You can create your own plugins or complement the functionality of existing ones.

Cons

  • It has so many expansion options that it’s easy to get confused.

Where is it used?

  • Apache Allura is an online code repository management platform created by SourceForge.
  • Kamisons is an umbrella site.

Flask

Site | Pypi | Github | Stack overflow

Flask

Flask is a WSGI framework that is suitable for both simple sites and complex platforms. It is compatible with third-party libraries and has many extensions.

Features

  • Fast built-in debugger.
  • Built-in dev server.
  • Jinja2 Templates.
  • Support for REST requests.
  • Compatible with any ORM.
  • Secure cookies to control the session on the client.
  • Unit test support.
  • Complies with WSGI 1.0.

Pros

  • A clear minimalistic framework. It’s pretty easy to figure out what exactly is happening and what process is responsible for what. The logic of work does not change from version to version.
  • Rapid prototyping. All the tools needed to create a prototype work right out of the box.

Cons

  • The framework is relatively low-level, so you need to understand it first, and the requirements for the programmer level are higher than the rest. If you want not to find out what and how it works under the hood, but to immediately create sites – it is better to choose something else.

Where is it used?

  • Rainist is an online personal finance management platform.
  • Netflix is one of the largest streaming platforms in the world.
  • Lyft – a platform for ordering taxis and renting vehicles.

Tornado

Site | Pypi | Github | Stack overflow

Tornado

An asynchronous framework, thanks to non-blocking data exchange, capable of simultaneously supporting many user connections. Perfect for tasks that require a long time to maintain a connection with each user.

Features

  • It has its own authentication mechanism, if necessary, you can connect third-party.
  • Translation support and localization.
  • Work in real-time.

Where is it used?

  • Uploadcare is a cloud service for working with files.

In the article, we talked only about the most popular python frameworks. Some are more flexible, others are easy to use; some are better suited for small projects, while others are suited for large ones. But all of them, one way or another, simplify development and allow you to do your own project, and not database interfaces or query parsing.

Comments
Loading...

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More