BT

軽量で組み込み可能なVM、AvianがiOSをサポート

| 作者: Sergio De Simone フォローする 12 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2015年11月9日. 推定読書時間: 2 分 |

原文(投稿日:2015/11/02)へのリンク

Avianは軽量、ポータブル、組み込み可能なVMであり、Linux、FreeBSD、Windowsと並んで、iOSでJavaの縮小サブセットをサポートすることを目指している。バージョン1.2では、LinuxとiOSにおけるARM64のサポートが追加された。

Avianは主として、VMと追加のクラスおよびリソースを提供するjarファイルを埋め込んだ、自己完結したアプリケーションをデプロイ可能にするために作られている。AvianはJITコンパイラをベースとする。iOSの場合には、署名されたコードしか実行できず、動的なコード生成ができないというプラットフォームの要件に従うため、JITコンパイラはAOTを動かしている。

Avianのコアコントリビュータの一人であるJoshua Warner氏によると、Avianは特に、十分な権限がないなどの理由で「クライアントマシンすべてにJavaを展開したくない」企業に適しているそうだ。そうしたシナリオでは、様々なプラットフォームに同じコードをデプロイするため、Avianはぴったりの方法になるだろう。自ら認めているように、Avianはパフォーマンスの観点で、HotSpotRoboVMのようなものと張り合うつもりはない。

軽量であることを目指していいるにもかかわらず、AvianはAvianのデフォルトライブラリの代わりにOpenJDKクラスライブラリを使ってビルドすることもできる。これはAvianのデフォルトライブラリで使えない機能を必要としているアプリケーションにとって役立つだろう。

RoboVMのCo-FounderであるNiklas Therning氏(@ntherning)は、RoboVMとAvianの有用な比較を書いている

  • RoboVMはより積極的にiOSをターゲットにしているが、Avianはよりクロスプラットフォームであろうとしている。
  • RoboVMはCocoa Touchに対するカスタムブリッジ、broを提供している。RoboVMは言うには、これはJNIよりも高速な仕組みを提供するという。
  • 加えて、RoboVMは内部的にLLVMを使ってマシンコードを生成しており、「タダで」各種最適化の恩恵を得ることができる。

RoboVMとAvianのもう一つの大きな違いは、最近のXamarinの買収に続くRoboVMのクローズソース化だ。Avianはオープンソースであり、GitHubから手に入る

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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でリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT