Ответы к посту
Почему Django устарел
2

Ответ на пост «Почему Django устарел»

Django - архаичная шляпа, которую используют до сих пор только из-за большого комьюнити, которое так же когда-то подсело на него, потому что по большому счёту во время его появления не из чего было особо выбирать. Огромная непонятная запудренная кодовая база, если даже сравнивать с тем же Flask/FastAPI, Django - как городская сумасшедшая бабка, которая существует только благодаря своим родственникам, которая несёт дичь и чушь (это фигурально я обсираю говнокодовую базу, которая при масштабируемости действительно становится похожим на свалку непонятных объектов). Когда я решил попробовать Django в первый раз - он же был и последний, эти старые шаблоны, которые толком не дают нормальной возможности работать с JS и сторонними библиотеками, только используя непонятные костыли. Товарищи, которые лестно о нём отзываются - лишь те неудачники, которые когда-то мало-мальски нашли к нему подход, а пересаживаться на любой другой фрейм - очень сложно, потому что очень сильно не похожи (к слову, Flask и FastAPI ой как похожи по кодовой базе и паттернам). Да, Django не асинхронный, но и тот же Flask можно полностью с лёгкостью настроить под себя. О, "Flask не масштабируемый" я могу услышать, но и при всей масштабируемости и синхронности Django уже просто нет смысла его использовать.

Почему Django устарел

Потому что:

- плохо поддерживает async вьюхи и бд-запросы

- нет вшитого изкоробочного ASGI сервера, надо daphne подрубать

- celery не такой быстрый, не поддерживает asyncio, как FastStreams. celery также не поддерживает Kafka

- синтаксис слегка громоздский, в сериализаторах и моделях можно было бы использовать тайп-хинты для указания типа данных

- медленные сериализаторы (без Rust)

Самая важная проблема - это то, что джанго не асинхронный. Что делает его синхронным?

Тот же FastAPI асинхронный, потому что он построен на основе uvicorn, ASGI-сервере.

Появился fastapi так:

сначала был uvicorn (асинхронный веб сервер)

=> потом появился starlette (мини-фреймворк для работы с uvicorn. добавили кучу всего, кроме валидации данных, сериализацию и документацию)

=> и наконец fastapi (это starlette, но с валидацией, сериализацией и авто-докой)

То есть Django устарел главным образом потому, что он синхронный, а синхронный он потому, что базируется на WSGI сервере

UPD: если можете привести примеры, почему Django устарел, пишите в комменты. Я пока больше ничего не придумал

Почему Django устарел Программирование, Программист, Программа, IT, Python, Джанго

UPD:

ссылка на оригинальный пост: https://t.me/sh1nke9/322

Показать полностью 1
Отличная работа, все прочитано!