PhoneGapの可能性

スマートフォン開発の環境としてTitanium Mobileが人気だ。
iPhoneの開発で古くさいObjective-Cを使ったり、AndroidでActivityやIntentなど癖のあるクラスを使いこなしたりせず、Javascriptですっきりと開発できるので人気が出るのも理解できる。21世紀もだいぶ過ぎたのに、メモリリークとか気にしたくないもんねぇ。

Titanium Mobileと同じようにマルチデバイスJavascriptで開発できるフレームワークにPhoneGapがある。

http://www.phonegap.com/home

PhoneGapが可能にすることはTitanium Mobileに近いものがあるが、実現のアプローチがだいぶ異なる。

Titanium MobileはiPhoneがターゲットの場合、Objective-Cプリプロセッサのような形で動作する。出力されるのはiPhoneアプリのバイナリだ。一方PhoneGapの実態はWebViewであり、この中にHTML5+CSS3+Javascriptで構成されたアプリケーションをカプセル化する。PhoneGapはスマートフォンの機能にブリッジを作っているので、Javascriptからスマートフォンの機能にアクセスできるようになる。

どちらかというと、PhoneGapの方がシンプルな構成であり、これによってiOS,Android,BalckBerry,palm,Windows Mobile,Symbianの6つのプラットフォームに対応している。いまさらSymbianに対応したい開発者がいるかどうかは疑問だけどね。

アプリの見た目での違いは、nativeUIを使うかどうかだ。Titanium Mobileはネイティブアプリだから当然nativeUIを使う。Titanium MobileのボタンはiPhoneであればiPhoneのボタンだし、AndroidならAndroidネイティブのボタンだ。これに対し、PhoneGapはHTMLだから、ボタンはCSSで加工しない限りHTMLボタンが使われる。native度はTitaniumの方が上だが、デザインの自由度はPhoneGapの方が上と言えるかもしれない。

弊社のAppict.me

http://jp.appict.me/

では、SDK部分にPhoneGapを使用し、サービスの部分はJavascriptで記述している。

PhoneGapを採用した理由は、

  • ひとつのサービスのSDKiPhone/Android両方のバージョンを用意するとコストが高く付き過ぎる
  • PhoneGapのアプリ部分はWebアプリなので、これをサーバから配信する事は簡単である。
  • このことを利用して、サービスがバージョンアップしてもSDKの入れ替えなしで新しいサービスが使えるようになる

ということである。

いうなれば、ネイティブアプリにWebサービスをMushUpするような感覚だ。
この構成は開発者の負担を減らしつつ、ダイナミックなサービス更新が可能であると考えている。

ひとりドライブ


午後から思いがけず時間ができたので、ひとりで南房総をドライブ。
白浜に着いたときは日が暮れていた。

やっぱり南房総は良いなぁ〜

いくら最終日とは言え、ゴールデンウィークに閑散としてるよ・・・

この混んでいない感じがすごく好き。

DotCloudからの返信

DotCloudのベータに参加希望を出したら、こんなメールが来た。

Hi there! Thanks for your interest in DotCloud. We're working hard to make your cloud deployments a breeze. We'll get back to you very soon with an account!

Don't hesitate to reply to this email if you have any questions. If you're in Paris or the San Francisco area, get in touch! We'd love to discuss in person how we could best help you. Drinks are on us.

Kind regards,

The DotCloud team

こういうノリはキライじゃないなぁ。
Appict.meもこんな風に運営したい。

Desire X06HTを買ってきた

deadbeef2010-04-27

Android端末であるDesireが発売になったので購入した。


予約してあったので、スムーズに買う事ができた。でも、買えなかったという話も聞かないので、予約しなくても買えたのかな?


ハードウェアは先日会社で購入したNexusOneにそっくり。違う点は

  • 画面下部のソフトキーがなく、ハードウェアキーに
  • トラックボールもセンサタイプに
  • 付属するSDカードがNexusOneは4Gなのに、Desireは2G
  • NexusOneに入っていたオマケの音楽も入ってない
  • NexusOneに付属するソフトケースもついてない
  • 箱がちっさい。NexusOneのかっこいい箱が省略されている。
  • でもACアダプタはDesireの方がカッコいい。

全体的にNexusOneより安っぽくなっている。


ユーザインタフェイスは非常に速い。サクサク動く。これまでのメイン携帯であるiPhoneは3Gということもあってモッサリ感じられるようになった。
夏に出る新型iPhoneは相当スピードアップしてくれないと困るね。これならSIMを差し替えてDesireをメイン端末にしようと思ったけど、DesireのSIMはソフトバンクの通常のSIM(白いやや大きいSIM)で、iPhoneは専用の黒くて小さなSIMなので、差し替えられないらしい。残念。


iPhoneの使い心地と比べると、環境の完成度が大きく落ちるように思う。iPhoneは良くも悪くもiTunes経由でないと使えないから、ユーザはまずiTunesを設定するして、アドレスを同期したり、アプリを探したりする方法がすぐにわかる。母艦がMacでかつMobileMeに加入しているともっとスムースで、アドレス帳、メールアカウントからSafariのブックマークまでリアルタイムに同期している。


でも、AndroidだとHTC SyncはWindowsでしか提供されていないみたいだし、マーケットも沢山あるから、なにをどうして良いのか良くわからない。
Googleのアカウントを一度入力すればすべて同期するのかと思ったら、そうでもないみたい。DesireでGoogleカレンダーにアクセスしたら「お使いのブラウザではフル機能は使えない」と出てきた。同じGoogleなのに!そのメッセージのがっかり感はないだろう。


いまいくつかのアプリをインストールして、Googleのマップとかカメラ関係、ネット巡回はDesireに移行しようかと思っている。本当はテザリングのソフトをインストールして、Macbook Airのモバイルでの接続を行いたいと思っているけど、Desireはまだroot化の手順が公開されていないので、待っている状態。


開発環境等のセットアップはまた次回に!

iPhone OS4.0を3Gに入れてみた

iPhoneデベロッパにβが公開になったので、OS4.0を自分の3Gに入れてみた。


入れるのは簡単で、iTunesでOption+復元ボタンで現れたダイアログでダウンロードしたipswファイルを指定すればOK。


で、どうなったかっていうと・・・


僕のiPhoneは3Gなんで肝心のマルチタスク関連はテストできず・・・
まぁスイッチ機能以外は対応アプリケーションがないと意味ないしね。
すこし解った事は

  • メールはぜんぶのアカウントのメールが入る受信箱が追加された
  • メールのスレッ-ド表示もできる
  • 電卓のアイコンが変わった(意味はあまりない)
  • 壁紙が替えられる
  • 時計がNTPとシンクするようになった(当たり前だけどうれしい)
  • カメラがズームするように!(3Gでも!)

ぐらいかなぁ。


3G使い続ける意思があるひとはもちろんバージョンアップした方が良いと思うけど、新しいiPhoneが出たら普通それ買うよね。
いますぐにでもバージョンアップしたい!とは思わなかった。
カメラがズームするって、考えてみればソフトで処理してるだけだから、取った後でトリミングしてもいいわけだし。


βということで、全体的にはまだ不安定で、1日使って夕方には音楽再生も出来なくなってしまったので、OS 3.1.3に戻しました。
この作業が面倒くさい! またiTunesで3.1.3のipswから復元すればOKかと思ったんですが、エラーでまくり。
空っぽのiPhoneになってDFUモードから進展せず。文鎮になってしまったかと焦りました。メイン携帯なのに。


グーグル先生に聞いて、iRecoveryというツールを発見
これで元に戻ったけど、この作業って普通にコンソール使える人じゃないと出来ないなぁ。
上記のページにはfsbootで再起動するみたいに書いてあるけど、ぜんぜんブートしない。本当はset auto-boot true、saveenv でiPhoneのブート情報を書き換え、/exit でiPhoneを取り外す。リブートすれば、アクティベーション・モードになるので、iTunesが起動していれば、自動的にアクティベーションされ、復元が完了する。という手順になる。


知らんがな。今回はJailBreakした訳じゃなく、正式に手に入れたβなのにすごい面倒。
もうしないかも。