На практике часто возникает дилемма между Django, Flask и FastAPI. Каждый достаточно популярен, но когда копаешься глубже, понимаешь, что подходы очень разные. Вот что сам обычно проверяю перед стартом:
1. Насколько масштабный проект? Django рулит, если нужно «всё и сразу» — есть и админка, и ORM, и авторизация, и куча готовых фишек. Для мелких API или микросервисов лучше FastAPI — асинхронность и производительность на высоте. Flask между ними, если надо что-то простое, но с возможностью расширения.
2. Проверяю, насколько много нужно писать «руками». Django почти всё за тебя делает, но он тяжелее. Flask — минимально, но всё самому надо лепить. FastAPI — ближе к Flask, но удобнее с новыми фичами и type hints.
3. Какой стек базы данных? Django легко работает с реляционными через свою ORM. Для NoSQL или сложных моделей Flask и FastAPI дают больше свободы.
4. Совместимость с asyncio. Если планируется высокая нагрузка и вебсокеты — FastAPI явно впереди, потом Flask с дополнительными библиотеками.
5. Поддержка и комьюнити. Django старше и реалии — много примеров, куча сторонних плагинов. FastAPI — молод, но быстро развивается. Flask — золотая середина, но в последнее время теряет популярность.
В итоге, для меня всё сводится к этому списку из пяти пунктов, чтобы четко понять, что хочу получить, и не влюбиться в какую-то технологию только из-за хайпа. Как у вас с этим было? На что смотрите при выборе?