JavaをiOSに導入する計画

OpenJDKコミュニティに浮かぶ提案は、AppleのiOSでJavaをジャンプスタートしようとしています。この計画には、iOSとAndroid向けのOpenJDKクラスとAPIを構築することを目的としたOpenJDKモバイルプロジェクトの作業を再開することが含まれていると、モバイル開発者GluonのCTOであるJohanVos氏は述べています。

Vosは最近、これらの取り組みに関する速報を投稿しました。OpenJDK Mobileは、Java開発者に馴染みのあるツールを活用して、最新バージョンのOpenJDKソースリポジトリで同じAPIをiOSとAndroidに提供することに重点を置いています。ただし、最初の焦点は、Javaの従来のサポートが不足しているiOSにあります。Appleは、Java仮想マシンをプラットフォーム上で実行することを許可していません。

OpenJDK Mobileの新しい計画では、ビルド時にGraalVM事前コンパイラーを使用してコードをコンパイルする必要があります。(Vosは、iOSではジャストインタイムコンパイルはオプションではないことに注意しました。)コンパイルされたJavaコードは、ターゲットオペレーティングシステム用にコンパイルされたネイティブライブラリとリンクして、実行可能ファイルを作成できます。これは、Java 11に基づいてiOSですでに行われています。GraalVMネイティブイメージとOpenJDKクラスを使用して、開発者はAppleのルールに従うアプリケーションを作成できます。Java開発者は、iOS用のソフトウェアを作成するためにObjective-CやSwiftを学ぶ必要はありません。

「Javaはモバイルでのゲームの後半にあるかもしれませんが、クロスプラットフォームであり、セキュリティを重要な基盤として作成されており、クラウドサービスとの安全な接続を可能にするという事実は、モバイル開発にとって真剣な言語になっています。 」ヴォスは言った。

Androidの開発には当初からJavaが使用されてきました。ただし、AndroidはJava 11に準拠しておらず、独自の開発ツールであるAndroidStudioと手順が必要であるとVos氏は述べています。多くの開発者は、AndroidでJavaプロジェクトとライブラリを使用する際に深刻な問題に直面していると彼は語った。

また、計画の一部は、ProjectSkaraを使用して作成されるOpenJDKマスターの同期フォークです。Skaraベースのリポジトリを活用して、iOSおよびAndroid用のOpenJDKを構築します。

JavaをiOSに導入することは、過去10年間のいくつかのプロジェクトの目標でした。その他の取り組みには、Gluon独自のEclipseプラグインと現在は廃止されたRoboVMツールが含まれていました。