(Translated by https://www.hiragana.jp/)
DoJaプロファイル - Wikipedia コンテンツにスキップ

DoJaプロファイル

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

これはこのページの過去かこはんです。Jun (会話かいわ | 投稿とうこう記録きろく) による 2004ねん9がつ1にち (水)すい 17:44個人こじん設定せってい設定せっていならUTC時点じてんはん (→‎互換ごかんせい: いまわしの些少さしょう修正しゅうせい)であり、現在げんざいはんとはおおきくことなる場合ばあいがあります。

DoJaプロファイルドゥージャプロファイル)はNTTドコモグループの携帯けいたい電話でんわであるmovaシリーズおよFOMAシリーズに搭載とうさいされるJava実行じっこう環境かんきょう仕様しようである。

DoJaプロファイル(以下いか「DoJa」とりゃく)は、 Sun Microsystems, Inc.以下いか「サン」とりゃく)のJava2プラットフォーム構想こうそうにおいて、Java 2 Platform, Micro Edition(J2ME)における、CLDC(Connected, Limited Device Configuration)コンフィグレーションじょうの1プロファイルとして位置いちづけられる。同様どうよう携帯けいたい電話でんわむけJava実行じっこう環境かんきょうのプロファイルには、サン自身じしんによるMIDP(Mobile Information Device Profile)があるが、開発かいはつ時期じきちがいからか、NTTドコモグループ(以下いか「ドコモ」とりゃく)の携帯けいたい電話でんわには採用さいようされるにはいたらなかった。

DoJaはむし技術ぎじゅつてき用語ようごであり、一般いっぱんけには「iアプリ」とんだほうがとおりがよい(ドコモのマーケティング戦略せんりゃくでもあるとおもわれる)。

特徴とくちょう

携帯けいたい電話でんわ一般いっぱんだい画面がめんディスプレイマルチウィンドウシステム、マウスなどのポインティングデバイスたないし、ハードウェアスペック(CPUスピード、メモリ容量ようりょう)がデスクトップ・サーバJava環境かんきょうくらべて比較的ひかくてき貧弱ひんじゃくであるなど、デスクトップのJava環境かんきょうくらべておおきながある。そのため、DoJaのJava APIもJava 2 Platform, Standard Edition(J2SE)とくらべてかなりのちがいがある。

ただ、Javaの言語げんご仕様しようとしては浮動ふどう小数点しょうすうてん処理しょりができないこと、ファイナライザ動作どうさしないことをのぞき、デスクトップのJava環境かんきょうとくらべて差異さいはないとってもよい。マルチスレッド処理しょりふくめて、本当ほんとうのJavaプログラミングをおこなうことが可能かのうである(これらはDoJaのというよりCLDC 1.0の特徴とくちょう。CLDC 1.1では浮動ふどう小数点しょうすうてん演算えんざんがサポートされる)。

DoJaが動作どうさする携帯けいたい電話でんわじょうにおいては、ファイルシステムをたず、ローカルなデータの保存ほぞんには「スクラッチパッド」とばれる領域りょういきもちいる。また、ネットワーク通信つうしんおこなうことができる(iアプリをダウンロードしたホストとのみ通信つうしんできる)。

実行じっこう形態けいたい

DoJaでは、コンパイルしたclassファイル、および実行じっこう必要ひつよう画像がぞう音楽おんがくデータをふくめて、jar形式けいしきでパッケージしておく。このように準備じゅんびされたiアプリはHTTPあるいはHTTPS通信つうしんつうじて、携帯けいたい電話でんわにダウンロードされ実行じっこうされる。SDメモリカードなどの外部がいぶ記憶きおく媒体ばいたい使つかってアプリを携帯けいたい電話でんわにインストールする方法ほうほうはいまのところい。セキュリティかんしては、非常ひじょうきびしく、公開こうかいされた方法ほうほう使つかってのアプリとスクラッチパッドじょうのデータを共有きょうゆうしたり、電話でんわちょうやメールデータにアクセスすることはできない(後述こうじゅつiアプリDX仕様しよう使つかえば一部いちぶ実現じつげん可能かのうおもわれる)。

なお、DoJaで実行じっこうするクラスファイルは、パッケージするまえ通常つうじょうのコンパイルのほかに、preverifyというツールを使つかってぜん処理しょりおこなっておく必要ひつようがある。これはCLDCの制限せいげん(というより特徴とくちょう)であり、実行じっこう・ローディングのバイトコードベリファイの負荷ふからすために、あらかじめかた情報じょうほう調査ちょうさし、その情報じょうほうをクラスファイルない添付てんぷしておく必要ひつようがあるためである。

Java API

CLDCは、みむけの一般いっぱんてき共通きょうつう機能きのうしぼんだAPI仕様しようっており、GUIなどを定義ていぎしていない。J2MEの枠組わくぐみでは、それらはプロファイルで定義ていぎされる。

DoJaにおいてUI処理しょりには、com.nttdocomo.ui.*パッケージにふくまれる独自どくじのUIクラスぐん使用しようする。入出力にゅうしゅつりょくにおいては、CLDCのジェネリックIOフレームワークもとづき、ネットワーク入出力にゅうしゅつりょく処理しょり(HTTP,HTTPS)、スクラッチパッドアクセス処理しょり、Jarリソースにふくまれたデータの入力にゅうりょく処理しょりなどをおこなうことができる。

DoJa 2.0(504i)以降いこうは、画面がめんのようにつね常駐じょうちゅうして動作どうさする「けiアプリ」の機能きのう赤外線せきがいせん通信つうしん機能きのう追加ついかされた。また、DoJaオプション機能きのうとしてゲームけの機能きのう(スプライト、3Dポリゴンなど)、カメラ機能きのうなどが定義ていぎされた。

DoJa 3.0(505i)では、ゲーム機能きのう一部いちぶ標準ひょうじゅん機能きのうになった。また、「iアプリDX」として、携帯けいたい電話でんわ電話でんわちょうにアクセスしたり、メールなどと連携れんけいできるような機能きのう追加ついかされた。これらのiアプリDX機能きのう詳細しょうさいについては一般いっぱんには公開こうかいされていない(公式こうしきコンテンツプロバイダけにのみ提示ていじされているものとおもわれる)。またオプション機能きのうとしてバーコード機能きのう指紋しもん認証にんしょう機能きのうなどが追加ついかされている。

歴史れきし

  • 最初さいしょはんのDoJa 1.0はんは、デジタルムーバ503iおよび503iSシリーズならびにFOMAシリーズに搭載とうさい
  • DoJa 2.0仕様しようは、504iおよび504iSシリーズに搭載とうさい
  • DoJa 2.1仕様しようはFOMAシリーズに搭載とうさい
  • DoJa 3.0仕様しようは、505iシリーズに搭載とうさい

DoJaは携帯けいたい電話でんわあたらしいデバイスを装備そうびすることにそれに対応たいおうする制御せいぎょAPIとして拡張かくちょうされてきた。携帯けいたい電話でんわ自身じしん性能せいのうもハードウェア技術ぎじゅつ進歩しんぽにより、503登場とうじょう当初とうしょくら飛躍ひやくてきにその実行じっこう速度そくど容量ようりょう一回いっかい送受そうじゅできる通信つうしんりょうや、スクラッチパッドの容量ようりょう)、画面がめんサイズなどをやしているため、登場とうじょう当初とうしょ比較ひかくしてはるかに高機能こうきのうなアプリケーションをくことができるようになってている。とくに、アプリケーションサイズの制約せいやく当初とうしょ10K(Jar圧縮あっしゅく)というきわめてきびしいものであったが、DoJa2.0以降いこうは30Kバイトまで拡張かくちょうされている。

互換ごかんせい

auボーダフォン携帯けいたい電話でんわもJava実行じっこう環境かんきょう搭載とうさいしているが、いずれもMIDP採用さいようしており、DoJaとの互換ごかんせいはない。厳密げんみつには、CLDCの範囲はんいないでは同様どうよう動作どうさするプログラムをつくることはできるかもしれないが、アプリケーションのパッケージングなどの方法ほうほうことなる。いずれにせよ、画面がめん表示ひょうじなどの機能きのう互換ごかんせいはないのでそのままおなじものが動作どうさするという意味いみでの互換ごかんせいいといってよい。おなじCLDCにもとづくJava環境かんきょうではあるのでコードの一部いちぶもしくはおおくを共通きょうつうできる可能かのうせいはある。

もうひとつかんがえる必要ひつようがあるのは、機種きしゅあいだ互換ごかんせい問題もんだいである。DoJaはJava実行じっこう環境かんきょう使用しようであるため、下位かいそうとしてのjvmの実装じっそうやあるいはハードウェアにかんして統一とういつがなされていない。このことはJavaの思想しそうからはただしいのだが、Javaアプリケーションのいにかんして携帯けいたい電話でんわかくメーカあいだ実装じっそう差異さいけっしてちいさくない。 とく商用しょうようコンテンツとしてiアプリを開発かいはつする場合ばあい機種きしゅあいだ差異さい深刻しんこく問題もんだいである。はんかさねるにつれて仕様しよう詳細しょうさいもまし、実装じっそう差異さい一般いっぱんには解決かいけつされていく方向ほうこうではあるといえるもののの、開発かいはつ期間きかんみじかさや、次々つぎつぎ採用さいようされるしん機能きのうしんメーカの参入さんにゅう、そして過去かこ機種きしゅとの互換ごかんせいなどを考慮こうりょとすると今後こんごとも非常ひじょう深刻しんこく問題もんだいであるといえる。なお、auの携帯けいたい電話でんわではベースとなるクアルコムしゃせいのアプリケーションプロセッサチップおよび採用さいようされるjvmが統一とういつされているため、メーカあいだ互換ごかんせい問題もんだい原理げんりてきにはおきない。

開発かいはつ

ドコモにより無料むりょう提供ていきょうされているDoJaエミュレータを使用しようしてPCうえ開発かいはつし、携帯けいたい電話でんわにダウンロードさせて実行じっこうするというクロス開発かいはつ形態けいたいをとる。DoJaエミュレータはForte(Sun One Studio)などとの連動れんどう機能きのうや、フリーソフトウェアを使用しようし、Eclipseとの連携れんけいおこなうことができる。