Android Weekly Topics

じめの一歩⁠SwiftがAndroidを公式にサポートへ

Appleのソフトウェア エンジニアリング マネージャーで、主にSwiftの開発に関わるMishal Shah氏が、Swift.orgのフォーラムにてAndroidを公式にサポートすることを目的とした「Android Workgroup」の発足を発表しました。

Announcing the Android Workgroup - Announcements - Swift Forums

公式Xアカウントにもアナウンスがポストされています。

Androidのアプリ開発で公式にサポートされている言語は、立ち上げ当初から使われているJavaと、2017年から追加されたKotlinで、いまは推奨言語となっています。今回、Swiftが3番目の開発言語として加わることになりますが、今後、どのような立ち位置となるのか気になります。

Android Workgroupの取り組み内容

Swift.orgのフォーラムでは、Androidアプリの開発にSwiftの使用を推奨するため、Android Workgroupは以下の取り組みを行うと発表しています。

  • SwiftのディストリビューションでAndroidのサポート、そして、改善や維持を行いメインツリー以外に必要なものやパッチをなくす
  • Androidらしいコードを書けるように、FoundationやDispatchなどのコアSwiftパッケージを機能強化する
  • Androidの一定レベルの公式サポートに向けて、プラットフォームの運営グループと協力する
  • Swiftでサポートする範囲を決定する(Android APIレベルとアキテクチャー)
  • プルリクエストのチェック時にAndroidのテストを含むような、プロジェクト継続するための機能を開発する
  • Java SDKをブリッジして、SwiftライブラリをAndroidアプリにパッケージ化するためのベストプラクティスの特定をして、これを推奨する
  • Android上でSwiftアプリをデバッグするための機能を開発する
  • コミュニティがSwiftパッケージにAndroidのサポートを追加するために支援する

Android Studioとの統合などは、今後の様子をみていくことになります。Workgroupは誰でも参加できます。気になる方は参加してはいかがでしょうか。

SKIP.toolsがあります

SwiftでAndroidアプリを開発しようと考えるのは、今回が初めてではなく「SKIP.tools」というツールが存在します。2024年8月に1.0がリリースされているので、まだ歴史の浅い開発環境です。

Skip | Dual-platform app development in Swift

これは、SwiftとSwift UIのコードベースから、iOSとAndroidのネイティブアプリを構築できます。SKIP.toolsは、どちらかと言えばiOSアプリ開発者向けで、Xcodeでの開発ノウハウを活かしつつAndroidアプリの開発が出来るというものです。

個人や小規模なチームでは、マルチプラットフォームのアプリ開発の敷居を大きく下げてくれるものです。また、AndroidアプリのUIには、Jetpack Composeが使われるのでネイティブUIになるのが特徴です。

SKIP.toolsがおもしろいのは、SwiftからKotlinへトランスコンパイルするところです。

また、SwiftのプロジェクトをAndroid Gradleのプロジェクトへも変換します。これをAndroid Studioを読み込んでビルドを行い、ネイティブアプリを生成します。

とはいえ、環境に適した「らしい」アプリを開発しようとすると、どっち付かずのアプリになるのは、マルチプラッホーム向けのアプリ開発環境ではどこにもある課題です。また、コードをトランスコンパイルするので、これやライブラリのバグに当たると、KotlinたAndroidの知識がないと解決できない課題も残り、今のところは魔法の道具でないのは事実です。

今週は、このあたりで、また来週。

おすすめ記事

記事・ニュース一覧