⚔️
XcodeでAndroid開発ができるSKIP調査してみた
はじめに
XcodeでAndroid開発もできるSKIPというツールがタイムラインで流れてきたので触ってみました。
公式リンクはこちらです。
必要なもの
- Xcode15
- Android Studio 2023
- HomebrewがインストールされたmacOS 13以上のPC
開発環境
- XCode15.2
- Android Studio Hedgehog | 2023.1.1 Patch 2
インストール
Skipのインストール
brew install skiptools/skip/skip
開発環境チェックコマンド(必ずやりましょう)
skip checkup
問題なければ下記のような感じになります。
(私はAndroidStudioのセットアップが終わってなくてエラー出ました。)
プロジェクト作成
任意のディレクトリで下記を実行
skip init --appid=bundle.id project-name AppName
コマンド実行でプロジェクトが作成されます。ディレクトリはこんな感じです。(一部省略してます。)
├── Android
│ ├── app
│ │ ├── build.gradle.kts
│ │ ├── proguard-rules.pro
│ │ └── src
│ ├── gradle
│ ├── gradle.properties
│ └── settings.gradle.kts
├── Darwin
│ ├── AppName.xcconfig
│ ├── AppName.xcodeproj
│ ├── Assets.xcassets
│ └── Sources
├── Package.resolved
├── Package.swift
├── README.md
├── Skip.env
├── Sources
└── Tests
AppName.xcodeprojがいつものプロジェクトファイルなのでXcodeで開いてください。
実行をするには、事前にAndroid端末のエミュレータを開いておく必要があります。
実行後、↓のようにiOSシミュレータ、Androidエミュレータの両方で実行されればOKです。
現状でサポートされてるもの
公式サイトで分かりやすくコンポーネント一覧が紹介されてました。リンクはこちらです。
サポート外のコンポーネントについても、#if_SKIPを使ってネイティブでの実装は可能です。
既存プロジェクトへの導入
公式の見解はこちらです。
技術的には可能だが、とても大変なのでおすすめはしないとのことです。
まとめ
- 基本的には通常のSwiftの書き方で実装できました。
- Bool.Toggle()は使えないです。おそらくAndroidで似た関数がないことが原因のようです。他にもSkipでは使えない関数がありそうなので、Skipを使っていく際は慣れが必要ですね。
- Bool.Toggle()は使えないです。おそらくAndroidで似た関数がないことが原因のようです。他にもSkipでは使えない関数がありそうなので、Skipを使っていく際は慣れが必要ですね。
- Showcaseが公開されているのですが、両OSで触ってみた感じ問題なく動作していそうです。(少しだけAndroidエミュレータの動作重い気がしました。)
- 基本的なコンポーネントは揃ってたり、アニメーションやFirebaseにも対応しているので、UI等に強いこだわりが無い個人開発であれば使っていけそうな雰囲気を感じました。
Discussion