Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Swift SDK for Android を試してみる

Avatar for yaslab yaslab
November 28, 2025

Swift SDK for Android を試してみる

Avatar for yaslab

yaslab

November 28, 2025
Tweet

More Decks by yaslab

Other Decks in Programming

Transcript

  1. 2025年 6月 Android Workgroup 設立 ー Swift 公式のワーキンググループが発⾜ ー Android

    サポートが継続的に維持される 2025年 10月 Swift SDK for Android 公開 ー 公式ブログにてプレビュー版リリースがアナウンスされた ー Swift を⽤いた Android 開発の公式サポート Swift の Android 開発サポート状況
  2. Swift SDK ‧クロスコンパイルのための仕組み: OSやCPUが異なるマシン向けのネイティブコードを⽣成する。 ‧SDKの内容: ターゲット向けの「ツールチェイン」+「ライブラリ、ヘッダー等」をひとまと めにしたものを Swift SDK と呼ぶ。

    ‧メリット: ⾯倒な環境構築不要。SDK を⼊れるだけで、macOS 上で Android 向けのビルド が可能。 ‧リリース時期 `SE-0387 Swift SDKs for Cross-Compilation` で提案され、Swift 6.1 で実装され た。
  3. 課題:言語の壁 Swift はネイティブコード、Java/Kotlin は JVM 上で動作 (Android の場合は JVM でなく

    ART で動作) 解決策:JNI Java から C/C++ ネイティブコードと連携するためのインターフェース • JNI を経由して Java から Swift を呼び出す • Swift の関数は C の関数として書き出す JNI (Java Native Interface) • ART も JNI をサポートしている
  4. ロジック部分の共通化 ビジネスロジック、通信処理などを Swift で実装し、 iOS と Android で共有 UI はネイティブ実装

    UI 部分は各プラットフォームの技術(SwiftUI, Jetpack Compose)を使⽤ 実践導入する場合の方針 SwiftUI を使⽤可能なのが Apple プラットフォームのみ なので、Swift ではそもそも UI 実装の共有ができない Swift の共有コードができるだけ多くなるように設計す るのが良さそう(例:ViewModel 以降を共通化)
  5. いいところ 懸念点 • 開発コスト削減: アプリ仕様をiOS/Androidで2つ実装 しなくて済む • 品質向上: iOS/Android 間の実装差異を最⼩限にでき、

    同じ仕様を2つ実装することで発⽣していた認識齟齬な どのバグを回避できる • ⼈材確保が容易: Swift を書くことができるエンジニア はたくさんいる • 幅広い知識: iOS/Android 両⽅のビルドシステムへの理 解が必要 • 専⾨知識: トラブル時に Swift SDK や JNI の知識が必要 になる場合がある • 実績: Swift SDK for Android はまだプレビュー版で、 現状は Flutter や KMP の⽅が実績があり安定している マルチプラットフォーム開発のいいところ、懸念点
  6. まだプレビュー版 Swift SDK for Android は 最新の Swift 6.2 向けには提供されていない。

    現在はまだプレビュー版のみ。 Gradle Integration swift-java の導⼊はまだ⼿動。 将来的には Gradle で簡単に導⼊できるようになるはず。 今後に期待!!