|
Язык и среда
|
Java + JVM
|
Rust (Cargo + async runtime tokio/actix)
|
Компилируется в нативный код, без виртуальной машины.
|
|
Web-фреймворк (REST / MVC)
|
Spring Boot / MVC
|
Actix-web, Axum, Rocket, Warp
|
Actix-web и Axum — основные фреймворки; оба поддерживают маршруты, middleware, DI.
|
|
ORM и базы данных
|
Hibernate / JPA
|
Diesel, SeaORM, SQLx, Prisma-Client-Rust
|
Diesel — compile-time безопасный ORM; SeaORM ближе по духу к JPA.
|
|
DI / IoC контейнер
|
Spring Context / @Autowired
|
shaku, typemap, modioc
|
DI-контейнеры реализованы как трейты и модули.
|
|
Конфигурации
|
application.yml
|
config-rs, dotenvy, envy
|
Поддержка .env, YAML, TOML, JSON.
|
|
Безопасность / JWT / Auth
|
Spring Security
|
jsonwebtoken, actix-identity, axum-extra::extract::TypedHeader
|
JWT-middleware и Guards для аутентификации.
|
|
Документирование API
|
Springdoc / OpenAPI
|
utoipa, paperclip, okapi
|
utoipa автоматически генерирует OpenAPI 3.0 документацию.
|
|
Тестирование
|
JUnit 5 + Mockito
|
cargo test, assert_cmd, mockall, rstest
|
Тесты встроены в Cargo; mockall — для имитации зависимостей.
|
|
Асинхронность / потоки
|
CompletableFuture / @Async
|
async/await, tokio, async-std
|
Полная нативная асинхронность с zero-cost futures.
|
|
Логирование
|
SLF4J / Logback
|
tracing, log + env_logger, fern
|
tracing — продвинутый фреймворк для структурированного логирования.
|
|
Документация кода
|
Javadoc
|
rustdoc
|
Автоматически генерирует HTML-документацию из комментариев.
|
|
Мониторинг / Health-check
|
Spring Actuator
|
actix-web-actors, prometheus-rs, utoipa-swagger-ui
|
Метрики и health-эндпойнты.
|
|
Сборка / зависимости
|
Maven / Gradle
|
Cargo.toml, cargo build/test/run
|
Встроенный пакетный менеджер и система сборки.
|