Запуск Swift на Android через SwiftJava и SDK: архитектура и интеграция с Compose
По данным публикации на Хабре, Apple на WWDC в июне 2025 года анонсировала инструмент SwiftJava для связки Java и Swift, а затем выпустила официальный Swift SDK для Android.
Аврора Шинкарева·обновлено 20 октября 2026 г.

Swift на Android: путь к сингулярности. От анонса SwiftJava до полноценного приложения
На базе этого набора уже можно собирать приложения, где бизнес-логика написана на Swift, а пользовательский интерфейс — на Compose. Для рынка мобильной разработки это означает появление ещё одного варианта кроссплатформенной архитектуры рядом с Kotlin Multiplatform, и ставит перед командами практический вопрос: где инструмент полезен уже сегодня.
Архитектура решения
SwiftJava состоит из двух встречных частей. JavaKit — набор Swift-макросов и инструментов, которые генерируют исходники Swift для вызова Java-кода: берём Java-библиотеку и подключаем её к Swift-коду. SwiftKit — обратная библиотека, работающая под Java и открывающая Swift-типы для вызова из Java-стороны. По заявлению Apple, вся связка под капотом уходит в JNI, тот же слой, что используется в Android NDK для интеграции низкоуровневой логики на C и C++.
В демонстрации инженеры Apple взяли минимальный Java-класс com.example.Greeting и показали его использование из Swift как обычного типа: инициализация инстанса, вызов методов, всё уходит в JNI. В качестве production-кейса компания назвала миграцию утилиты Password Monitoring с Java на Swift.
Сравнение с Kotlin Multiplatform
В существующих кроссплатформенных решениях языки связываются иначе. В Kotlin Multiplatform общий модуль не монолитный, он делится на общую часть и платформенные варианты. Для Java и Android применяется Kotlin/JVM, для iOS и десктопов — Kotlin/Native. Связка идёт через механизм expect/actual, переопределяющий реализацию под разные таргеты. Интероп Kotlin↔Java практически полный, так как Kotlin вышел из Java как JVM-язык. Kotlin/Native общается со Swift через bridge-файлы Objective-C, а с C работает через JNI.
Apple идёт другим путём: вместо общей платформы предлагает прямую интероперабельность двух конкретных языков. Это упрощает интеграцию готовых Java-библиотек в Swift-код, но переносит все вопросы производительности и совместимости на JNI-слой. Выбор одного примера миграции для демонстрации зрелости инструмента выглядит скромно.
Что проверить перед внедрением
SwiftJava остаётся молодым инструментом. Apple показала портирование небольшой утилиты и пары Java-библиотек, убедительный production-кейс ограничен Password Monitoring. Перед закладкой SwiftJava в коммерческий проект стоит дождаться стабильной версии SDK, проверить производительность JNI-моста на реальной нагрузке и оценить долгосрочную поддержку со стороны Apple. До этого момента Kotlin Multiplatform остаётся более зрелым вариантом для проектов, где важна общая бизнес-логика между iOS и Android.