Сегодня мы рассмотрим 5 лучших веб-фреймворков для Python, которыми пользуются разработчики Python в 2022 году.
Django
Подходит как для фронтенда, так и для бэкенда.
репозиторий на 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
репозиторий на 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
репозиторий на 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
репозиторий на 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
репозиторий на 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, в которой кратко описаны все необходимые инструменты для работы с языком.