Yaroslav Bibaev

Субъективный блог

06 Jun 2020

Async/await теперь и в django

Только ленивый не написал о том, что Django начиная с версии 3.1 станет поддерживать асинхронные мидлвари и вью. Это действительно большое изменение для такого крупного и достаточно старого (~15 лет) фреймворка, как Django.

В начале этого пути появится много кода, который будет нужен только для поддержки одновременной работы в фреймворка в асинхронном и синхронном мире. Несомненно, это усложнит поддержку и добавит больше точек отказа, но таков путь итеративной разработки. Тем более такая история уже была и тогда делали поддержку третьей версии python. В итоге за 5 лет смогли полностью перейти на неё и отказаться от python2.

Желаю удачи разработчикам, которые решили включиться в поддержку асинхронности в Django, так как это действительно непросто, а самое сложное ещё впереди (да, с ORM будет интересно). Но я считаю, что направление выбрано правильное и это решение приведёт к ещё большей популяризации фреймворка. Так что, начиная с версии 3.1, теперь и в “энтерпрайзе” можно будет писать асинхронный код. Наконец-то!