Комментарии 15
А почему diesel, а не sea_orm?
Ну и warp, а не axum?
Мне кажется это более в тренде сейчас.
Как минимум странно упомянуть сихронный diesel и асинхронный warp рядом. Их точно имеет смысл использовать вместе?
Существует diesel_async. Sqlx тоже подошёл бы. А вот sea_orm - ну это для тех кто еще не прошел через ORM стадию.
Axum, действительно, предпочтительнее.
согласен c axum, я бы тогда сюда reqwest(можно ещё вспомнить всякие вспомогательные типа chrono)
Для чего вводить новый термин (крейт) для тех же сущностей (библиотека/пакет/зависимость)?
Потому что термины library, package, module заняты в расте. К примеру, крейт вообще не обязан быть библиотекой.
https://doc.rust-lang.org/book/ch07-01-packages-and-crates.html
Это скорее набор файлов, который может быть скомпилирован в единую сущность. Причем это сущность может быть как библиотекой, так и исполняемым файлом. Пакетов в рамках языка называется набор крейтов. Получается они захотели дать одно название и для библиотек и для исполняемых файлов, да вообще для любых файлов которые могут быть распростронены в рамках экосистемы. Например так они реализовали воозможность установки "приложений" и расширений в рамках cargo: cargo install и cargo-expand
Потому что фактически - оно единица трансляции компилятора, а не библиотека/пакет/зависимость.
И как минимум стоило упомянуть thiserror, anyhow, chrono, tracing
и анализ кода
syn и quote не анализируют код. Они занимаются обработкой синтаксиса
Раз уж зашла тема про Токио, стоило упомянуть еще мега удобный асинхронный рантайм под no_std, как embassy.
Добавлю itertools - библиотека расширяющая итераторы множеством полезных методов
9 полезных крейтов в Rust