Pull to refresh

Comments 5

Спасибо автору, заинстересовался фреймворком. Единственное, если выбирать фреймворк, руководствуясь в основном его быстротой, то если верить techempower, он уступает не только blacksheep, как написано в прошлой статье, но и тому-же Sanic.

Андрей, привет. Спасибо за пример из старлет, гляжу на него регулярно раз в полгода и пока не решился. Пока на любых примерах применения старлет или же торнадо я вижу, что придется все ещё работать с Джанго.
Теперь вопрос по коду:
У тебя _remove, _validate_name, _clean_expired объявлены нативными корутиновыми функциями, хотя они не возвращают незапущенную корутину. По идее это противоречит pep0492. Вероятно я здорово отстал от современного питона. Подскажи в чем смысл такого определения по твоему?
Вопрос второй, а не правильнее ли было создать менеджер каналов со своими методами, а то как то странно видеть работу с голым глобальным словарем?

Ваши замечания по коду учтены. Менеджер каналов создан.
Данное руководство также поправлено и дополнено.
Спасибо за фидбек.
Замечания по коду.
1) По поводу _remove, _validate_name, _clean_expired вы абсолютно правы. Спасибо. Сделаю фикс c ближайшим обновлением.
2) Задача на перевод «голого глобального словаря» в менеджер каналов также добавлена в TODO.

Starlette vs Django.
Самая большая проблема Starlette на мой взгляд это отсутствие ORM и привычных миграций. Положение спасает Tortoise ORM, но в нем также нет миграций (обещают к версии 1.0)
Как из Starlette можно «сделать привычную Django», я показал в предыдущей статье.

По поводу того стоит ли начинать использовать Starlette в своих проектах — ответ да, определенно стоит. Особенно если у вас разделены фронтенд (Vue, React) и бекенд (DRF). Запускаете +1 контейнер, выбираете нагруженную задачу и переписываете.

По поводу того что Starlette медленнее Sanic и BlackSheep, это все довольно условно (разница в десятые доли процента).

Для меня основной плюс Starlette это его продуманность. Писать на нем легко и приятно.


Sign up to leave a comment.

Articles