InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

SunによるJavaのiPhoneへの移植で問題に直面

作者 Charles Humble , 翻訳者 編集部 投稿日 2008年4月3日

セクション
デベロップメント,
設計/アーキテクチャ
トピック
モバイル ,
Java
タグ
Java ME ,
Apple ,
iPhone

AppleがiPhone SDKを発表してから1日もしないうちに、Sun MicrosystemsはJava ME JVMをAppleのiPhoneおよびiPod Touchに移植する意向を表明した。ビデオ録画による発表(source)の中で、Eric Klein氏はJVMがiPhoneで動作しないわけがないと述べている。

「過去24時間は、SDKに関してAppleが提供しているあらゆる情報の収集に費やし、iPhoneおよびiTouch(iPod Touch)の開発の一部を第三者に委託する決定を下したことに、興奮せずにはいられない。Javaに対するもともとの展望の1つには、デベロッパコミュ ニティが世界中で可能な限りのデバイスに素晴らしいコンテンツおよびアプリケーションを作成可能にすることで、その点では、iPhoneが重要なプラット フォームである」。

Sunの発表を受けて、目先が利くブロガーやフォーラムへの投稿者が、Sunの移植の妨げとなりうる2つの重要な問題を指摘した。その1つは、ライセンス契約条項である。

「アプリケーションはそれ自体決してインストールせず、その他の実行可能なコードを実行しない。プラグインアーキテクチャーの使用、他のフレームワークの 呼び出し、その他のAPIなどに関する制限がないとしてもである。AppleのPublished APIや組み込みインタープリターで解釈され実行されたコードを除けば、アプリケーションでダウンロードもされないし、使用もされない」。

2つ目は、一見したところ、SDKにおける技術的な制限である。Appleの公式iPhone Human Interface Guidelines(Apple iPhone Dev Center(source)から利用可能、要ログイン)によると、1つのiPhoneアプリケーションのみが同時に実行でき、第三者によるiPhoneアプリケーションはそのバックグラウンドでは実行しないようである。

「これは、ユーザが他のアプリケーションに移行したり、電話に出たり、メールを確認したりするとき、使用していたアプリケーションが終了することを意味する。重要なのは、この現実によってユーザが悪影響を受けることはないことである。つまり、ユーザはiPhoneアプリケーションをあきらめて、そして後で そこに戻ることは、コンピュータでアプリケーションを移行することより困難だと感じるべきではない。

恐らくこれは技術的な制限ではないのだが、iPhoneは、 複数の並行処理をサポートするMac OS Xと同じカーネルを実行する。iPhone自体は確かにマルチタスクである(そうでなければ、たとえばそれでSafariを使用しているとき、 音を出すことができない)。したがって、この制限は、第三者によるバックグラウンドプロセスで使用されるRAM量を制限する際に課されることが多い。それゆえに、Appleが、選ばれた第三開発業者に自身のバックグラウンドでアプリケーションを実行させる機能を与えると推測するのが妥当なように思える。しかしながら、AppleがSunにそういった権利を与えるとは想像しがたい。 まず第一に、Java MEアプリケーションをiPhoneやiPod Touch でインストールできたり、実行できるようにすることで、店舗への分配をAppleが意図している通りに規制することが難しくなる。また一方で、ここ数年に わたり、JavaとAppleの関係がますます悪化しているような現実がある。それとは対照的に、JavaOne 2000での基調講演でSteve Job氏が以下のように語った。

「われわれが望んでいるのは、大々的にJavaをデスクトップに復活させることである。今日わたしがこの場にいるのは、この地球上でMacが最高の Java提供手段にすべく、日々努力していることを個人的に伝えるためである。今われわれが取り組んでいる最大のことは、すべてのMac OS X(発売予定のMacintoshオペレーティングシステム)にJava SEを搭載することである。今期下半期に発売予定である」。

昨年は、New York Times(source)に以下のような意見を述べた。

「Javaは構築する価値はない。もはや誰も使っていない。これほどまでに重いボールや鎖である。」

先週Eric Klein氏は引き続き声明を出し、Sunの計画を阻害する条件があるならば、Sunは喜んでAppleとの協議の場を設けることを述べた。

「われわれの発表は、iPhoneやiPod Touch向けにJVMを構築することの興奮とAppleが公開しているSDKやそれに関連した取引条件についての情報の評価に基づいている。 iPhone beta SDKライセンス契約で条項があり、それが潜在的に第三者のアプリケーションの分配を制限するものであるならば、それらについてAppleと前向きな協議を持ちたい。SunおよびAppleは、Mac OS XのJava SEがらみで継続的な関係を保っており、iPhoneおよびiPod TouchについてAppleとさらに詰めた協議をおこなうことを期待している。間違いなくSunは、iPhoneおよびiPod Touch向けにJVMを提供する計画を可能な限り立てている」。

JavaOneの開催期間に、Sunが詳細を発表することになれば面白くなるであろう。

原文はこちらです:http://www.infoq.com/news/2008/03/jme_iphone

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。