ウェブサイトを作れる人なら、ちょっと勉強すれば、iPhoneやiPadはもちろん、Androidのアプリも作れる。
そんなステキなもののお勉強、はじめました。
ウェブデザイナーとアプリ開発の橋渡し役
「PhoneGap」(フォンギャップ)は、その名のとおり、スマートフォン向けのアプリをつくるときに特有のギャップ=「溝」を埋める目的で作られたフレームワークです。
平たく言うと、ソフトを作るためのソフト。
ただいま準備中の阿部書店では、いきなり紙の本を大量に売り出す予算とネットワークは無いので、最初は小さめの電子ブックをドンスカ発売するつもりです。無料・有料を織り交ぜて。
そこで電子ブック程度の紙芝居的なアプリ制作には必要十分な、これを勉強してみることにしました。
PhoneGapは、ウェブデザインならできるあなたを、次のようにサポートしてくれます。
埋まるギャップ その1:ウェブデザイナーならアプリをつくれる
PhoneGapが埋めてくれる溝は2つあって、1つ目は「プログラミング能力」のギャップです。
ブラウザーだけで見るウェブサイトと違い、スマートフォンやMac・WindowsといったOS上で動く「ネイティブ」ソフトの開発には、それなりのプログラミング経験とお勉強が必要です。
実際にやってみるとわかりますが、ド素人やウェブデザイナーには、この壁は極めてぶ厚く、そして堅い。私はウェブ上で動くプログラミングなら少しは自信がありましたが、途中で挫折し、インドの開発会社に「Life Aid Kit」というアプリの制作を20万円で外注したりもしました。
PhoneGapのはじまりは、ずばり「ウェブデザイナー達でもアプリを簡単に作れる」ようにするという目標だったといいますから、まさに世のウェブ屋さんにぴったり。
HTML5、CSS3、JavaScript。この3つを使いこなせるプロならば、PhoneGapさまのお助けにより、正当派アプリ開発に比べ、極めて短い勉強時間でアプリを作れます。
PhoneGapが提供するスマートフォン機能(カメラ、加速度センサー、アドレス帳、ファイル保存、メディアなど)を使うためのコマンドを覚えればOK。
レベルの高い方なら、ブラウザーで動くテクノロジーを組み込むこともできるので、jQueryやjQTouchのような、JavaScriptフレームワークを使うこともできます。
ギャップ その2:iPhoneとAndroid版をいっぺんに。全7種のクロスプラットフォーム対応
二つ目のギャップは、異なるスマートフォンOS向けに同時に開発するという、絶壁。
iPhoneとAndroidではプログラムの書き方が全く違うので、自分で作ろうということになると、かなりの時間をかけて両方の勉強をしなくてはならなくなります。
プログラミング専門家でもない仕事人に、そんな時間があるはずはざぁない!
ソフト開発の世界は刻一刻と変化しているので、集中して勉強したらおしまい、というわけにもいきません。一度手を染めたら、終わり無き旅路となることをお覚悟くださいませ。
PhoneGapを使えば、基本的には1つアプリを作り、変更を少々ほどこす程度で、iPhone/iPad、Android、Windows Phone 7、BlackBerryといった主要なスマートフォンすべてのアプリに書き出すことができます。
スマートフォンに内蔵されているウェブブラウザーで表示できるサイトを、ひとつのアプリにして、さらにカメラや加速度センサー・ファイル保存・簡単なデータベースといった機能を使えるにようにしたものなので、違うOSでも同じ結果を得やすいというわけです。
当然のことながら、通常のウェブサイトと同じテクノロジーで作っているので、パソコンや、スマートフォンのブラウザー向けにも公開できます。
さらに、驚くべきことに、AppleやGoogleが提供するSDK(アプリ開発のための専用ソフト)を使わなくても、ネイティブアプリへの変換をすることが可能です。スマートフォン対応させたHTMLデータ/Webアプリを「PhoneGap Build」というクラウドサービスにぶちこむと、7種類のプラットフォーム向けに書き出しが可能です。
どの程度のアプリまでPhoneGapでいけるか?
すんません、まだ勉強中なので未知です。
とはいえ、JavaScriptでつくれて、スマートフォンの基本機能やデータベースを利用する程度なら、まず全部実現可能でしょう。
複雑な機能の部分だけは、難しい書き方のプログラムを書き足して補うということもできるのだろうと想像。派手なグラフィックや、OSの細かい機能へのアクセスが必要なアプリは、現時点では難しいと考えておいた方がよいでしょう。
私の用途では、電子書籍+αまでは自前でPhoneGapを使って作り、それ以上は、去年のようにインドに発注(または少し高いけれどもレベルが高い「東欧」)する手法で行く予定です。
期待できる将来性。Adobeが買収、ソースコードはアパッチ財団へ寄付
スマートフォン向けの開発環境は、流行り物なのでいろいろありますが。わたしが時間をかけてPhoneGapを勉強しても良いかなと思った理由のひとつは、2011年に開発元のNitbi社をAdobeが買収し、ソースコードをアパッチソフトウェア財団に寄付したこと。将来性とユーザー数の多さです。
Adobeは少し前まで、Flashで作ったソフトをアプリに変換する機能を推進していましたが、どうも、スマートフォン向けのFlashの雲行きが怪しくなってきたので、HTML5によるスマートフォンアプリ製作を推し進めようという空気がプンプン漂っています。
Adobe Dreamweaver CS5.5以降に、PhoneGapを使ってアプリ開発をする機能が内蔵されていて、CS6ではさらに便利になったそうです。ソフト内から動作チェックもでき、「PhoneGap Build」とも連携しているそうなので、あたかもSDKのようなスタイルで製作ができそう。本当に使えるのかどうかは、近く試してみるつもりです。
どこでお勉強するか? 現在のハードルは「英語」
PhoneGapは猛スピードで進化していて、アメリカの解説書でさえ出版が追いついていません。よって、ウェブデザインの能力以外に「英語を読めること」は必須条件です。解説本や、本家サイトを利用して。
日本で売られてる本の中には、HTML/JavaScript/CSSを使った独自手法のでアプリ開発の本はいろいろ出ていますが、PhoneGapを扱ったものはまともな本が皆無です。日本の専門書は、アメリカから1~2年に出る傾向にあるので、しばらく待てば、ちょろちょろ出てくるでしょう。
PhoneGapは、最新版Dreamweaverの売りの機能のひとつなので、近く、解説書の一部として登場する可能性もあります。
わたしの場合、技術系の本の多くはAmazonのKindle版を買っています。PhoneGapの勉強に使っているのは「Beginning PhoneGap」(Wrox刊)。米国のAmazonでは選択肢も多いですが、前述のように内容が古いものも多く、できるだけ新しいものを買いましょう。
PhoneGapの公式サイトのマニュアルも覗いてみてください。