Skipとは?
- Swift/SwiftUIを用いてAndroid開発も行えるプロジェクト
- 内部で,Swift/SwiftUIコードをKotlin/Composeコードへのトランスパイルが行われている
- 正確にはクロスプラットフォームではなくSwift/SwiftUIでAndroid開発ができる
- Xcodeへ導入することで使えるようになる(AndroidのためにAndroid Studioは必要)
ここがすごい
- Swift Package Manager (SwiftPM) から Android Gradleへのプロジェクトコンバーターも同梱.パッケージ依存関係を自動的に保ってくれる
- https://github.com/skiptools/ でiOSのSwift,Foundation,Observation,SwiftUI,およびその他のフレームワークの一部をAndroid固有のものへ再実装
- XCTest → JUnitに変換して自動単体テストもサポート
いざ導入
Homebrewで簡単導入!!
brew install skiptools/skip/skip
そして諸々のdependenciesをチェック&解決
skip checkup
アプリケーション作成コマンド
skip init --appid=tools.skip.HelloSkip hello-skip HelloSkip
それぞれのコマンドは
skip init --appid=(AppID) (ProjectName) (Appname)
という意味だそう
引っ掛かりポイント
- Gradleの設定に戸惑った
- Gradle8.6を標準サポートしている様子(執筆時点).コマンドラインでgradleを実行して原因調査
- 結果Android SDKの場所が適切にわかっていなかったため,無理やり環境変数で設定して実行成功
- Gradle8.6を標準サポートしている様子(執筆時点).コマンドラインでgradleを実行して原因調査
感想
力技のトランスコンパイルに感動しました.面白いプロジェクトだと思います.フレームワークのAndroidへの再実装はgithubで進められており,Contributer募集中だそう!これはやるっきゃない!
参考