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 以降