2026年3月にSwift 6.3でAndroid公式対応開始。iOSアプリ資産のAndroid展開コスト削減の可能性とKotlin Multiplatformとの比較を解説。
何が起きたのか
2026年3月、Swift 6.3でAndroid SDKが公式リリースされました。Swiftは2015年にオープンソース化されて以来、Linux対応などプラットフォームの拡大を進めてきましたが、Android対応はその中でも最大の拡張です。
この動きは2024年末にSwift.orgが「Android Workgroup」を設立したことから始まり、2025年10月にナイトリープレビュー版が公開され、2026年3月の正式リリースに至りました。
参考: Announcing the Swift SDK for Android(Swift.org)
何ができるようになったのか
できること
- SwiftでネイティブAndroidアプリを開発できる
- swift-javaプロジェクトにより、JavaやKotlinとの双方向バインディングを自動生成できる
- JNI(Java Native Interface)経由で、既存のAndroidアプリにSwiftコードを統合できる
- 既存のSwiftパッケージをAndroid向けにビルドできる(Swift Package Indexの25%以上が対応済み)
できないこと
- SwiftUIはAndroidでは使えない。SwiftUIはAppleプラットフォーム専用のため、UIは各プラットフォームで個別に実装する必要がある
- KotlinがAndroidの推奨言語であるという位置づけは変わらない
つまり、共有できるのはビジネスロジック層です。UIは別々に作る前提です。
セットアップの概要
Swift SDK for Androidを使うには、3つのコンポーネントが必要です。
1. Swift Toolchain
swiftly install latest
swiftly use latest
2. Swift SDK for Android
swift sdk install <SDK_URL> --checksum <ハッシュ値>
swift sdk list # インストール確認
3. Android NDK(LTS版27d以降)
環境変数 ANDROID_NDK_HOME を設定し、セットアップスクリプトを実行します。
ビルドと実行
# プロジェクト作成
swift package init --type executable
# Android向けにクロスコンパイル(aarch64)
swift build --swift-sdk aarch64-unknown-linux-android28 --static-swift-stdlib
# デバイスに転送して実行
adb push .build/aarch64-unknown-linux-android28/debug/MyApp /data/local/tmp/
adb shell /data/local/tmp/MyApp
本格的なAndroidアプリを構築する場合は、共有ライブラリ形式でビルドし、swift-javaライブラリがJNIを処理する構成になります。
参考: Getting Started with the Swift SDK for Android(Swift.org)
Flutter / React Native / Kotlin Multiplatformとどう違うのか
クロスプラットフォーム開発にはすでに複数の選択肢があります。Swift for Androidがどこに位置づけられるのか整理します。
Flutter
Googleが開発。Dart言語を使い、独自レンダリングエンジン(Impeller)でUIを描画します。UIの統一性が最大の強みで、1つのコードベースでiOS・Android両方の画面を作れます。
React Native
Meta(旧Facebook)が開発。JavaScript/TypeScriptでモバイルアプリを構築できるため、Webエンジニアが参入しやすいのが特徴です。Hermesエンジンにより起動速度やメモリ使用量が改善されています。
Kotlin Multiplatform(KMP)
JetBrainsが推進。Kotlinでビジネスロジックを共有し、UIは各プラットフォームのネイティブで実装します。2024年から2025年にかけて企業採用率が7%から23%に急増し、Netflix、Google Workspace、Cash Appなどが本番環境で運用しています。
Swift for Android
既存のiOSアプリ資産(Swiftで書かれたビジネスロジック)をAndroidでも使えるようにすることが最大の価値です。新しい言語を学ぶ必要がなく、すでにSwiftに慣れたチームがそのままAndroid展開できます。
| 項目 | Flutter | React Native | Kotlin MP | Swift for Android |
|---|---|---|---|---|
| 言語 | Dart | JavaScript/TS | Kotlin | Swift |
| UI共有 | 可能 | 可能 | 不可(UIはネイティブ) | 不可(SwiftUIはApple限定) |
| ロジック共有 | 可能 | 可能 | 可能 | 可能 |
| 最大の強み | UI統一性 | Web技術の活用 | Androidネイティブとの親和性 | iOS資産の再利用 |
| 成熟度 | 高い | 高い | 成長中 | 初期段階 |
どう使い分けるか
「どれか1つを選ぶ」時代から、用途に応じて使い分ける時代になりつつあります。
- 新規アプリを両プラットフォーム同時開発 → Flutter / React Native
- Androidアプリのロジックを共有したい → Kotlin Multiplatform
- 既存のiOS(Swift)アプリをAndroidに展開したい → Swift for Android
Swift for Androidの最大のターゲットは、すでにSwiftで大規模なiOSアプリを持っている企業やチームです。
ビジネスへの影響
iOSアプリを持つ企業にとってのメリット
Androidはグローバルスマートフォン市場の70%以上を占めています。iOSアプリしか持っていない企業にとって、Android展開は長年の課題でした。
Swift for Androidにより、以下が現実的になります。
- ビジネスロジック層のコード共有により、Android版の開発コストを削減できる可能性
- 既存のSwiftパッケージ(ネットワーク通信、データ処理、暗号化等)をそのまま利用可能
- Swiftエンジニアだけでプロトタイプを作れるため、Android専門の人材を確保する前に検証ができる
注意すべき点
Swift for Androidはまだ初期段階の技術です。すぐにFlutterやReact Nativeを置き換えるものではありません。以下の点に注意が必要です。
- UIはプラットフォームごとに個別実装が必要(工数はゼロにならない)
- デバッグツールやIDEサポートはこれから充実していく段階
- Androidプラットフォーム固有の知識(ライフサイクル、パーミッション等)は引き続き必要
- KotlinがAndroidの推奨言語である状況は変わらない
Web制作・UI改善もお任せください
フロントエンド開発
モダンな技術で、使いやすく美しいWebサイトを実現します
※ 通常1営業日以内にご返信します
まとめ
Swift 6.3のAndroid対応は、「SwiftでAndroidアプリが作れるようになった」というシンプルな事実ですが、その影響は大きいです。
特に既存のiOSアプリ資産を持つ企業やSwiftに精通したチームにとっては、Android展開の選択肢が増えたことになります。ただし、FlutterやReact Nativeのように「UI含めて完全に共有」できるわけではなく、ビジネスロジック層の共有が主な用途です。
今すぐ飛びつく必要はありませんが、Android Workgroupの動向とエコシステムの成熟度は注視しておく価値があります。