この記事の要点
- Android 上で Swift コードを動かすための Swift SDK for Android の nightly プレビュー版が公開されました。Android workgroup による数か月の取り組みと、長年のコミュニティ活動の積み重ねによるマイルストーンです。
- この SDK を使うと、Swift で Android アプリケーションの開発を始められます。Windows インストーラに同梱されるほか、Linux・macOS でも個別にダウンロードして利用できます。
- 既存の Swift パッケージの Android 移植もこの SDK で進められます。Swift Package Index 上のパッケージのうち 25% 以上がすでに Android 向けにビルドでき、Community Showcase でも Android 対応の有無が表示されるようになりました。
- あくまで preview 段階の公開であり、Android workgroup は今後の方針を定める vision document を現在ドラフト・レビュー中です。
何が発表されたのか
Swift はこの 10 年で大きく成熟し、クラウドサービスから Windows アプリ、ブラウザアプリ、マイクロコントローラまで対象を広げてきました。高い相互運用性により、複数のプラットフォームをまたいでコードを共有できる点も特徴です。
Android workgroup は、Swift を Android へ広げることを目指す、誰でも自由に参加できるオープンなグループです。今回、このワークグループから Swift SDK for Android の nightly プレビューリリースが発表されました。
この SDK によって、開発者は Swift で Android アプリケーションの開発に着手できるようになります。クロスプラットフォーム開発に新たな選択肢が加わり、モバイルエコシステム全体でのイノベーションを後押しするものと位置づけられています。
何に使えるのか
公式には、Android デバイス上で最初のネイティブな Swift コードをセットアップするための Getting Started ガイドが用意されています。エンドツーエンドのアプリケーションワークフローを示す Swift for Android Examples も参考になります。
主な活用ポイントは次のとおりです。
- 既存パッケージの移植: この SDK を使って、手持ちの Swift パッケージを Android へ移植できます。Swift Package Index のパッケージの 25% 以上がすでに Android 向けにビルドでき、Community Showcase も Android 互換性を表示するようになりました。
- Java との相互運用: swift-java プロジェクトを使うと、Java と Swift を相互運用できます。これはライブラリであると同時にコードジェネレータでもあり、双方向に安全かつ高性能なバインディングを自動生成します。ビジネスロジックを Android に持ち込むためのバインディング生成については、Mads Odgaard 氏による Swift Server Side meetup の講演が参考になります。
SDK 自体は、Windows インストーラに同梱される形か、Linux・macOS 向けに個別ダウンロードする形で入手できます。
導入・今後の位置づけ
今回の公開は preview リリースであり、ツール群を継続的に改善していくための起点という位置づけです。試した結果やアイデア、ツール、アプリなどは Swift フォーラムで共有することが呼びかけられています。発表に対応したディスカッション用スレッドが立てられているほか、新しい投稿は Android カテゴリで行えます。
Android workgroup は、Swift on Android の今後の作業の方向性を定める vision document をドラフトし、現在レビュー中です。この vision で優先領域が示され、エコシステム全体への効果を最大化するためのコミュニティの取り組みが導かれる予定です。主要な取り組みの状況を追う project board や、Swift SDK for Android の公式 CI も整備されています。