J2ObjC とは
J2ObjC は Google のオープンソースのコマンドライン ツールで、Java ソースコードを iOS(iPhone/iPad)プラットフォーム向けに Objective-C に変換します。このツールを使用すると、生成されたファイルを編集する必要がないため、Java ソースを iOS アプリケーションのビルドに含めることができます。目標は、アプリの非 UI コード(アプリケーション ロジックやデータモデルなど)を Java で記述し、ウェブアプリ(J2CL を使用)、Android アプリ、iOS アプリで共有することです。
J2ObjC は、例外、内部クラスと匿名クラス、汎用型、スレッド、リフレクションなど、クライアント側のアプリ デベロッパーが必要とするほとんどの Java 言語とランタイム機能をサポートしています。JUnit テストの翻訳と実行もサポートされています。
J2ObjC に含まれないもの
J2ObjC は、プラットフォームに依存しない UI ツールキットを提供しておらず、今後提供する予定もありません。iOS UI コードは、Apple の iOS SDK(Android の API を使用する Android UI、J2CL を使用するウェブアプリ UI など)を使用して、Objective-C、Objective-C++、Swift で記述する必要があります。
J2ObjC では Android バイナリ アプリを変換できません。デベロッパーは、Android アプリのソースコードを用意する必要があります。ソースコードは、自身が所有しているか、使用するためのライセンスが付与されていることが必要です。
要件
- JDK 1.8 または JDK 11(お知らせを参照)
- Mac ワークステーションまたはノートパソコン
- Mac OS X 10.14 以降
- Xcode 11 以降