さまざまなプラットフォームでJavaを使用可能な ことから人気のアプリ開発環境であるCodename Oneが今回,Universal Windows Platformを新たなターゲットとして追加した。これによってJava開発者は,Windows 10がインストールされたデバイス – 携帯電話,タブレット,デスクトップのいずれも – をターゲットにすることが可能になる。ターゲットとすることのできるプラットフォームは,これで8つになった。
競合するプラットフォームによって市場がフラグメント化されたモバイル開発の世界では,開発者はしばしば,2つの正反対の手法の選択を迫られる - ターゲットとするプラットフォーム(iOS,Android,Windows Phoneなど)個々にネイティブアプリケーションを開発して,多大な開発および維持コストと引き換えに最適化されたユーザエクスペリエンスを実現するか,あるいはすべてのプラットフォーム用に単一のソリューションを,通常はWebアプリケーションとして開発することで時間とリソースを有効利用を図る反面,それぞれのプラットフォーム特有のアドバンテージには目を瞑るか,のいずれかである。2つの選択肢の中間にあるのが,Codename OneやAppceleratorのような,統一的な開発エクスペリエンスの提供とプラットフォーム特有の機能の利用を両立しようとするものだ。
Codename Oneのユーザはこれまで,Javaでアプリケーションを開発して,そのソースコードを一切変更することなく,iOS,Android,Blackberry,Windows Phone,JavaScript,J2ME,デスクトップ用のインストール可能なパッケージを生成することが可能だった。これを実現していたのは,すべてのプラットフォームをターゲットにすることのできるビルドサーバの活用に加えて,何よりもParpaVMなどのブリッジ技術が存在することだ。一方でMicrosoftは,Windows 10とUniversal Windows Platformによって,デバイスコンバージェンスに向かおうとしている – UWP用に開発されたアプリケーションは,携帯電話やタブレット,PCを問わず,Windows 10を実行するすべてのデバイスでインストールと実行が可能になる。この事実とCodename OneがUWPをターゲットに加えたことを合わせれば,開発者は,自身のアプリのインストール先として,新たに3億台のデバイスを加えることになる。
Codename OneはUWPをターゲットに加えるために,Monoおよび.NETフレームワーク上のJava実装であるIKVM.NETを使用する。IKBVMには.NETで実装されたJVMとJavaクラスライブラリの他,Javaと.NETの互換性のためのツールが含まれている。UWPをターゲットとした場合,Codename Oneは,JavaアプリケーションにIKVMとWIndows 10用のセッティングをパッケージ化する。.NET用に直接開発されたアプリほどの最適性はないが,同じソースコードを利用可能というアドバンテージがある。
このアプローチがメインストリームになるかどうかは,今後を見なければ分からない。同じソースコードで無数のプラットフォームをターゲットにできるという論拠には抗い難いものがあり,それはCodename Oneの前回リリースに対する反応からも判断できる。しかしながら,アプリに対する極めて高い期待は,それぞれのコミュニティに属するユーザに共通する感情であるとも考えられ,この期待に応える唯一の方法がネイティブアプリであると結論付ける開発者の数も少なくはない。何れにせよ,既存のJavaアプリをUWPに簡単に移植できるようになりさえすれば,Windows 10対応のアプリ数は大きく飛躍するだろう。
この記事を評価
- 編集者評
- 編集長アクション