Flask
Что такое Flask
Flask – популярный микрофреймворк для бекэнд-разработки приложений, написанный на языке Python. По сути, базовая версия Flask ограничивается маршрутизатором запросов. Функционал Flask расширяется установкой дополнительных пакетов из репозитория PyPI. PyPI содержит более 1100 пакетов для Flask; еще больше неофициальных пакетов можно отыскать на GitHub. Благодаря гибкости Flask, на его базе можно делать не только микросервисы и MVP, но и большие проекты – доказательство тому Pinterest, который в 2015 году обрабатывал более 12 миллиардов запросов в день.
Благодаря популярности Flask, в его экосистеме предусмотрены решения для всех классических задач, которые возникают при разработке бизнес-логики. К примеру, есть пакеты для защиты от кибератак, поддержка разных способов аутентификации, поддержка асинхронности и многое другое. По популярности, Flask идет вторым Python-фреймворком после Django, который отличается от Flask поддержкой большей части функционала «из коробки».
Pallets Projects – создатели Flask, разработали для своего продукта несколько дополнительных модулей, которые используются в качестве классических решений в разработке с микрофреймворком:
- Jinja2 – шаблонизатор, который генерирует HTML-страницы;
- Werkzeug – библиотека для стандарта взаимодействия между кодом на Python и веб-сервером (WSGI);
- Click – пакет для создания интерфейса командной строки;
- ItsDangerous – пакет для безопасной авторизации пользователей;
- MarkupSafe – пакет для экранирования символов.
Где применяют Flask
Преимущественно Flask используют в разработке бизнес логики сайтов. При этом, микрофреймворк поддерживает использование в качестве бекэнда мобильных и десктопных, а также кроссплатформенных приложений. Flask может работать совместно с фреймворками для разработки пользовательских интерфейсов, таких как React Native, Flutter или Apache Cordova.
Преимущества разработки на Flask
- гибкость и поддержка оптимизации благодаря расширению функционала дополнительными пакетами;
- популярность среди прочих Python-фреймворков;
- возможность создания как маленьких, так и больших, масштабируемых проектов;
- регулярные обновления и дополнения, а также расширение функционала за счет сторонних пакетов, которые энтузиасты выкладывают на GitHub.
Недостатки разработки на Flask
- малое количество вспомогательной информации на русском языке;
- необходимость предварительного расширения функционала, связанная с поиском и изучением дополнительных пакетов.
Сайты, которые используют Flask
- Социальная сеть Pinterest – pinterest.com
- Онлайн-журнал Creapassions – creapassions.com
- Образовательные онлайн-курсы Brilliant – brilliant.org
- Онлайн-магазин одежды и обуви Zalando – zalando.de
- Компания по разработке программного обеспечения IBM – ibm.com