Найти тему
IT Заметки

Топ-5 веб-фреймворков для Python 2022

Оглавление

Сегодня мы рассмотрим 5 лучших веб-фреймворков для Python, которыми пользуются разработчики Python в 2022 году.

Django

-2

Подходит как для фронтенда, так и для бэкенда.
репозиторий на Github

Django - бесплатный веб-фреймворк с открытым исходным кодом. Использует архитектурный паттерн "модель-шаблон-представление"(the model–template–views).

Очень продвинутый python-фреймворк, который используется для быстрой разработки безопасных и поддерживаемых веб-сайтов с чистым и прагматичным внешним видом. В Django не придется каждый раз изобретать колесо, потому что он берет на себя большую часть хлопот, связанных с веб-разработкой.

Имеет открытый исходный код и легкий вес.

В основном он используется для создания качественных веб-приложений и динамических веб-сайтов. Имеет собственный шаблонизатор для генерации HTML-шаблонов, что значительно упрощает процесс создания динамических веб-сайтов, однако с помощью Django можно создавать и обычные веб-сайты.

Django был создан Адрианом Холовати и Саймоном Уиллисоном, когда они работали в газете Lawrence Journal-World, а сейчас он принадлежит и управляется компанией Django Software Foundation, расположенной в США. Первоначально Django был выпущен 21 июля 2005 года, около 16 лет назад.

Интегрирован с REST-фреймворком Django, Select2, Bugsnag, Strapi Cloudinary и др.

Используется в компаниях Pinterest, Udemy, Trivago, Pratilipi, Instagram, Robinhood.

Плюсы

  • Он реализован на языке Python и имеет открытый исходный код
  • Поддерживает быструю разработку.
  • Это очень безопасно.
  • Она очень масштабируема.
  • Имеет хорошую поддержку сообщества.
  • Она обеспечивает лучшее подключение к CDN и управление контентом.
  • Но, как и преимущества, он также имеет некоторые недостатки, такие как

Минусы

  • Он не подходит для небольших проектов.
  • Он не обеспечивает поддержку многопроцессорности.
  • Его нелегко освоить, но если вы научитесь, то сможете легко создавать на нем проекты.
  • Это монолитный фреймворк.
  • Его компоненты тесно связаны между собой.
  • Регулярное выражение URL-адресов

Быстрый старт

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()

Flask

-3

репозиторий на Github

Flask - это микровеб-фреймворк, написанный на языке Python, легкий и с открытым исходным кодом. Классифицируется как микрофреймворк, потому что не требует определенных инструментов или библиотек.

В нем нет слоя абстракции базы данных, валидации форм или каких-либо других компонентов, где уже существующие сторонние библиотеки обеспечивают общие функции.

Был реализован на Werkzeug и Jinja2, и Flask подходит для бэкенда, но изначально он был разработан как веб-фреймворк для разработки RESTful API.

Был разработан Армином Ронахером, австрийским программистом с открытым исходным кодом, а первоначально Flask был выпущен 1 апреля 2010 года, около 11 лет назад.

Интегрирован с Bugsnag, Strapi, Airbrake, KeyCDN, Bokeh, Stormpath, behave, AnyChart, unit test, Faust, Waitress, PyPy, Wing, PythonIDE, CDNsun, PyWebIO и др. и его используют такие компании, как Netflix, CRED, Trivago, ML, Patreon, Barolo, Reddit и др.

Плюсы

  • Масштабируемость.
  • Гибкость.
  • Легко обмениваться.
  • Легкий вес.
  • Документация.

Минусы

  • более медленное развитие MVP в большинстве случаев.
  • более сложный технологический стек.
  • более высокие затраты на обслуживание более сложных систем.
  • более сложное обслуживание для крупных внедрений.

Быстрый старт

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()

Web2Py

-4

репозиторий на Github

Web2Py также является одним из лучших фреймворков Python с открытым исходным кодом. Помогает программистам программировать динамический контент для своих веб-сайтов с помощью Python.

Изначально был разработан для сокращения задач веб-разработки, таких как разработка веб-форм с самого начала.

Кроссплатформенный, что означает, что вы можете запускать его на Windows, Linux и других операционных системах, которые могут работать на вашем компьютере.

Может запускать несколько веб-сайтов, используя различные базы данных.

Он интегрирован с Nginx, Json, Windows, и другими компаниями, такими как Vidjil, Sarapis, StopStalk, Groupthink, Rune Interactive, Oceangrafix.com, и Runestone.academy и другими.

Первоначально он был выпущен 27 сентября 2007 года. Web2Py разработан и защищен авторскими правами Массимо Ди Пьерро, который является итальянским веб-разработчиком, экспертом по науке о данных и преподавателем.

Плюсы

  • Поддержка архитектуры MVC.
  • Поддержка переносимости веб-приложений.
  • Поставляется с полезными батарейками.
  • Упрощает разработку веб-приложений на основе данных.
  • Обеспечивает безопасность веб-приложения.
  • Упрощает обслуживание веб-приложений.

Минусы

  • Менее популярен в сравнении Django и Flask.
  • Можно столкнуться с трудностями при его изучении, так как мало учебников по Web2Py.
  • Хорошее, но не очень большое сообщество хорошее

Pyramid

-5

репозиторий на Github
сайт проекта

Pyramid - это общий WSGI-фреймворк с открытым исходным кодом, с помощью которого можно легко создавать веб-приложения. Он написан на языке Python.

Основан на архитектурном паттерне Model-View-Controller (MVC).

Кроссплатформенный - можно использовать его на основных популярных ОС Windows, Mac OS и других.

Pyramid упрощает написание веб-приложений. Вы можете начать с минимального веб-приложения "hello world" с запросом/ответом. По мере роста вашего приложения Pyramid предлагает множество функций, которые позволяют писать сложные программы без особых усилий.

Разработан Крисом МакДонафом, Беном Бангертом, Майклом Мерикелом, Бертом JW Региером и Стивом Пирси.

Первоначально был выпущен 8 июля 2008 года. Его используют такие компании, как Kalibrr, Juniper Square, Gandi.net, App backend, Once, RideLink, Tango Financial и другие.

Плюсы

  • Гибкость
  • С Pyramid вам придется писать меньше кода при разработке веб-приложения.
  • Бесплатно
  • Открытый исходный код.
  • Кросс-платформенность

Минусы

  • Его сообщество не очень большое.
  • Он не лучше, чем Django.
  • Он не популярен и его учебники не очень доступны.

Быстрый старт

from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
def hello_world(request):
return Response('Hello World!')
if __name__ == '__main__':
with Configurator() as config:
config.add_route('hello', '/')
config.add_view(hello_world, route_name='hello')
app = config.make_wsgi_app()
server = make_server('0.0.0.0', 6543, app)
server.serve_forever()

Bottle

-6

репозиторий на Github
сайт проекта

Bottle - это микрофреймворк, написанный на Python, который хорошо подходит для новичков в технологии веб-фреймворков на Python.

Полезен для построения API.

Все реализовано в исходном файле.

У него нет зависимостей, кроме стандартной библиотеки Python. Он имеет стандартные функции, такие как маршрутизация, шаблонизация, утилиты, базовая абстракция над стандартом WSGI и многое другое.

Интегрирован с Python, Vue JS и Jinja.

Открытый исходный код и кросс-платформенность.

Сообщество разработчиков хорошее, но не очень большое.

Был разработан Марселем Хелкампом, а Bottle был первоначально выпущен 1 июля 2009 года. Он кроссплатформенный и с открытым исходным кодом.

Его используют такие компании, как eCommerce, Paysa Data, Net Power, light и другие.

Плюсы

  • Быстрый.
  • Очень прост в использовании.
  • Легко учиться.
  • Хорошая документация.

Минусы

  • Менее популярен

Быстрый старт

from bottle import route, run, template
@route('/hello/<name>')
def index(name):
return template('<b>Hello {{name}}</b>!', name=name)
run(host='localhost', port=8080)
#http://localhost:8080/hello/world

Выводы

Все упомянутые веб-фреймворки python хороши, и у каждого свое целевое назначение.

Django или Flask - наиболее популярные в использовании.

Если вы увлекаетесь изучением Python то можете ознакомитсья с переводом книги Python 101, в которой кратко описаны все необходимые инструменты для работы с языком.