Фреймворки Python: семь самых популярных
Python — один из часто используемых языков программирования. Он удобный, поэтому на нем пишут сайты и веб-приложения. Чтобы оптимизировать этот процесс, сэкономить время и силы разработчиков, существуют фреймворки. Мы сделали для вас подборку самых популярных.
Django
Сайт / PyPi / GitHub / Stack Overflow

Django — один из самых популярных фреймворков
Один из наиболее распространенных фреймворков, который подходит разработчикам разного уровня: от новичков — до профессионалов. Django помогает сэкономить время написания кода и увеличить его эффективность.
Фичи
- Аутентификация.
- Маршрутизация URL-адресов.
- Миграция схем баз данных.
- Работа с базами данных: PostgreSQL, MySQL, SQLite и Oracle.
- Поддержка веб-серверов.
- Использование объектно-реляционного преобразователя (ORM).
- Интернационализация.
- Наличие собственного движка шаблонов.
Достоинства
- У Django понятная структура. Фреймворк прост в использовании, так что начинающие программисты смогут с ним разобраться.
- Многие особенности фреймворка позволяют ему значительно упрощать и ускорять работу с кодом.
- Регулярно обновляется, учитывает последние версии языка.
- Фреймворк бесплатный и имеет открытый исходный код.
Недостатки
- Из-за массивности и наличия собственных библиотек падает гибкость.
Где используется
- В создании сайтов. Фреймворк поддерживает много форматов: JSON, XML, RSS и другие (например, на нем создан сайт The Washington Post).
- В разработке веб-приложений (например, Instagram, Pinterest).
CherryPy
Сайт / PyPi / GitHub / Stack Overflow
CherryPy — это микрофреймворк
CherryPy — это объектно-ориентированный HTTP-микрофреймворк. С его помощью можно быстро разрабатывать веб-приложения. Является компонентом фреймворка TurboGears.
Фичи
- Позволяет запускать сразу несколько HTTP-серверов.
- Наличие гибкой системы плагинов.
- Готовые инструменты для аутентификации, кэширования, кодирования, сеансов, статического контента.
- Работает на Android.
- HTTP/1.1-совместимый веб-сервер с пулом потоков WSGI.
Достоинства
- Простой и понятный фреймворк, который легко использовать в работе.
- Наличие специального плагина, благодаря которому можно отслеживать производительность приложения.
- Фреймворк бесплатный и имеет открытый исходный код.
- Приложения, разработанные с помощью CherryPy работают в любой операционной системе, которая поддерживает Python (например, Windows, MacOS, Linux).
Недостатки
- Не подойдет для решения сложных многочисленных задач.
Где используется
- Фреймворк подходит для разработки приложений для Android.
- Идеален, когда необходимо создать приложение с не слишком длинным кодом.
- Если возникает потребность в отслеживании производительности приложения.
- Видеосервисы Netflix и Hulu используют этот фреймворк.
Flask
Сайт / PyPi / GitHub / Stack Overflow
Flask — фреймворк с модульным дизайном
Еще один микрофреймворк. Flask обладает модульным дизайном. Его также можно использовать при разработке приложений. Он удобен и позволяет выбирать расширения.
Фичи
- Наличие встроенного дебаггера, собственного сервера и множества шаблонов.
- Может подключаться к любой ORM.
- Для Flask существует собственный движок Jinja2, но при этом фреймворк может работать и с другими.
- Создан на основе Unicode.
- Соответствие WSGI 1.0.
- Совместим с Google App Engine.
Достоинства
- Настройка и установка Flask требует меньше времени, чем других фреймворков.
- Поддержка безопасных Cookies.
- Встроенные функции ускоряют разработку.
- Фреймворк быстро адаптируется благодаря модульному дизайну.
Недостатки
- Фреймворк используется как дополнительный инструмент и нацелен на решение конкретных задач, поэтому не может похвастаться широкими возможностями.
Где используется
- В создании открытых приложений.
- При разработке бэкенд-систем.
- Flask использовался при создании приложения видео-сервиса Netflix.
TurboGears
Сайт / PyPi / GitHub / Stack Overflow
TurboGears считается альтернативой Django
Удобный фреймворк с открытым кодом, которым пользуются разработчики для создания веб-приложений, которые работают с данными. Подходит и начинающим специалистам, и профессионалам. Фреймворк считается альтернативой Django.
Фичи
- Элементы командной строки.
- Структура полного стека.
- Поддержка Genshi, Repoze, SQLAlchemy, SQLObject и WebOb.
- Поддержка валидации с помощью FormEncode.
- Интеграция библиотеки MochiKit JavaScript.
- Использование ToscaWidgets (это упрощает координацию дизайна внешнего интерфейса и развертывания сервера).
Достоинства
- Поддержка гибкой и мощной ORM.
- Простые и понятные шаблоны PasteScript.
- Поддержка большого количества баз данных.
- Возможность расширять фреймворк путем создания плагинов или дополнения существующих.
- TurboGears — очень гибкий фреймворк, поэтому его возможно использовать в качестве микрофреймворка для создания прототипа либо как фулстек-фреймворк при работе с крупными проектами.
Недостатки
- Небольшое количество возможностей для расширений.
Где используется
- В Tracim — сервисе, нацеленным на помощь в работе с разными типами документов и данных.
- В создании сайтов (например, сайте турецкой версии вокального шоу The Voice).
- В создании баз данных (например, в BisQue — системе, разработанной для биологов, чтобы создавать 5D-изображения).
Pyramid
Сайт / PyPi / GitHub / Stack Overflow
Pyramid
Pyramid — полезный фреймворк, который может помочь в решении многих задач, если научиться с ним работать. Он представляет собой простой и минималистичный каркас, на основе которого можно создавать как маленькие, так и большие приложения.
Фичи
- Предикаты и рендереры.
- Генерация URL.
- Гибкая схема аутентификации и авторизации.
- Поддержка SQLAlchemy.
- Декораторы функций.
Достоинства
- Открытый исходный код.
- Много функций.
- Благодаря SQLAlchemy есть возможность работать даже со сложными запросами.
- Существование декораторов помогает легко отправлять XHR-запросы.
- Гибкость фреймворка: можно заменять компоненты.
- Фреймворк бесплатный.
Недостатки
- При создании сложных приложений придется глубоко изучить фреймворк и научиться с ним работать, поскольку он имеет определенные алгоритмы, отступить от которых будет проблематично.
Где используется
- В создании крупных сложных приложений.
- Идеален для разработки однофайловых приложений.
- При масштабировании сайтов под возросшую нагрузку.
- В создании прототипов.
- Используется в разработке API.
- В тестировании.
- В идентификации.
- В маршрутизации.
- В среде разработки веб-приложений Substance-D.
Web2Py
Сайт / PyPi / GitHub / Stack Overflow
Web2Py
Это особенный фреймворк. В первую очередь он хорош тем, что его не нужно устанавливать. Он легко запускается с любого электронного носителя — флешки или жесткого диска.
Фичи
- Cобственный IDEwhich с редактором кода, дебаггером, деплоем.
- Трекер ошибок.
- Функция обратной совместимости, благодаря которой возможна работа с прежними версиями фреймворка.
Достоинства
- Может работать на разных платформах и с разными протоколами.
- Не требует установки или настройки.
- Качественная защита данных.
- Исходный код открытый.
- Гибкий.
- Бесплатный.
Недостатки
- Необходимо работать с последней версией языка Python.
Где используется
- Web2py разработан для разработки быстрых, масштабируемых, безопасных и портируемых веб-приложений на основе баз данных.
- С помощью фреймворка разработана платформа Instant Press.
Bottle
Сайт / PyPi / GitHub / Stack Overflow
Bottle
Завершает эту подборку минималистичный фреймворк Bottle, который может использоваться в разных мелких и средних проектах. Интересно, что исходный код фреймворка состоит из всего одного файла.
Фичи
- Наличие встроенного сервера разработки HTTP.
- Загрузка файлов.
- Работа с файлами Cookies.
- Наличие множества шаблонов и полезных инструментов, которые упрощают работу.
- Маршрутизация отправки запросов с поддержкой параметров URL.
Достоинства
- Удобный доступ к данным.
- Фреймворк прост и понятен в использовании.
Недостатки
- Не подходит для реализации крупных проектов.
Где используется
- В разработке небольших приложений.
- В создании прототипов.
- В библиотеке для структурирования проектов Decanter.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: