|
Язык и среда
|
Java + JVM
|
Swift 5+ (SwiftNIO runtime)
|
Компилируемый язык с безопасной памятью, типобезопасностью и высокой скоростью (сопоставим с Go и C++).
|
|
Web-фреймворк (REST / MVC)
|
Spring Boot, Spring MVC
|
Vapor, Kitura, Perfect, Hummingbird
|
Vapor — де-факто стандарт для backend на Swift: маршруты, middleware, DI, шаблоны, WebSocket, REST.
|
|
ORM и базы данных
|
Hibernate / JPA
|
Fluent ORM (Vapor), PostgresKit, MySQLKit
|
Fluent — ORM с DSL-синтаксисом, аналогом Hibernate и JPA.
|
|
DI / IoC контейнер
|
Spring Context / @Autowired
|
ServiceContainer (Vapor), Factory, Swinject
|
Vapor имеет встроенный контейнер зависимостей; Swinject — отдельная библиотека DI.
|
|
Конфигурации
|
application.yml
|
Config/*.json, .env, Environment API
|
Vapor автоматически читает конфиги по окружению и .env файлы.
|
|
Безопасность / JWT / Auth
|
Spring Security
|
Vapor Auth / JWTKit
|
JWTKit реализует OAuth2 / JWT-аутентификацию, middleware для защиты маршрутов.
|
|
Документирование API
|
Springdoc-OpenAPI
|
Vapor OpenAPI / Swagger-Vapor, Swift-OpenAPI
|
Генерация OpenAPI 3.0 описаний из кода.
|
|
Тестирование
|
JUnit5, Mockito
|
XCTest, Quick + Nimble
|
XCTest — стандартный фреймворк Apple; Quick/Nimble — аналог JUnit + AssertJ.
|
|
Testcontainers
|
testcontainers-java
|
Docker + XCTest / Swift-NIO Sandbox
|
Нет официального порта, но можно использовать dockerized-integration через XCTest hooks.
|
|
Асинхронность / потоки
|
Thread / CompletableFuture
|
async/await, Swift Concurrency, DispatchQueue
|
Нативная асинхронность с async/await и Swift Concurrency runtime.
|
|
Логирование
|
SLF4J, Logback
|
swift-log, LoggingSystem
|
Стандартная библиотека Apple для унифицированного логирования.
|
|
Документация кода
|
Javadoc
|
Swift-DocC, jazzy
|
DocC — официальный инструмент от Apple для автогенерации документации.
|
|
Мониторинг / Health-check
|
Spring Actuator
|
Vapor Metrics, PrometheusMetrics
|
Метрики и health endpoints.
|
|
Сборка и зависимости
|
Maven / Gradle
|
Swift Package Manager (SPM)
|
Встроенный пакетный менеджер и система сборки (заменяет Maven).
|