Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Swift SDK for Android を試してみる
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yaslab
November 28, 2025
Programming
85
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift SDK for Android を試してみる
yaslab
November 28, 2025
More Decks by yaslab
See All by yaslab
Swift 4 の変更点
yaslab
2
1.9k
Other Decks in Programming
See All in Programming
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.2k
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
120
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
260
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
210
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
280
Oxlintはいいぞ(続)
yug1224
1
450
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.8k
プロポーザルを書いてもらう
pvcresin
0
580
Android CLI
fornewid
0
240
React本体のコードリーディング
high_g_engineer
1
160
ALB ログから Trace を気合で繋げる技術
fohte
5
590
Cloudflare is Agents
chimame
0
180
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Odyssey Design
rkendrick25
PRO
2
780
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Statistics for Hackers
jakevdp
799
230k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
Raft: Consensus for Rubyists
vanstee
141
7.6k
Side Projects
sachag
455
43k
A Soul's Torment
seathinner
6
3.5k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
430
A designer walks into a library…
pauljervisheath
211
24k
Ruling the World: When Life Gets Gamed
codingconduct
0
310
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Transcript
Swift SDK for Android を試してみる 2025/11/28 Mobile Act OSAKA #17
八田泰弘 @yaslab フェンリル株式会社 iOS エンジニア iOS テックリード 自己紹介
2025年 6月 Android Workgroup 設立 ー Swift 公式のワーキンググループが発⾜ ー Android
サポートが継続的に維持される 2025年 10月 Swift SDK for Android 公開 ー 公式ブログにてプレビュー版リリースがアナウンスされた ー Swift を⽤いた Android 開発の公式サポート Swift の Android 開発サポート状況
Swift SDK ‧クロスコンパイルのための仕組み: OSやCPUが異なるマシン向けのネイティブコードを⽣成する。 ‧SDKの内容: ターゲット向けの「ツールチェイン」+「ライブラリ、ヘッダー等」をひとまと めにしたものを Swift SDK と呼ぶ。
‧メリット: ⾯倒な環境構築不要。SDK を⼊れるだけで、macOS 上で Android 向けのビルド が可能。 ‧リリース時期 `SE-0387 Swift SDKs for Cross-Compilation` で提案され、Swift 6.1 で実装され た。
課題:言語の壁 Swift はネイティブコード、Java/Kotlin は JVM 上で動作 (Android の場合は JVM でなく
ART で動作) 解決策:JNI Java から C/C++ ネイティブコードと連携するためのインターフェース • JNI を経由して Java から Swift を呼び出す • Swift の関数は C の関数として書き出す JNI (Java Native Interface) • ART も JNI をサポートしている
swiftlang/swift-java Swift と Java を相互運⽤利⽤するためのツール このツールが JNI のためのコードを⾃動⽣成してくれるため、Swift と Java
の連携を意識せずに実装できる。 swift-java
ロジック部分の共通化 ビジネスロジック、通信処理などを Swift で実装し、 iOS と Android で共有 UI はネイティブ実装
UI 部分は各プラットフォームの技術(SwiftUI, Jetpack Compose)を使⽤ 実践導入する場合の方針 SwiftUI を使⽤可能なのが Apple プラットフォームのみ なので、Swift ではそもそも UI 実装の共有ができない Swift の共有コードができるだけ多くなるように設計す るのが良さそう(例:ViewModel 以降を共通化)
いいところ 懸念点 • 開発コスト削減: アプリ仕様をiOS/Androidで2つ実装 しなくて済む • 品質向上: iOS/Android 間の実装差異を最⼩限にでき、
同じ仕様を2つ実装することで発⽣していた認識齟齬な どのバグを回避できる • ⼈材確保が容易: Swift を書くことができるエンジニア はたくさんいる • 幅広い知識: iOS/Android 両⽅のビルドシステムへの理 解が必要 • 専⾨知識: トラブル時に Swift SDK や JNI の知識が必要 になる場合がある • 実績: Swift SDK for Android はまだプレビュー版で、 現状は Flutter や KMP の⽅が実績があり安定している マルチプラットフォーム開発のいいところ、懸念点
まだプレビュー版 Swift SDK for Android は 最新の Swift 6.2 向けには提供されていない。
現在はまだプレビュー版のみ。 Gradle Integration swift-java の導⼊はまだ⼿動。 将来的には Gradle で簡単に導⼊できるようになるはず。 今後に期待!!
公式のサンプルコード Swift SDK for Android を使⽤するサンプル集 swiftlang/swift-android-examples
ご清聴ありがとうございました