31 декабря 2025, в канун Нового Года, было представлено обновление Swift Stream IDE. Это open-source расширение для VSCode, позволяющее приступить к работе со Swift проектами в dev-контейнерах в несколько кликов, предоставляя готовые окружения для различных направлений, таких как: server-side, web, embedded, и Android.

Главным нововведением v1.17 является поддержка разработки Android приложений.

Разработка этого направления была начата в мае 2025.
Уже в сентябре 2025 было выпущено направление Android → Library.

Теперь при создании проекта появилось новое направление Android → Application, где доступны три шаблона (по аналогии с Android Studio):

  • пустой экран (Empty Views Activity)

  • экран с двумя фрагментами (Basic Views Activity)

  • экран навигации с таб-баром (Navigation UI Activity)

Создаваемый проект использует новый фреймворк SwifDroid, который полностью оборачивает логику работы нативного Android приложения: от генерации манифеста, активити и фрагментов до использования всех виджетов (стандартных, AndroidX, Flexbox и Material Design). Поддерживаются SDK от 28 до 35.

С выходом Swift 6.3 требования, возможно, понизятся до SDK 24+, что будет хорошо для разработки под большее количество устройств.

Пример кода отрисовки UI:

ConstraintLayout {
    VStack {
        TextView("Hello from Swift!")
            .width(.matchParent)
            .height(.wrapContent)
            .textColor(.green)
        MaterialButton("Tap Me")
            .onClick {
                print("Button tapped!")
            }
    }
    .centerVertical()
    .leftToParent()
    .rightToParent()
}

Пример манифеста:

@main
public final class App: DroidApp {
	@AppBuilder public override var body: Content {
        Lifecycle.didFinishLaunching{
			App.setLogLevel(.debug)
			// App.setInnerLogLevel(.trace)
			Log.i("🚀 didFinishLaunching")
		}
		Manifest
			// .usesPermissions(.camera)
			// .usesFeatures(.hardwareCamera)
			.application {
				.allowBackup()
				.icon("@mipmap/ic_launcher")
				.roundIcon("@mipmap/ic_launcher_round")
				.label("My app")
				.theme(.material3DayNightNoActionBar)
				.activities(
					MainActivity.self
				)
				.fragments(
					HomeFragment.self,
					DashboardFragment.self,
					NotificationsFragment.self
				)
			}
    }
}

Предполагается, что из Swift в Java/Kotlin и XML можно не выходить. Всё делается в Swift, даже подключение gradle зависимостей. При сборке IDE забирает из SwifDroid информацию об используемых зависимостях в проекте, в том числе на базе используемых UI элементов, и build.gradle.kts подстраивается автоматически.

Будьте первыми, кто попробует, и оставьте фидбек.

Первое создание проекта занимает некоторое время, т.к. будет загружено всё необходимое окружение в docker-volumes: Swift Toolchain, Android SDK и NDK. Повторное создание проекта займет уже несколько секунд.

При первой сборке проекта Swift компилируется в нативные .so файлы, генерируется полностью готовый к работе Android проект и запускается генерация gradle wrapper (которая займёт несколько минут).

Поэтому перед началом работы рекомендуется заварить чашечку чая.

Последующие сборки будут занимать секунды.

Установка приложения на устройство, на данный момент, предполагается из Android Studio, в котором вам нужно лишь открыть папку Application из корня проекта. Все необходимые файлы Swift Stream IDE автоматически подкладывает в Android проект, поэтому как только Swift скомпилирован, можно нажимать Run в Android Studio.

Проект находится в активной разработке, и сейчас его первый выход в свет. Android очень объёмен, множество виджетов ещё в разработке, документация активно дополняется.