Comments 11
Вброшу первый) Вроде неприятная история была с держатилем репо actix-web. Разобралось сообщество?
Зачем-то смешали в кучу actix и actix-web. Это совершенно разные продукты для решения разных задач. Статья даже не то, что слабая, а вообще вводит в заблуждение.
1) Diesel синхронен.
2) sqlx не ORM.
3) Как выше подметил @Fenex, actix-web и actix это разные вещи. Насколько я знаю, actix-web на данный момент не использует actix (прочитал об этом на Reddit).
Асинхронный дизель в наличии от тех же авторов, просто в отдельном крейте. Правда там есть пару неприятных особенностей, которые авторы решить не могут, а я у себя чинил костылем.
Верно, actix-web не использует под капотом actix уже давно, добавление последнего к actix-web сейчас в основном имеет смысл только для реализации websocket'ов (да и то, это не обязательно, просто как один из вариантов, хотя пожалуй он самый удобный).
Сам actix как фрэймворк модели акторов для своих задач очень хорош, но в нём очень плохо с документацией, её по сути нет, только пару страниц с поверхностным описанием. Но естественно прочтение этих пары страниц не даёт полной картины как надо делать правильно, даже если есть багаж знаний об архитектуре модели акторов, например, из Erlang'а.
Ситуацию усугубляет то, что почти все, кто используют actix-web, именуют его просто actix'ом, и, как следствие, гугление по "actix" выдаёт нерелевантные результаты. По итогу, чтобы разобраться в actix, требуется изучать исходники самой библиотеки и искать какие-нибудь проекты на гитхабе использующие её. Это прямо боль.
По поводу db, хочется добавить, что есть очень хорошая ORM на основе sqlx: sea-orm, как альтернатива распиаренному diesel.
actix в actix-web используется, только когда нужны вебсокеты
Не знаком с Rust, знаю, что actix - для actor, прочитал:
Вся статья поместиться в одну строку в конце из этой статьи, слегка измененную: Кто хочет узнать о Аctix - Actix GitHub
Посмотрел в инете o actor rust:
Зачем сюда привнесли actix web и пр., если статья о библиотеке actor?
Зачем переписывать сюда маленький кусок документации c Actix GitHub?
Существует, наверное, десятка два библиотек actor на rust, из них найдется несколько живых и сейчас, почему именно аctix?
Библиотеки базируются на tokio, async_std и пр. Actix, кажется, на собственном движке, какие преимущества, недостатки? Как решаются проблемы совместного использования? Удобство интерфейса библиотек, быстродействие?
Actor библиотека - это инструмент, на первый взгляд, есть база: передать, передать-ответ, подписка, таймер. Но явно нужны еще взаимодействие actor между узлами в сети или подключение актора в виде динамической библиотеки, т.е. получение id актора по имени. Все нужно с удобным интерфейсом, что тут дает Actix?
Перефразируя, тема actor-ов в Rust не раскрыта.
Выходит, написали статью, а в конце зовете на курсы изучения каких-то других инструментов, ничего не понятно, не по акторам, не курсам.
Библиотеки базируются на tokio, async_std и пр. Actix, кажется, на собственном движке
Actix uses the Tokio runtime. -- https://github.com/actix/actix/blob/master/actix/README.md
Обзор библиотеки Actix в Rust