J2ObjCはJavaのコードをObjective-C(iPhone/iPad)に変換するソフトウェアです。

iOSアプリをObjective-C以外のコードを動かすには二つの方法があります。一つはランタイムを内蔵して動かすもの、もう一つはプログラミングしたコードをObjective-Cに変換してしまう方法です。J2ObjCはその後者、JavaをObjective-Cに変換してしまうソフトウェアです。

元のコード。シンプルです。


変換しました。

変換されたHello.hです。

こちらはHello.m。


さらにコンパイルします。


そのまま実行できます。


x86 64bit向けの実行ファイルとして生成されました。

まだ簡単なコードでしか実験していませんが、それでもJavaのコードをObjective-Cに変換できました。J2ObjCの目標はMac OSX上ではなくiOS上で動くObjective-Cへの変換にあり、UIを持たないようなJavaのコード(アプリケーションロジックやデータアクセス部など)をGWTを通じてWebやiOSで共有できるようにすることのようです。

J2ObjCはJava製、Apache License 2.0のオープンソース・ソフトウェアです。

MOONGIFTはこう見る

J2ObjCは特にUIキットを提供する予定はないようです。そのためJavaで作ったAndroidアプリをiOSアプリに変換するという用途には使えそうにありません。しかしAndroidアプリで実現しているロジックやライブラリをObjective-Cでも共有したいという時に便利そうです。

プログラミング言語の壁は相当高いのですが、それを乗り越える技術も幾つか出てきています。既存の資産をいかに使い回せるか、プログラミング言語に固執しない方法でできれば柔軟に最新の技術を取り込んでいけるようになるでしょう。

j2objc - A Java to iOS Objective-C translation tool and runtime. - Google Project Hosting