読者です 読者をやめる 読者になる 読者になる

書くことないです。

ayamadoriが独り言を呟く日記。

こんなこともやってます。(が、もはやあまりやる気は無かったりする)

【Nothing to release./携帯電話向けSoftware】

NokiaのSeries 40 full touch端末の開発環境について。

前にTouch and Type端末について調べたんだけど、今月上旬になってfull touch端末が発表された
ここ数ヶ月(あるいは1,2年)のうちにSeries 40プラットフォームは長足の進化を遂げていて、おそらくこれが一旦の完成形だろう。個人的にAsha 305を買う気満々である。
そして下旬に入って開発環境も公開されたので、今までに調べたところをメモしておく。ちなみに余りまとまってない。

対応端末

プラットフォームとしての名称は”Series 40 Developer Platform 2.0”となっている。ローンチ時の対応端末は

の3つ。詳しくは上のリンクとか参照。画面解像度はすべて240×400。

開発環境

例によってJava限定。Windows 7 Professional 64bitを使用。
Nokia SDK 2.0 for Javaがリリースされている。まだベータ。
詳細はリンク先を見てもらうとして、大きな変化はNokia独自のIDE(Nokia IDE for Java ME)が付属されるようになったこと。ただEclipseにpluginを追加しただけのものだけど、別途IDEを用意しなくていいのは楽。
相変わらずJRE 6 Update 27(32bit)がリコメンド。JDKは明記が無いけど、とりあえずJREと同じバージョンを入れたら問題無かった。
Nokia UI APIのバージョンは1.6まで一気に上がった。基本的にはフルタッチに対応するのがメイン。使えるUI部品が大分増えた印象だけど、変更量が多くて全部読みきれてない。
SDKをインストールしたままの状態だと"Invalid Preverifier"という警告が出てPreverifyが上手くいかなかったりする。Preference>Java ME>Preverification>Preverifier Typeを"Default Preverifier"に、下の"Default Preverifier"のパスに"C:\Nokia\Devices\Nokia_SDK_2_0_Java\bin\preverify"(SDKをデフォルト位置でインストールした場合)を入力しておく。

動かしてみる

Eclipse重い(´・ω・`)NetBeansのほうがまだ軽いし、最近ずっと超軽量のQt Creatorしか触ってなかったからちょっとフラストレーションが溜まる。
下の画像は左がPiClipをエミュレータで動かしてみたところで、右がLWUITを使ってForm上にTextAreaとButtonを4つ表示させたもの。
f:id:ayamadori:20120701002028p:image
SIMカードが2つ表示されているところを考えると、デザインはAsha 305を模擬しているように見える。
Canvas上でもVKBを表示させることができる(左)。Optionメニュー(画面左上の三本線)にVKBで表示するコマンドが(こちらでコードを書かなくても)入るので、それを使っている。右でTextAreaにフォーカスを当てることで表示されているネイティブのVKBと異なり、クリアキーや記号・入力切替キーが無い3列配置になっている。またキーの見た目に反して、このVKBで拾えるキーコードはすべて数字(ITU-T準拠)。MIDP上で規定されてないクリアキーなどが無いのは仕方ないけど、こういうところで使い勝手が異なってしまうのはちょっと残念。
ちなみにこの方法で呼べるVKBはポートレートの10キータイプのみで、QwertyランドスケープVKBは呼べない。
当然ながら、Canvas上でVKBを出すとCanvasの高さが変わる(重ならない)が、Formでは重なって表示される。VKBを消す(キーボード上部を下にスワイプ)と、再びCanvas高さが画面最下部まで拡大する。
Touch and Type端末と同じく、Canvas上で画面をフリック(スワイプ)すると、その方向のキーイベントを拾ってくれる。でもフルタッチ端末だとやっぱり画面要素を直接触りたいところ。
左右ともに起動直後の状態で、RAM消費は左が辞書を読み込んだ状態で550kB程度、右はformを表示させているだけで660kB程度。やはりLWUITはそれなりにリソースを消費する印象がある。便利だけど実際に使えるかどうかは実機で試してみないと何とも言えない。あとルックアンドフィールがちゃんとネイティブっぽくなっているのは好印象だけど、ボタン大きすぎw
画像は無いけど、LCDUIのUI部品も(貧弱なのは相変わらずだが)ずいぶんとネイティブと似たデザインになっているように感じる。ルックアンドフィールはやはり大事だ。

その他

全体的な動作はとても滑らかでかっこいい。が、最終的には実機を触らないと何とも言えない。
言語的なところはTouch and Type端末と同じで、Chineseにすると国字を含めて漢字は表示できるが半角カナは表示できない。中国語の手書き入力は無さそうで、五筆入力のみか?
Nokia Browser 2.0 for Series 40は"enables multitasking"とあるけど、より正確に言えば『アプリが終了しない』。メニューにいったん戻って別のアプリを使った後、メニューからブラウザを起動すると前回表示された状態のままになっている。もちろんRAMが厳しくなるとバックグラウンドで勝手に落ちるので、起動すると初期状態になっていることもある。前回終了時の状態を『復元』する機能が欲しいところ。こういうことなので、タスク切り替えなどの機能は当然無い。iOS3のさらに劣化版なイメージかな?
ちなみに、アプリのバックグラウンド動作はメーカ/キャリアのみに許可されていて、サードパーティには開放されていない。これは以前から変わってない。だからこの『終了しない』機能はOpera Miniに対する大きなアドバンテージになるかもしれない。
あとたまにNokia Browserが起動しなくなるのはなぜだろう?


とりあえず、目下の目標はPiClipをAsha 305により良く対応させること。期限は今年の10月末。