Комментарии 16
Мне кажется, вы сравниваете инструменты из разных миров. Никто не будет делать микросервис на django, также как вряд ли кто-то будет делать полнофункциональный монолит-сайт на flask или fastapi. Опять же, в 2025 flask — это скорее обвязка для ML-сервиса, а FastAPI для всего остального ибо асинхронно и быстро.
Но эти инструменты и так на слуху. Было бы круто рассмотреть более широкий спектр инструментов вроде Starlette, Litestar, Sanic, Aiohttp и других.
хм, а какие специфичные требования в "обвязка для ML-сервиса", из-за которых стоило бы выбрать именно Flask, а не FastAPI?
Из синхронного Flask удобнее общаться с синхронными ML-либами и в условиях куба удобнее крутить лимиты без упора в троттлинг.
В целом, можно и на fastapi, но запускать синхронный код из асинхронного считается плохой практикой плюс это сложнее менеджерить с точки зрения тех же лимитов.
Никто не будет делать микросервис на django
а ведь делают...drf и вперед ;)) уже несколько раз такое видел
а чем это плохо?
джанго тяжеловат для "микро" сервисов
Согласен с Вами в отношении "микро" сервиса в его истинном понимании, но касаемо API через DRF - этож нормальная практика.
В чем именно выражается эта тяжесть? На самом деле каждый микросервис - это монолит производного размера. Что выбирать для его разработки зависит от ситуации. Мы прекрасно живём на работе с микросервисом на джанге, в том время как другие микросервисы написаны на других фреймворках и языках.
тяжесть выражается в том, что в Django, как и в любом другом полноценном фреймворке, "все включено", а команда разработчиков какие-то или многие функции фреймворка не использует или они не нужны для текущего микросервиса. И все эти неиспользуемые фичи висят мертвым грузом
Litestar неплохо выглядит - асинхронный с di как fastapi и в то же время имеет батарейки кау джанга
Если говорить конкретно про эту тройку, то вообще не вижу смысла выбирать под какую-то задачу Flask, оставившие два полностью удовлетворят потребность в большинстве задач.
Я как понимаю, что нужно писать всегда на самом быстром? Даже там где эта скорость не нужна? Так почему не rust? Даже go будет в несколько раз быстрее, чем python с асинхронным / синхронным фреймворком. Бред. Нужен сервис с админкой за пару дней - бери Django. Нет ни одной админки для fastapi близко к уровню админки Django. Не во всех проектах нужна скорость, а усложнять написание ради rps где он даже и не нужен - бред. Сразу пиши на rust, разница будет больше, чем fastapi обгоняет django.
Какой Python-фреймворк выбрать: Django, Flask или FastAPI?