iPhone 対 アンドロイド 開発者メモ書き
この夏はずっとスマートフォンアプリ「蕎麦道なび」を開発してました。端末アプリ開発は仕事ではめったにやらないので、新鮮で面白かった。
スマートフォン(携帯)のプラットフォームはけっこうたくさんある。どの携帯向けに開発するか、このなかから選ぶ訳です。それぞれにまったく異なる方式なのが悩みのたね。
●iPhone ( iPhoneOS 3)
●ブラックベリー(RIM)
●アンドロイド (Android 1.6 )
●Symbian(NOKIA)
●iアプリ(DoCoMo)
●EZアプリ(au)
●S!アプリ(softbank)
日本の携帯会社(DoCoMo, au, SB)のアプリ、いわゆる「ガラケー:ガラパゴス携帯」向けのアプリ開発は、どれも閉鎖的でいまひとつやる気にならない。開発環境や仕様が各社個別なので、苦労して開発してもせっかくの知識が広く生きない。なのでパス。
Symbianは、現在私が使っているノキアのプラットフォームなのでなんとなく親しみはあるのだけど、昨年ノキアが日本から撤退してしまったので、これもパスですね。
ブラックベリーにはとても興味ある。米国では大きなシェアを持っているし、セキュリティに強いのが魅力。独自の暗号機能をもっているので、盗聴される可能性が低いためビジネスマンに人気なのだ。ドコモから買えるけれど日本ではものすごい少数派なので、これもパス。
となると、必然的に「iPhone」「アンドロイド」が残るわけです。
----------------------
iPhoneとアンドロイドの売れ行きや使い方については、いろいろ解説した記事がたくさんあるので、私は、開発者としての立場から両者を比較してみたいと思う。
私はiPhoneユーザなのでどうしてもiPhone寄りの評価になることを割り引いて読んでください。アンドロイド派の人、怒らないでね。
----------------------
費用
初期にかかる設備やライセンスの費用、趣味で開発する人には一番気になるところです。
iPhone:インテルCPUのMac、アップルへのデベロッパ登録(年間10,800円)が必要。
アンドロイド:Mac,Windows,Linuxに対応、アンドロイドマーケットへの登録費用(初回のみ2,500円)が必要
初期費用はアンドロイドの勝ちのように見える。私はMac持ってないので中古品を9万円で購入した。ただし後述のとおり、アンドロイド開発環境を快適に動かす為には「ものすごく高速」なPCが必要なので、結局は新しいPCを買うはめになるかも。
----------
これとは別に、試験用の端末が必要。
iPhone:iPhoneもしくはiPod Touchが必要。Touchならば比較的安価で回線契約不要。
アンドロイド:アンドロイド携帯が必要。Xperia、Desire、IS01など。
iPod Touch(2万円〜4万円)が使えるので、iPhoneの勝ち。中古が安く入手できるのがうれしい。もちろん電話やカメラなどのiPhone特有の機能を使うにはTouchでは開発不可能です。
アンドロイドは携帯を新規に契約するか、SIMロックフリー版を購入する必要がありこれが結構高価(4万円〜6万円)、流通量が少ないので中古も高い。
総合的にみると両者引き分けだと思う。
----------------------
開発環境構築
アプリを開発するためには、PC or Macに開発専用のソフトをインストールする必要があります。iPhoneならば「Xcode」、アンドロイドは「Eclipse+Java+AndroidSDK」
iPhone:Xcodeはアップルの登録デベロッパ専用サイトからダウンロードできる。インストールはインストーラをクリックするだけで簡単。最新版は常にアップルが管理してるので迷わない。バージョンアップも同様に簡単。
アンドロイド:Eclipse、Java、AndroidSDKのどれもがフリーソフト。それぞれ別の会社(団体)のサイトからダウンロードする必要あり、バージョンがいろいろあって迷う。インストール手順が複雑でわかりにくい。私はメニューの日本語化の不具合でものすごくハマって、結局英語版のまま使うことになった。
特記すべきは、アンドロイドの開発環境の動作がものすごく遅いこと。Eclipseも遅いが、それ以上にシミュレータが遅くて、起動するのに1分くらいかかる。起動後のシミュレータ自体の動作も遅い。Core2Duo2.4GHzのPCでも快適とはいえない速度。PCを最新のCorei7とかにすれば解決するんだろうけど、それではせっかくの無料開発ソフトも意味ないよね。
Xcodeは最初期のインテルMac(CoreDuo1.6GHz)で十分快適に動いてます。
ということでiPhoneの勝ちだと思う。アップルが完全に管理してるので安心。簡単。動作も速い。
----------------------
言語
iPhone:独自のObjective-C言語を使う。smalltalk風のC++というような独特の言語仕様で、ほぼAppleだけが採用する。もともとNeXT Step用に開発された言語です(懐かし〜)。ああ、そうか!MacOSXはNeXTなんだよねー、と実感させる瞬間ですね。
アンドロイド:Javaを使う。言語仕様はJavaだが、インタプリタはJavaVMではなくてアンドロイド独自のDalvikVMというもの。なので他のJava環境で開発したクラスが動く訳ではないので要注意。
Objective-Cは非常に独特で慣れるのに時間がかかる。面白いというかとっつきにくい機能に デリゲート(delegate)がある。大雑把にいえばイベントハンドラのようなもので、クラスメソッドを細かく実装せずにコールバック機能を使えるもの。慣れるとこれが便利だけど「いったいどこで動作してるの?」みたいな気持ち悪さがある。。
Javaはかなり普及した言語なので、楽です。これが最大の利点。コンテキスト(今何をやってる状況なのか)を明示して実装する必要があるが、これはこれで自分でコーディングするのでしっかり理解してればわかりやすい。
Objective-Cは先進的だけど、慣れ親しまれたJava(アンドロイド)の勝ちかなあ。
----------------------
機能
iPhone、アンドロイドともに、携帯にある機能はほぼすべてプログラムできるようAPIが公開されてるようです。一部しか検証してないのでそれほど詳しくないです。
新機能追加の余地が大きいアンドロイドが優勢だと思う。各社個性的なハードウェアを開発してますからね。ただし、そうなった場合、開発者は千差万別あるいは未知のハードも考慮しなければならないのでたいへん。iPhoneならばハードが限定されてるので楽です。
----------------------
アプリの公開方法
iPhone:アップルの App Storeに登録・公開する。公開に事前審査がありまして、ポルノやアダルトコンテンツは却下されます。また、ソフトウエアの品質もチェックされ、バグが多いものも却下されます。審査には1週間から3週間くらいかかる。開発用器材の登録認証が必要で、これが面倒。試験用のiPhoneやMacを1台毎にアップルに届けなければならない。
アンドロイド:アンドロイドマーケットに登録・公開する。事前審査まったくありません。ノーチェックらしいです。特定ハードウェア依存度の高いソフトは却下されるとの情報もありますが詳細不明。開発機材の登録不要。
事前審査はある程度必要かと思います。けれども開発機材の登録はとても面倒。一度構築したら二度とやりたくなくなる。これはどうにかしてほしい。なのでアンドロイドの勝ち
----------------------
アプリへの課金・広告掲載
iPhone:App Storeに銀行口座を登録すれば売り上げが振り込まれます。以前は米国の納税者番号が必須でしたが、今年になって緩和されました。アプリ内課金もできるがまだ未整備。iAd広告、いまだに広告主少ないのが大問題。
アンドロイド:こちらも同様に銀行口座を登録するだけ。特筆すべきは、ドコモマーケットやauマーケットの存在ですね。ドコモマーケットに登録すれば、アプリの使用料金がドコモの電話料金に加算して請求されるので、従来のiアプリと同様に毎月定額の料金徴収ができるん。これはとっても重要。
料金回収方法の多様さではアンドロイドの勝ち
----------------------
結論
アップル一社によって管理された完成度の高いiPhone、かたや、規制は最小限に、複数社の競争でいくらでも発展の余地があるアンドロイド。これは10年前の Macintosh 対 Windows の図式とほぼ同じです。前回のラウンドではWindowsが完全に勝利しましたが、スマートフォンではどちらが勝つのか。
前回の図式でいえば、アンドロイドに分がありそうだと思う。多勢に無勢というやつです。今回もそれが繰り返されるのか?私はそうは思っていません。
見逃してならないのは、アップルにはiPhoneだけでなく、iPod Touch、iPadがあることですね。実際の携帯の販売台数以上に iPhoneアプリの動作する環境は多いんです。スティーブジョブズが言ってましたが、iPod Touchは「世界で一番売れている携帯ゲームマシン」なんですね。
また、Windows圧勝の立役者は、実は「マイクロソフト・オフィス」だったんですよね。ワードやエクセルが使いたいためにWindowsを買うはめになりました。しかし、スマートフォンにはそれほどのキラーアプリがありません。閲覧主体なのでブラウザでたいていのことはできるから、携帯の機種やOSに依存することもない。。
なので、今回のラウンドはアップルが惨めに負ける可能性はだいぶ低いと思ってます。おそらく、アップル1社 vs アンドロイド連合軍がいい線で拮抗するのではないでしょうか。アップルだけが市場を独占するのは好ましくありませんので、アンドロイドも頑張って競争して、両者が共存するのが望ましいと思います。
首都圏1300店の立ち食いそばやの地図情報を網羅。路麺ファン必携の無料iPhoneaアプリ「蕎麦道なび」、ダウンロードはこちら。使ってみてね。
アンドロイド版もできました。ダウンロードはこちらから。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- TypeScriptあるいはES6(2016.07.03)
- 【備忘録】 Cordova でXcodeにエラーが出る(2016.05.20)
- キーボード交換(2016.04.23)
- 蕎麦道なび、Windows10 PCでも使えますよ(2016.02.22)
- AngularJSについて(2016.02.21)
この記事へのコメントは終了しました。
コメント
●おねpさん
そのとおりなんです。
Objective-Cが唯一の関門なんですが、それ以外はiPhoneの環境はとても魅力的です。アップルがしっかりかんりしてくれてますのて。
アンドロイドはバージョンが1.5,1.6,2.1,2.2と、現時点で4つもあって、携帯4つも買えないし、とてもサポートできないなあとも思います。
投稿: ケビン | 2010年9月 5日 (日) 21時20分
iPhoneはアプリが山ほど出てるので、てっきりJavaで開発できるもんだと思ってました。
みんなObjectiveCなんて面倒なもの覚えて書いてたんですね~。感心々々。
そうか~。取り敢えずはじめるにはアンドロイドのほうが敷居が低そうですね。
って、携帯買い換えなきゃなんじゃ敷居が低いとはいえないか~。
投稿: おねp | 2010年9月 5日 (日) 20時27分
●舞栗さん
江ぐちは、みたかなんですね。
昼から飲めないのは残念ですけど、いってみたいなあ
投稿: ケビン | 2010年9月 5日 (日) 19時35分
昔システム担当を2年経験しておきながら、所々に見慣れた文字を見つけるものの、全体として何が書かれているのか全く理解できましぇん(汗)。
共有できる情報があるとすれば、『「江ぐち」改め「みたか」は、ご贔屓さんが引きも切らず、昼時の「取り敢えずビールと焼豚皿」オーダーは昼時にはご遠慮いただきたい状況にある。』ということでしょうか。
投稿: 舞 栗 | 2010年9月 5日 (日) 19時05分
●たけさん
SRX、残念なことをしましたね。
怪我がなくてなによりですが。
近いうちに、どこかで甲斐猫さんも交えてお茶でもしましょう。
三鷹駅北口の立ち食いそば屋「さとう」はどうですか?
復活したラーメン屋「えぐち」でもいいですね。
投稿: ケビン | 2010年9月 5日 (日) 17時14分
●甲斐猫さん
えっ、甲斐猫さん、わりと正確に私のプロファイル把握してますね。
つい先週までは、自分のことを
「恋とバイオレンスに命を賭ける、イケメン天才ギャンブラー」
だとばかり思っていたのですけどね。
投稿: ケビン | 2010年9月 5日 (日) 17時12分
もうね、いよいよ頭パンクしそうなくらい凄そうなんでぽちっと
あ、とりあえず一旦バイクは降りますけどどっかで会っておしゃべりしませんか~
投稿: たけ | 2010年9月 5日 (日) 11時55分
うむむ…渾身のレポート、開発言語の難しい言葉は解りませんが、勢力図と背景は手に取るように分かりました。しかし、ソフトの開発って難しそう…。いろいろな外国語覚えなきゃ行けないみたいなもんですね。
やー、ケビンさんてバイク乗って遊んで、蕎麦に取り憑かれた変なオジサンってだけじゃないんだな、すごいですよ。
今度から三歩下がって影を踏まないようにします(笑)
投稿: 甲斐猫 | 2010年9月 5日 (日) 10時54分