Фреймворк Flask
Flask — фреймворк для создания веб-приложений на языке программирования Python, использующий набор инструментов Werkzeug, а также шаблонизатор Jinja2. Относится к категории так называемых микрофреймворков — минималистичных каркасов веб-приложений, сознательно предоставляющих лишь самые базовые возможности.
Поддерживается установка посредством пакетного менеджера PyPI, версия 1.0 совместима с Python 2.7, Python 3.3 и выше.
Создатель и основной автор — австрийский программист Армин Ронахер, начал работу над проектом в 2010 году.
У Flask модульный дизайн, который позволяет адаптировать его для выполнения многих задач. «Из коробки» разработчик получает следующие функции:
• встроенный сервер и дебаггер;
• шаблоны Jinja2;
• поддержка безопасных кукис;
• WSGI 1.0;
• Unicode;
• возможность подключения к любой ORM.
Создавался фреймворк для поддержки разработчиков веб-приложений, которые получили возможность выбирать расширения по вкусу.
В чем разница между Django и Flask?
За меня на этот вопрос ответит статья Гарета Дуайера. Возьму смелость процитировать её:
Основные различия:
Flask минималистичен, прост в использовании и гибок, а также у него отсутствуют какие-либо ограничения.
Django похож на тариф «Все включено». В нем есть админ-панель, интерфейс базы данных, ORM (объектно-реляционное отображение) и структура каталогов для готовых приложений и проектов.
Вам стоит выбрать:
Flask, если вы заинтересованы в получении профессионального опыта и возможности обучения или же хотите получить больше контроля над тем, какие компоненты используются (например, какие базы данных вы хотите использовать и как взаимодействовать с ними).
Django, если вы сосредоточены на конечном результате. Особенно, если работаете над новостным сайтом, интернет-магазином или блогом, и вы хотите, чтобы на сайтах все было предельно понятно и легко для пользователя.
Другими словами, если вы новичок — Flask лучший выбор, потому что он достаточно прост в работе. Также, Flask подходит тем, кому нужно больше кастомизации. Кроме того, по словам моего друга Джонатана Т Хо, Flask более подходит для создания REST API, чем Django. Все благодаря его гибкости в работе.
С другой стороны, если нужно что-то незамысловатое и с четко-поставленной целью — на помощь приходит Django.
Сравнение с другими фреймворками
Для того, чтобы сделать выводы о популярности этого фреймворка, было принято решение создать сравнительную таблицу, расположенную ниже. Flask был сравнен с такими фреймворками как – Django и CherryPy и др. по следующим критериям:
• Группа фреймворков: Full stack или Micro-framework.
• Звёзды Github: общее количество звезд проекта, выставленных пользователям.
• Релизы Github: количество релизов каждого проекта, что отражает активность работы над проектом и его зрелость.
• Fork-и Github: количество, сделанных копий каждого проекта, что показывает популярность использования проекта в собственных работах.
• Вопросы Stack-overflow: количество вопросов, заданных по определенной теме.
• Вакансии: количество вакансий, связанных с технологиями или ИТ компетенциями.
Сама сравнительная таблица:
Название фреймворка | Группа фреймворка | Звёзды на Github | Релизы на Github | Fork-и на Github | Вопросы Stack-overflow | Вакансии |
Flask | Micro | 49 747 | 255 | 13 400 | 618 | 17 | Dash | Micro | 1 247 | 216 | 25 400 | 158 | 47 |
Django | Full | 46 528 | 275 | 20 400 | 217 030 | 42 |
CherryPy | Micro | 1 130 | 127 | 279 | 1 300 | 0 |
Zope | Full | 196 | 229 | 81 | 3 | 0 |
Вывод
Исходя из проделанной работы можно сделать вывод о том, что данный фреймворк имеет достаточное большое сообщество и многие разработчики, работающие на Flask, используют и Django.