NOKIA E61のプログラミングは手馴れたところから始めようとJava MIDPのSDKを導入しました。手馴れていると言ってもMIDPのプログラムはひとつしか作っていません。当然、そのプログラムは問題なくE61でも動きました(JASJARでは動かすのに苦労した)。ちょっと驚いたのはP910c(おなじSymbianですがUIQのデバイス)に比べてプログラムの立ち上がりが比べ物にならないほど速いです。またE61では数多くの新しいAPIが搭載されているので、多彩なプログラムをMIDPで書くことが出来そうです。
まとまりなく雑然と感じたことを書いておきます。
SDK付属のエミュレーターは言語切り替えによって Chinese, Japanese, English, Thai に切り替え可能です(C++のSDKのものは切り替えがうまく行かないです。わたしが何かミスしてるのかな?)。
Carbide.jというプログラムでプロジェクト管理等を行います。標準MIDPの開発環境のKToolbarと同じようなものです。エミュレーターも含めて、とても重いです。わたしのThinkPad X30では、ちょっと苦しい。
Eclipse等のIDEに自動的にPlug Inを組み込んでくれます。よって普段はEclipseを使えば良いようです。ただし一部の機能はCarbide.jにしか用意されていないようです。
S60にはPersonal Profileは無いみたい。MIDPだけだとClipboardとかに直接文字をコピーすることは出来ないでしょうね。Clipboardに文字をコピーしている別のプログラムを見たのですが、ちょっと回りくどい手順を利用者にとってもらわないといけないみたい。
S60 3rd editionのSDKの中に日本語版が独立して存在しています。他のものは、ひとつのパッケージでLanguageの切り替えを行いEnglish、Chinese、Thaiに変更します(ほんとに切り替わっているかどうか今ひとつ分からない)。また、この日本語版を選んでCarbide c++ Expressのプロジェクトが何故か作成できません。
さすがに日本語版SDKのエミュレーター、英語版では豆腐だらけだった、このブログもちゃんと表示できます(UTF-8以外の文字コード試すのは忘れました)。またSMSの作成画面に入ると右上の文字の種類に漢字と表示されます。エミュレーターの中のテンキーを押すと平仮名が入り漢字に変換できそうです(まだ、今ひとつ操作方法が分かっていません)。そこでPCのキーボードを叩いてみると、漢字モードにも関わらずアルファベットが入ります。このエミュレーターは、一般電話型であってE61のものではないってことなんだと信じたいと思います ^^;)
ちょっと前から今使っているP910cの次はNokiaかなと考えていました。一時期はWindows Mobileで統一しようかとも思っていたのですがスマートフォンを始めた限りNokiaは避けて通れないです。特にE61など写真で見ただけで心が躍ります。で、本題ですが、とりあえず開発環境を調べておこうと思い立ちました。
一年前にSymbian+UIQの開発環境を作った時には、それ自体がTipになりそうな感じでした。CodeWarriorとC++BuilderXを買えば別だったのかも知れませんが、密かにサポートされていたVC6を使っていたのでSDKのヘルプだけが頼りみたいな状態でした。そんな感じなのでHello World止まりで、いつしか興味はWindows Mobileに移っていました。
NokiaのサイトでS60 3rd Editionの開発環境を調べたところ、無料のIDEパッケージCarbide.c++ Expressが一番最初に紹介されています。実際には、よくよく調べるとVisual Studio2003ベースのものも見つかります。ここは迷わず無料の物を導入しました(VS2003持ってないし)。これはJavaの開発環境として定評のあるEclipseをベースにしたものです。まだ使ってはいませんがIDEとしての出来は疑う余地がないと思います。これとS60のSDK、それにActivePerlを導入すれば開発環境は完成です。
とりあえずCarbide.c++ Expressが立ち上がることを確認しただけですが、一年前のUIQの時のことを考えると比較にならないくらい楽でした。最初は、下調べくらいに思っていたのが導入まで出来てしまいました。資料によるとCarbide.c++ ExpressはUIQもサポートしているようです。Sony Ericssonのサイトを見てみましたが、相変わらずCodeWarriorとかC++BuilderXとか書いてあります、何故なんでしょ。去年、どこかで将来はEclipseベースの開発環境になるって読んだのはソニエリのサイトではなかったかなぁ(勘違いかも)。
あとS60 3rd Editionに含まれているEmulatorは普通の電話の10キーが付いたやつでした。E61みたいなフルキーのEmulatorは無いのかな? PCのキーボードで代用できるってことかも。まだ色々な資料にまともに目を通していないので、いずれ疑問は解けるのでしょう。
これも日本で買ったものシリーズです。
ずっとお試し版を使っているわけには行かないので日本語版を購入しました。この手の製品は店頭で買おうと思っても近くの店には置いてなかったりするので、日本に到着する日に会わせてアマゾンにオーダーしました。モバイル関連のブログに張ってあったリンクから購入して、見知らぬどなたかの売り上げに貢献しておきました。
お試し版はDVDだったので、てっきり製品版もと思っていたら従来通りCDでした。導入だけなので面倒と言っても知れてはいますがVisual Stadio本体がCD2枚、MSDNがCD5枚もあります。まだまだDVDにしてしまうと導入できないケースがあるのでしょうかね、、、
まだ、導入しただけに近いのですが特に大きな問題はなし(当たり前ですが)です。実はVC6から移行したプログラムでおかしな問題に出会いましたが、もう少し調べてから改めて書くことにします。
しかし、英語メニューになれていたので日本語メニューをみるとおかしな感じです。
ネットワークの問題もあって Express Edition を試すことが出来ていません。
Mircosft のサイトを眺めていると、どうも Express Edition では Mobile Device のサポートが無いようにも見えます。うーむ、ますます導入を躊躇してしまいます。今現在の一番の関心事は Windows Mobile 用のプログラム開発です。試してみたいことが山積みなので一段落するまでは Express Edition を試すのは延期かな、、、 ネット環境がよければ Mobile Device で使用できるかどうか気軽に試してみるのですけどね。
Visual Studio 2005 が正式にリリースされました。特筆すべきは無料で入手できる Express Editions の存在です。アクティベーションのために登録は必要ですが、とりあえず一年間は無料で使えるそうです。FAQ によるとライセンスの縛りも無いので商用プログラムも開発できるようです。後は有料版との差異ですが、おそらく趣味プログラマーは Express Editions で十分なのではないかと思います。
現在 Visual Studion 2005 Beta 2 を使用しているので、いずれ正式リリースになったら購入しようと思っていたので、とりあえず無料版が出たというのは、私にとってグッドニュースでした。
ただネット環境が貧弱なので時間がたっぷり取れるときまで導入は見合わせようと思っています。
注) 11月8日現在、マイクロソフトの日本語ページには情報が出ていません。
API フックについて勉強するために Advanced Windows
改訂第四版を購入しました。まだ、最初の方をぱらぱらと眺めただけですが、まさに目からうろこ。今まで、この本を知らずに居たことを悔いるような素晴らしい内容です。
プログラム言語としては、それなりに正しい書き方をしてきたつもりですが Windows の作法としては知らないことが多いということを改めて知りました。Visual C++ を使い始めたときに参考書類をいくつか眺めては見ましたが、どれも Advnaced Windows とは本質的に異なっていて簡単な How To 本に過ぎませんでした。知らないテクニックについてはインターネットでサンプルを探したり MSDN で API の解説を読んで、なんとなくコードを書きなんとなく動くプログラムを作りつづけてきました。アマチュアだし、プログラムを売っているわけではないので許される範囲であるとは思いますが、ちゃんとした教科書があれば読んでみるべきだと再認識しました。
この本は API フックのような特殊なことを知ることだけが目的ではなく、基礎的なすべての Windows プログラマーに必要な内容にあふれた良書です。
残念なことに、せっかく買ってまだあまり目を通してないのに日本に忘れてきてしまいました。 🙁
アマゾンに発注しようかなぁ。つぎに日本に帰ったときに忘れてきたのを中古で売ればいいか、、、
過去数年の間に i-mode, ezplus (Java), Palm そして今年になって Symbian UIQ の開発環境を構築し試してきました。これらの開発環境は、それを構築すること自体が tips になるような状態です。Symbian/UIQ は Borland の IDE を試していないし、前の二つは J2ME なので比較すること自体に無理があるかもしれません。しかしながら Windows Mobile (Windows CE) の開発環境の豊かなことには感動しました。
IDE 上で Windows Mobile のプログラムを開発するのは PC のプログラムの開発と全く同じ要領で行えます。デバックモードでプログラムを実行するとプログラムがターゲットに送られ実行されます。ブレークポイントの設定も、ステップモードも全く同じです。また、ターゲットがエミュレーターでも実機でも全く手順は同じです。実機は持っていないので未確認ですが、ターゲットを選ぶところには実機もエミュレーターも同じように並んでいます。また IDE とは独立したプログラムでターゲット上のプロセスのリストを表示したり、ヒープを覗いたりあるいはレジストリーを編集したりと、およそプログラムの開発に必要なことはなんでも簡単に出来るようになっている感じです。
加えてプログラムの作法が Windows そのものなので (Windows Mobile なので、あたりまえ) Windows 上で C++ のプログラム作成の経験、とくに Visaul C++ とか Visual Studio の経験があれば開発環境を導入した瞬間からプログラムを書き始めることが出来ます。とにかく、いきなりプログラムそのものに集中することが出来るというのは素晴らしいことです。
考えてみれば、いくらかは導入前から想像していたことなんですが、実際に体験してみるとすごいと言わざるを得ません。どちらかというとアンチ MS なんですが、素直に感動しています。今年は Symbian で遊ぶ年だったはずなのですが Symbian 上では MIDlets が動くからそれで良いかという気になってきています。
WM5.0 搭載機種が出始めて各所で盛り上がっています。いずれ Windows Mobile の世界にも足を踏み入れる予感がしています (と言うより決意に近いものがあります)。
ということで、とりあえず SDK とエミュレーターでも導入しようかと思ったところ Visual Studio 2005 Beta 2 をまず導入しないといけないです。これはダウンロードは不可で雑誌の付録を使うか Microsoft にオーダーするしかありません。北京で該当の雑誌が入手出来るかどうか不明ですので Microsoft にオーダーしてみました。9/17 (土) にホームページから申し込みをし 9/23 (金) に DHL で配達されてきました。思っていたより早く到着し、ちょっと感激。Microsoft 見直しました。中国にちゃんと送ってくるのだろうかと疑っていたくらいで、、、
ただいま導入中です。楽しい週末になりそうです。
オーダーは Mobile Developer Center から行います。