どこで吸収すべきか?(2006/05/29)
最近クロスプラットフォームについて考えたので忘れないうちにメモに残す。
UIEngineの一つの特長にクロスプラットフォームの実現というものがある。これの意味するところはアプリケーションのクロスプラットフォームの実現であり、その下位レイヤーでも上位レイヤーでも無いことをUIEngineをある程度知ったら理解しなければならないだろう。
さて、ここで言う「アプリケーション」も従来のアプリケーションとは異なる。UIEngineが考えるアプリケーションは基本的にはWEBアプリケーションであり、クロスプラットフォームを実現するのはWEBアプリケーションのUIのみである。※もちろんUI以外のロジックも実装可能なのでアプリケーションとして実装しても良いが。
UIEngineが言うところのクロスプラットフォーム
・WEBアプリケーションのUIのみをクロスプラットフォーム化可能
・UIEngineは複雑な処理(例えば浮動小数点演算)は実装できない
・複雑なアプリケーションはそんなわけでクロスプラットフォーム化できない
・そんな複雑なものはサーバーサイドに実装
開発者から見ると、UIの実装をUJMLという開発言語で吸収できる、ということだ。JAVA MidpだのDojaだのBrewだの、色々覚えなくても良い。UJMLという新たな言語を覚える必要がある。HTML+Javascriptに近い言語ゆえ比較的覚えやすいと考えられる。
WEBアプリケーションのサーバーサイドはどんな言語でも実装しても良いことになっている。ただし、今のところJavaベースのコンパイラーしか無い。
◆UIのクロスプラットフォーム実現の必要性
ニュースリーダー等の簡易なアプリケーションはUIが固定されている。また、コンテンツがRSSならデータが標準化されているので、あえてクロスプラットフォームのUIを提供する必要性が低くなる。コンテンツが標準化されていると、各プラットフォーム上にUIが提供されている可能性が高くなるから。この場合は、別の特長をUIに打ち出す必要がある。あるいはサービスにか。
◆UIEngineの強み
クロスプラットフォームの実現を考えると軽量シンクライアント型のUIは強みがある。ただ、どれだけ普及させるかは大きな課題。日本の携帯キャリアを考えると、勝手アプリが許されているDOCOMO以外は難しいか。
また、カーナビその他のデバイスも関係各社が根っこを握りオープンにならない可能性が高い。
ただしキャリアが隙を作りつつあるのも事実。軽量シンクライアントの特性を活かしつつ、その隙を突いて普及させることも可能。
UIEngine、UJML初心者の方はこちら↓
UIEngine だ: 初心者向けにまとめ
コメント