| Задача / слой | Java / Spring Boot | Аналоги в Swift | Комментарий |
|---|---|---|---|
| Язык и среда | 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). |
| Задача / слой | Java / Spring Boot | Аналоги в Swift | Комментарий |
|---|---|---|---|
| Язык и среда | 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). |
// Пример кода
function hello(name) {
console.log(`Hi, ${name}!`);
}
hello("Sergey");