どうするJavaプロファイル?DoJa vs MIDP 53
ストーリー by Oliver
にゃ~の★ 部門より
にゃ~の★ 部門より
wool100%曰く、"インプレスのケータイウォッチの記事によれば、NTTドコモは独自プロファイルDoJaを搭載したJava対応携帯電話を海外にも投入するとのことです。
現在一般的に使用されている携帯電話向けのJava仕様であるCLDC-1.0は、レイヤーごとに専用仮想マシンKVM、CLDC-1.0 コアライブラリ、用途別プロファイルという構成となっており、このうち「用途別プロファイル」がNTTドコモ独自仕様の部分です。
標準仕様としてはSun Microsystemsとその愉快な仲間たちによってMobile Information Device Profileというものが策定されており、日本ではJ-PHONEとKDDIがこのプロファイルを採用しています。しかしMIDPは機能的には最大公約数的なもののみを定めたもので、各社ともMIDPでは足りない部分を独自のプロファイル(J-PHONEはJSCL、KDDIはKDDI Profile)で補う形を取っており、このAPIを使用すると(当然のことですが)互換性はなくなります。しかし、この問題もMIDPの次世代バージョン2.0へ拡張することで解決を図ろうとしています。
今後どのようになっていくかはわかりませんが、NTTドコモが海外へもDoJaを投入することで、かつてのCompact HTML vs WAP/HDMLというような事態になってきそうです。ここに携帯電話向けJavaの開発をしている方がどれほどいるのかわかりませんが、みなさんならどちらのプロファイルを応援しますでしょうか?"
支持しても普及しなきゃねぇ・・・ (スコア:5, 参考になる)
たしかに、DoJa1.0のころはMIDPを採用しないで(というか、MIDPなかったか・・・)独自規格を採用する意義はありましたが、今はどうなんですかね。だからといって、携帯電話にMIDPとDoJaという2つのプロファイルをつめるのは確かに厳しい気がします。
Docomoは先走りすぎで標準なんか無視、的な側面があるようにも見えますけど、実際結局Docomoが標準だったりするんですよねぇ。それに、実際に、一番開発しやすいプラットフォームはどれか?って言われたら、J-PhoneでもauでもなくDocomoを選ぶと思う・・・。あーもう・・・MIDPなんてやってらんねぇと思うときもあります。(実際には、MIDPで定められていない部分の仕様が厳しかったりするわけですが・・・。)
でも、Compact HTML vs WAP/HDMLみたいな構図はないんじゃないかな?それなら、DoJa v.s. au Java/BREW v.s. J-Phone Javaという構図になる可能性のほうが大きい。auとJ-PhoneはJavaに関して協力する気がないらしく、(主にリリース関係で)ぜんぜん違う感覚で開発しなくてはならないです。しかも、BREW入ってきたらまたぜんぜんかわってしまうし・・・。auをプラットフォームにする場合、Java/BREWは確かに棲み分けが進んでいくと思います。
# J-PhoneはJavaアプリをリリースするまでの過程が複雑だったりします。アグリゲーターとか言うのを通さないといけないし。auは、BREWについてそのモデルを採用するようですが、その部分がJavaとBREWの関係にいろいろと影響してくるんじゃないかと考えています。
どの道、両方必要、というのが個人的見解ですが、確かにさっさと統一してほしいですね。でも、簡単にコンバートできそうだけどなあ。
ところで、PalmがMIDPとしては一番まともな気がしますが、どうなってるんでしょうかね。MIDP2.0もいけるようになるのか?
---------- ------ ISHII Nayuta
DoCoMoの方を支持します。 (スコア:2, 参考になる)
圧倒的にドコモのユーザが多いから...
まさに
VHSとBetaだったら、
コンテンツはVHSだけで出荷します。
とか、
WindowsとMacだったら、
パッケージはWindowsだけで出荷します。
程度の理由ですけど。
-- LightSpeed-J
どっちも応援しない (スコア:2, すばらしい洞察)
実際使う立場としたら、さっさか統一してくれたほうがありがたいに決まってる。
こんなところで争ってないで、統一する努力しろ、って言いたい。
「Write once, run anywhere」はどこにいったんだ。
まったく違う環境ならともかく、ほとんど同じような環境で実装が違うようじゃ、先が思いやられるよ。
ANSIなりなんなりに預けて、標準を決めてもらったほうがいいと思われ。
#にしても、「にゃ~の★ 部門」ってなんだ?
Re:どっちも応援しない (スコア:1)
まったく同感、なんですが、確かSunはJavaの標準化を拒絶したんですよね。
言語自体すら標準化されないのに、ましてその上に乗っかるプロファイルなんて...
Re:どっちも応援しない (スコア:0)
標準化機構なんかに預けたら、何年かかるかわかったもんじゃないよ。
DoJa vs MIDP ? (スコア:2, 興味深い)
また、MIDP の策定グループ(Mobile Information Profile Expert Group)には NTT DoCoMo も含まれます(J-Phone も KDDI も)。なので、場合によっては DoJa の API の中で共通仕様とするに相応しいというものは、新たに MIDP にも(そっくりそのままではないにしても)含められる可能性もあるのではないでしょうか。
というわけで、見方にもよるかもしれませんが、「DoJa vs MIDP」とか、MIDP を応援する、というのは、何か違う気がします。
参考にしたもの:
「Sun の J2ME Overview」 [sun.com]と各携帯電話会社の Java アプリケーションの開発者向けドキュメント
# 何となく自信がないので、AC として逃げます。
純粋な開発屋さんからすると (スコア:2, 興味深い)
Windows/Mac/Linux/etc...対応と同様で、こういうことが少なからず開発需要を生んでいることは事実です。
コンテンツ屋さんは余計な経費・開発費が増えて回収に大変でしょうし、
利用者にとっても規格の乱立は面倒この上ない話ではありますが。
ホントのところ何に使うの? (スコア:1)
素朴な疑問として携帯のJavaってどういう用途で使われている/使おうとしてるんでしょうか?あまりキラーアプリというか、キラーコンテンツの話を聞いたことが無いんですが。
一応auのezplus対応機種のユーザーですが、最初に付いてたゲーム以外使ったことありません(笑)
Re:ホントのところ何に使うの? (スコア:2)
本格的な普及は外部記憶装置が標準搭載&基本的にユーザーが作るってスタンスになってからなんじゃないかなぁと思う
バカ高いパケット料と月々の課金が一般的じゃ普及なんてしないって…
…それに容量少ないし起動おそいし
Re:ホントのところ何に使うの? (スコア:1)
これがあるからなおのこと、H"電話にJavaが入っていると(他の電話より)良いんだがなあ、と思えてます。
特に最近ついに、音声端末のメールが定額パケットでやれる奴も出たわけですし。
さて。何に使うか…
やっぱ自分でしょーもないプログラム作って遊ぶため、かな。
万人のためにどう役に立つか、という話は、ちょっと判りません。
ただ、それをFREEソフトとして配布する(したくなった(^^;)ときのことを考えると、
せっかくのJavaなのにキャリアごとや機種ごとに仕様がばらばらってのは
ちょっと悲しいものがありますね。
動く環境が単純に目減りしちゃうんで。
#そしてそれは、その環境の「くだらなさ」を更に増してしまうという、悪循環な罠…
ん?Unixに倣って、ケータイJavaでconfigureみたいなことをすればいいのかな?
つーかケータイでmake?
うわ。嬉しいような悲しいような…
Re:ホントのところ何に使うの? (スコア:1)
>
>これがあるからなおのこと、H"電話にJavaが入っていると(他の電話より)良いんだがなあ、と思えてます。
それは相反するものを望んでいるのかもしれません。
携帯電話がブラウザやJavaを搭載できたのは投資したものをバカ高いパケット料で回収できるという見込みがあったからだと思うのですが。
なので携帯キャリアがパケット通信がらみの開発をペースダウンしない限りパケット料金はあまり下がらないだろうし、DDI-Pの方は今の料金体系ではJava関係のような比較的大きな投資はできないのではないでしょうか。
その証拠にAir-H"以降の新サービスって、あまり設備投資をせずに済むものばかりですよね。
うじゃうじゃ
Re:ホントのところ何に使うの? (スコア:1)
CDとか本なら一般ブラウザ向けページからと同じくらいの注文が入っているらしいよ。
Re:ホントのところ何に使うの? (スコア:1)
Re:ホントのところ何に使うの? (スコア:0)
待ち受け画像の代わりにプログラムを入れておくわけですけど、時計とか、渋滞情報を表示させるとか。便利っすよ。
Re:ホントのところ何に使うの? (スコア:0)
まともに使ってないので正確にはわかりませんが、GPS機能とかはJavaから使うようになってるみたいですよね。
Re:ホントのところ何に使うの? (スコア:1, 参考になる)
Re:ホントのところ何に使うの? (スコア:1)
代替機(8/14)を参照のこと。 [cds.co.jp]
AUはブラウザなんかも遅いから、単体で使う場合はパケット通信速度が速くなっても意味ないよね。
Re:ホントのところ何に使うの? (スコア:0)
これはアプリじゃないと出来ないと思いまつ。
いわゆるNext Trainなんですが、そもそも携帯で見れると激しく便利だってだけじゃなく、
結局のところ (スコア:1)
最新プロファイルに対応させればいいんじゃねぇの?
って思うんですけどいかがなもんでしょ
その上で独自ライブラリとか独自ファイル形式とか独自ダウンロード形式に依存されたら作る方は大変なんだけどさ
そういう障壁取り払うようにSUN側で働きかければよろしいかと
…ライセンスって手段で(無理?)
#そのときついでに各種バグフィックス&使いにくいところの改善していただけるとありがたい
囲い込みたいんだもん (スコア:1)
ユーザー数:大 → 商売になる → コンテンツ屋大集合!
という世界で。
ゆえに、開発者にとってうれしい「MIDPで共通化!」ってそれほど重要視されてないんじゃないかと。
最大公約数的な共通化だと、スプライトとか3Dとかのハード等をともなった端末の差別化の前では、キャリアor端末メーカー依存の拡張部分が必要となりますから、そのへん(端末メーカーに対するコントロールとか)で主導権を握ってるDoCoMoは、さっさといまのポジションをフル活用して海外展開までしたいんだろうなぁって。
ここで海外展開の手を売っておかないと、じわじわと外堀からMIDPで埋められていく可能性もあるだろうし。
構図としては、ファミコン対MSXみたいなもんじゃないでしょうか。
ファミコン→スーパーファミコン: DoJa1→DoJa2
MSX→MSX2: MIDP1→MIDP2
今の日本の携帯Javaで起こっている展開は、過去にいくつもの家庭用ゲーム機が競い合っていたあのころをなぞっているだけなのではないかと。
Re:囲い込みたいんだもん (スコア:1)
> ファミコン→スーパーファミコン: DoJa1→DoJa2
> MSX→MSX2: MIDP1→MIDP2
それは暗にDoJaの勝利を意味するのでしょうか・・・
でしたら、私は今回もやはり MIDP-turboRを買ってしまうような気がします・・・(なんとなく負けたとしても)
こないだまで携帯Java専業でやってましたが (スコア:1, 興味深い)
MIDPって、微妙に理想論すぎてコンパクトなプログラムに向かないっていうか、なんかそーいう印象があります。
なんか、API群から受ける印象がWAP(1.0)のそれに近いっていうんでしょうか、そんな感じです。
(要約:ビミョーにツカエネー)
携帯同士で互換性が無いてのも困るけど、まぁ、それを飯のタネにしている人たちも
わらわらいるので、持ちつ持たれつってやつですかねぇ。。。
…そいや、Write once Run Anywhereってフレーズ、
プロファイルを分けるようになってからSunも言わなくなったんじゃ
なかったでしたっけ?
あれ?DoJa2とMIDP2で融合しないんですか? (スコア:1)
というか、ドコモのは2ができて1と2が分かれただけ痛いし、 メーカー間で処理速度とか色々違いすぎで、とても、一つの 統一された規格とは思えません.
2つともコードを書いた感触からいえば、DoJaは業務向け、 MIDPはゲーム向け。(さすが、ドコモはちゃんと商売が なにかを知っておるよ。)
でも。どちらを応援するかといえば、どっちにも無くなってほしいです。
Write Once, Run Anywhere (スコア:0)
SunもDoCoMoもなんでこんなにスペックを細分化するのだろう。
現場をいぢめたいワケでもないだろうに。
どっちでもいいから統一してくれ…
# お腹減ったのでAC
Re:Write Once, Run Anywhere (スコア:2, 参考になる)
携帯のハードがそれなりに枯れてくるまで、
しかたないと思ってあきらめました。
だれも現場なんか考えちゃくれませんよ。
Dojaの中だって503iも504iもメーカー拡張がありすぎて、
結局全部の機種を買ってテストし、それぞれの機種ごとに
カスタマイズするはめになりました。
MIDP同士のAUとJ-PHONEだって、ぜんぜんそのままじゃ
動きません、作り直しは必須です。
結局標準化した仕様のなかでは、ちゃちな事しか
できないのですからねえ。
Re:Write Once, Test Anywhere (スコア:1)
# 言い初めは誰なんだろう...
Re:Write Once, Test Anywhere (スコア:2, おもしろおかしい)
Re:Write Once, Test Anywhere (スコア:1)
Write once, Run anymore. です。
Re:Write Once, Run Anywhere (スコア:1, 興味深い)
iモードとauとJフォンで別どころか、 iモードだけでも機種ごとにバイナリが違うなんてケースも
多いと聞いてますが…。
せめて2Dライブラリ(スプライトとか)だけでも
504i全機種で利用OKとかにしておいてくれればよかった
のになぁ。全く。
まぁ、いろいろ事情があるんでしょうけどぉー。
Re:Write Once, Run Anywhere (スコア:0)
なんてプログラムが動作する環境(デバイス)の多彩さを考
えると、かなりナンセンスな気がします。
別にJavaが嫌いではありませんが、HOSTで動くアプリと携帯
電話で動くアプリが同一コードで
Re:Write Once, Run Anywhere (スコア:1)
GUIを使うわけでもないのに、Xが動いていないUNIXで走らせると、
落ちちゃうのは。
まぁ、ある程度差異を吸収してくれているだけでも、充分有用ですから、
気にはなりませんが。
Java2Dの実装はタコイ (スコア:0)
なんてついてないのが普通)でJavaアプリが走らない、
ゆえにXserverを他のマシンで走らせてそちらにXの設定を
しなければならないなんて、馬鹿らしい事に陥る
グラフィックワークステーション専用のJava2Dではあるま
いに・・・
Re:Java2Dの実装はタコイ (スコア:1)
> なんてついてないのが普通)でJavaアプリが走らない、
> ゆえにXserverを他のマシンで走らせてそちらにXの設定を
> しなければならないなんて、馬鹿らしい事に陥る
わざわざそこまでやらんでもXvfbを使えばいいだけでは。
Xvfb :1 &
DISPLAY=:1 java ...
Re:Java2Dの実装はタコイ (スコア:1)
>> Java2Dの実装ではサーバマシン(グラフィックコンソール
>> なんてついてないのが普通)でJavaアプリが走らない、
>わざわざそこまでやらんでもXvfbを使えばいいだけでは。
これってたしか、グラフィック「ルーチン(Classとか)」は使いたいけど
グラフィック「画面」が不要だという状況(絵関係の計算だけをしたいとか…)で、
でも画面なしでは該当クラスが動かないような作りになってる、という問題でしたよね。
#俺もなんかやられたような淡い記憶が…
Xvfbなどを「捨て画面」として用意するといい、という話でしょうか?
まあ確かにそれはそうなのですが、捨てに値する(?)くらい軽い画面システムだったとしても、
存在しないとならんってのは明らかに無駄なので…
#下記URLのあたりでも、Xの設定云々とか落ちるとかのトラブルを抱えてる話がちらほら。
#X画面が"存在しなければ"そういうトラブルとも無縁で済んだ筈ですよね…。
…とか思ってGoogleしてみたら、JavaのMLで、こんな話が。
http://java-house.jp/ml/archive/j-h-b/038237.html#body
>これなら UNIX で使用するときに X サーバに接続しなくてもいいようです。
http://java-house.jp/ml/archive/j-h-b/039947.html#body
>WindowSystemを利用しないで、画像関係の機能を動作させる事が可能との事です。
http://www.eteks.com/
とのことです(^^;
つまり、Xレベルで捨て画面じゃなく、AWTレベルで捨てObject…
Re:Java2Dの実装はタコイ (スコア:1)
おっと。一番目にかの有名なパターンWikiサイトでのNullObjectの話 [c2.com]がHit。
ふむふむ。
構造についての、つまりC言語の文字列の'\0'みたいな(そしてそれよりIntelligentなObjectとしての)端っこ番兵Objectという面と、
ストラテジについての、つまりinterface互換だけど実は実装は"何もしない"ようなObjectとしての面と、
が有るっていう話のようですね。
捨て画面とか捨てObjectとかについては、終端がどこだか静的には判らない
というような再帰構造の問題は、出番があんまり無いんでしょうから、
ストラテジとしての面だけで該当する
…ってことでしょうか。
お。上記ページから、NullObjectImplementationっていうページ(WikiName)へも行けますね。作り方かぁ。
どれどれ。Interface互換にしとけとか、書き換え不能にしとけとか、色々あるなぁ。まぁそりゃそうか。
ところでケータイみたいな小さい環境では、NullObject(のClassとInstance)を作るのと
伝統的if文null判定と、どっちがいいんだろう…。まぁ程度問題だろうけど。
Re:Java2Dの実装はタコイ (スコア:0)
Re:Write Once, Run Anywhere (スコア:0)
>電話で動くアプリが同一コードで動いたところであまりメリッ
>トは無い気がします。
もちろんそこに文句をいう気はないですが、同じ携帯
同士な
Re:Write Once, Run Anywhere (スコア:0)
バッテリが持つ限り
ど~じゃ? (スコア:0)
広島弁?
Re:ど~じゃ? (スコア:1)
とりあえずPalmでもMIDPが動作するのは確認したんですけど、
Palm特有の機能は使えるのかどうか不明。
ラーメン作るのに3分とか5分とか経過したら
アラーム鳴らすアプリですけど、スリープの解除とか
アラームの設定だとか、どうするのかようわかりません。
まぁMIDPの仕様書を読みながらぼちぼちやりますけど。
Re:ど~じゃ? (スコア:1)
「えむあいでーぴー」
と読んでます。
本当はなんと読むべきなんでしょうね?
-- LightSpeed-J
Re:ど~じゃ? (スコア:0)
多分、それが正しいのでは?
Re:ど~じゃ? (スコア:1)
ミッドピーだと思います。どこで聞いたか忘れましたが。MIDletはミッドレットって言いますし。
Re:ど~じゃ? (スコア:0)
「みっどぴぃ」だったかと。
>ラーメン作るのに3分とか5分とか
即席ラーメンの出来上がり時間は統一されなくても
よいのでしょうか・・・
#4分モノに好物が多いのでAC
Re:ど~じゃ? (スコア:1)
MIDPは、仲間内では「みどぴ」とか呼んでいますが、本当のところは謎。
MID Profileとか言ったりするし、みどぷろふぁいるか・・・?
---------- ------ ISHII Nayuta
Re:ど~じゃ? (スコア:0)
DoJaはドージャと聞いています。
関係者なのでAC
広島弁? (スコア:0)
どちらと言われても (スコア:0)
どっちもイらねぇー。
携帯電話は通話だけきちんと出来れば良し。
もし自分で携帯javaアプリ作る必要が出てきたら、自分の携帯の環境だけ使えばOK。
仕事で複数環境扱わなければならなくなったら、その分見積もりに上乗せする。
金もらえばどんな環境でもやりまっせー。
Re:どちらと言われても (スコア:1)
ゲームばっかり並べられても無用!
でも、便利な使い方があるはずと期待してます。
AMIGA4000T(60/50)使い
Re:どちらと言われても (スコア:1)
携帯はカバンの中、PDAはポケットの中、と言う運用だからってのもあるでしょうが。
携帯アプリの使い道としては、DBと連携した使えるPIMの登場を待ってます。
#いくつか出てるけど、まだ使えそうも無い
#パケットが定額なら試しても良いんですが
もちょっと携帯の容量と、自分の暇があったら手を出したいんですけどね>携帯アプリ