BT

GoogleのJ2ObjC 1.0がJavaコードをObjective-Cに変換する

作者: Abel Avram , 翻訳者 吉田 英人 投稿日 2016年3月11日 |

原文(投稿日:2016/02/05)へのリンク

J2ObjCは,Googleが開発した,Javaコードを iOSの上で実行可能なObjective-Cコードに変換するオープンソースツールである。Javaで記述されたビジネスコードをAndroidとWeb, そしてiOSで共有することが目的だ。Webへの変換はGWTを使って行なう。UIコードは扱わないので,別途プラットフォーム毎に作成する必要がある。

J2ObjCの発表は2012年にまで遡る。その時点では,動作の詳細を示すためのアルファリリースだった。その後長い開発期間を経て1.0安定版となり,Inbox, Calendar, Docs, Sheets, Slides, Google My BusinessなどといったアプリケーションのiOSへの移植に使用された。並行して,対象とするJavaもJava 6からJava7, そしてJava 8へとアップグレードされている。“Java, iOS, Xcodeの現行と,そのひとつ前のメジャーリリースをサポートする”方針だと,プロジェクトに関わるGoogleエンジニアのTom Ball氏が説明してくれた。J2ObjCにはJUnit, Mockito, Gradle, Mavenが統合されている。 ネイティブメソッドを通じて,Objective-CコードのJavaコードへの埋め込みもサポートする。

Java 8のサポートレベルに関する我々の質問に対して,Ball氏は次のように答えてくれた。

“Java 8”をどう定義するかにもよりますが :-),ラムダ式やメソッ参照など,Java 8の新しい言語機能を追加でサポートしています。ただし,私たちのJREランタイムがAndroidのlibcoreライブラリをベースにしている都合上,Java 8で導入された新APIはサポートできていません。libcoreチームの進捗とは定期的に調整していますから,彼らが追加でサポートするJava 8については,間もなくJ2ObjeCのランタイムにも追加されます。

今後の開発について,Ball氏は次のように加えている。

J2ObjCは基本的に開発ツールですから,今後の計画は,それを利用するアプリ開発者の要望によって決まります。現在私たちが耳にしているのは,AppleがリリースするiOSの新機能を引き続きサポートすること,Swiftとの相互運用性の向上,Java 8 APIのサポート,ツールの統合性向上,ビルド時間の短縮などです。コンパイラ技術者としては,生成するコードの最適化や,報告を受けたバグの早急な修正なども重要だと思っています。

J2ObjCはApache License 2.0でライセンスされている。

 
 
 

この記事を評価

関連性
形式
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション
サイト全般について
バグ
広告
記事
Marketing
InfoQ.com and all content copyright © 2006-2016 C4Media Inc. InfoQ.com and 株式会社豆蔵 InfoQ Japan hosted at Contegix, the best ISP we've ever worked with.
プライバシー
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.