Что такое Flask
Flask — это «микрофреймворк» для Python. Слово «микро» означает не ограниченность, а минимализм: Flask даёт только самое необходимое — маршрутизацию запросов и систему шаблонов. Всё остальное добавляешь по необходимости. Это противоположность Django с его «батарейками включены».
Создан Армин Ронахером как первоапрельская шутка в 2010 году (назвал «Werkzeug + Jinja2 в одном флаконе»). Шутка оказалась настолько полезной, что превратилась в один из самых популярных Python-фреймворков.
Простота Flask
Минимальное Flask-приложение — пять строк кода:
from flask import Flask; app = Flask(__name__); @app.route('/'); def hello(): return 'Hello, World!'
Нет обязательной структуры проекта, нет обязательных зависимостей. Ты сам решаешь, какую базу данных использовать, как строить архитектуру.
Экосистема расширений
Flask компенсирует минимализм богатой экосистемой расширений. Flask-SQLAlchemy — ORM. Flask-Login — авторизация. Flask-WTF — формы с защитой CSRF. Flask-Migrate — миграции базы данных. Flask-RESTful или Flask-RESTX — REST API.
Свобода Flask — это и преимущество, и риск. В маленьком проекте приятно, что нет лишнего. В большой команде может возникнуть «архитектурный хаос», если нет чётких договорённостей.
Когда выбирать Flask
Flask идеален для: микросервисов, небольших REST API, прототипирования, когда Django «слишком много». Netflix использует Flask для внутренних инструментов. Reddit на Flask (исторически). LinkedIn использовал Flask для некоторых сервисов.
Современная альтернатива Flask — FastAPI, которое добавляет типизацию и автогенерацию документации. Но Flask остаётся востребованным из-за огромного сообщества и обилия обучающих материалов.
