iOS VS Androidに、新たにWindowsPhoneが本格参入

スマホ3つどもえ時代到来!開発スタイルの特徴比較

今年に入って急速に普及しているスマートフォン。市場の盛り上がりに合わせて、スマホ向けのアプリ開発ニーズも活発化している。その上、8月から日本でも本格的な販売をスタートさせた「WindowsPhone」の登場によって、今後さらなる開発競争が予想される中で、「iPhone(iOS)」「Android」と合わせた3つの、スマホ主要OS別の開発スタイルの特徴について探ってみたい。

2011年10月12日

WindowsPhone、iPhone 4Sの発売でさらに過熱するスマホ市場

2008年、日本で発売された「iPhone 3G」、さらに翌年の「iPhone3GS」の登場を機に、日本におけるスマートフォンの普及が急速に高まっていく。
一方、iPhoneの独占場になりつつあったスマートフォン市場に昨年、米Googleが中心になって開発した「Android OS」を搭載したスマートフォンが急速に普及。その勢いはiPhoneを上回るほどで推移しているのは、すでにご存じの通りだ。
そこに今年8月、先行する「iOS」「Android OS」に対抗する第三勢力となる、マイクロソフトの「WindowsPhone OS」の最新版を搭載したスマートフォンが発売。そして今月、新たに「iPhone 4S」をアップルが発表したことで、今後さらにスマートフォン市場は過熱していく様相を呈している。
そこで今回、WindowsPhoneの本格展開を機に、3つのOSそれぞれの、アプリ開発者の視点から見た特徴やメリット・デメリットについて、以下の4名の方のご意見を元にまとめてみた。

石谷伊左奈氏(イサナドットネット株式会社 代表取締役)
藤瀬邦彦氏(イサナドットネット株式会社 ソフトウェアエンジニア)
長瀬敦史氏(株式会社リトルアプス 代表取締役 ソフトウェアエンジニア)
舩見高貴生氏 (株式会社リクルート メディアテクノロジーラボ チーフエンジニア)

iOS Android WindowsPhone 3つのキャリア別開発スタイルの特徴

まず、3つのOS別の特徴について以下のようにまとめてみた。

iOS
Objective-C という、一般的にはそれほどメジャーではない言語で開発するというスタイル、またApp Storeの厳しい審査を受ける必要があるなど、初心者などにとっては敷居の高い開発環境ではあるものの、Appleならではのデザイン性やクリエイティビティの高いUIや緻密に計算されたOSの完成度の高さを評価する声は多い。
また、「そろそろ」という絶妙なタイミングで新技術やサービスをリリースするなど、Appleならではの戦略が、開発者のさらなる開発意欲の喚起を引き起こす点が、他のOSにはない魅力だ。

Android
開発の自由度が高いが故のメリット&デメリットが多々あることが、Android最大の特徴。その中でさまざまなアプリや機能・情報を吸収・整理しつつ、最適な活用スタイルを確立させることが、質の高いアプリを生み出す重要なカギを握る。そのため、技術者の設計力や組み合わせのセンスが求められる。
逆にいえば、どのように作ることが正解なのか模索しながら設計・実装していく開発スタイルに、面白さがある。またどれだけシンプルな設計かつ高精度&拡張性を維持するか、という高いテーマを掲げて開発に挑戦する魅力もある。

WindowsPhone
歴史が浅く開発者も少ないため、情報が少ない・サポート体制が不十分・iOS Android OS向けアプリと同じような動作が保証されているのか、といった問題点もある。
しかし裏を返せば、まだまだ使っていない機能が多々あり、さらに最新版の7.5がリリースされたばかりであるため、これから新機能を使って開発してみたい技術者にとっては、魅力的なプラットフォームといえる。
その上、世の中に数多く存在する.netやC♯のMS系の言語開発経験者にとって、慣れた環境で開発できるメリットを活かせば今後、iOS やAndroid OSに十分対抗できるほど、大きな市場に飛躍するチャンスがある。

そこで、次の項目からはさらに踏み込んで、3OS別のアプリ開発の視点から見たメリット&デメリットについて紹介していきたい。

iPhone(iOS)向けアプリ開発の特徴

メリット
・良質かつクオリティの高いアプリが多い
・iPhone 1機種のみに対応すればいいので、開発の手間が省ける
・UIの作りこみに関しては、iOSに分がある。
・ページをめくる機能の“芸の細かさ”やデザインそのものに対する、クオリティ・アイデンティティの高さ
※今月リリースされる「iOS 5」によるメリット
・先述したページをめくるアニメーション機能のSDK(ソフトウェア開発キット)が開放されたことで、アップル以外の開発者でも容易に開発できるように
・コンテンツのバックグラウンドでの自動更新&アイコンの差し替え・・・例:Newsstandでは、アプリの更新時に自動的にアイコンが変えられるので、毎日新しい朝刊が届くごとにアイコンが変わる、といった仕組みが作れる
・Twitter連動
 

デメリット
・Objective-C メモリ管理などしっかりと自分で作りこまないと機能しない メモリの解放を適切にする意識が常に求められる
・App Storeにより厳しい審査
・OSの情報量が非常に多いため、理解して使いこなすための勉強が必要
※iOS5が現在、ベータ版であることのデメリット(正式版のリリースで、かなり解消される可能性がある)
・ベータ版の場合はNDAがあって、ブログ等で情報共有ができない
・ベータ利用ユーザー向けの専用の掲示板があり、活発ではあるものの、情報量としては限られているため、ベータ段階での開発はかなりハードルが高い。またバグもあるため、さくさく進まない
・ベータ段階では、リファレンスはあるが、サンプルコードが少ない。特に実際に動くサンプルが少ないため、実装速度がなかなか早くならない(※ただしWWDCのビデオやスライドにサンプルコードがあり、ビデオを見れば解決できることも多い。しかし200本くらいあるので、全部チェックするのは大変)

Android OS向けアプリ開発の特徴

メリット
・アプリ間の連携の自由度が高い。各アプリ間の連動がシームレス(例:Google Mapと、自分の位置機能Mapを連携させる)インテント機能により、マッシュアップのように協調してアプリを成長させることが可能
・Junit(テスティング・フレームワーク)が動くため、UIもテスト可能
・Twitterアプリとの連携も可能
・何かアプリを作るとき、不得意な分野の機能に関しては他のアプリと連携してフォローしてもらい、得意分野の機能開発に集中できる
・アプリケーション開発に必要なライブラリのAPIは、そのほとんどが公開されている、なおかつ、デバイスの持つさまざまな機能に自由にアクセスすることが可能
・Dalvik VMを搭載するQEMUベースのエミュレータが高性能
・Javaの知見が蓄積されている&オープンソースであるため、コードを見ればトラブルなどの原因を追及できる
・adbというツールを利用すれば、PC上から端末そのものにシェル接続し、システムレベルで管理可能

デメリット
・複数のメーカーから発売され、中には独自のフォーマットにカスタマイズさせた機種もあるため、画面サイズや解像度やOSの動きなど各種仕様の違いから、同じAndroid OS搭載機種でも、機種ごとにアプリ動作を最適化〜検証〜カスタマイズさせる手間がかかる
・特に画面レイアウトの作成や画面間でのパラメータの受け渡しに手間がかかる
・自由がある分、未成熟な部分もあり、iOSの優れたデザイン・インターフェースに比べると未完成の印象が強い UIがきれいに動作しないケースも

WindowsPhone OS 向けアプリ開発の特徴

メリット
・これまでのモバイル向けOSである「Windows mobile」を一旦取り止め、ゼロから作り直したことで、開発者としては作りやすい機能を持つ
・6.5までの動作がもっさりしていたのに対し、7.1以降に関しては非常に軽快な動作かつスマートなUI(直観的)で、開発者としては作りやすい環境。特に「パノラマビュー」や「ピボットビュー」等、iOSやAndroid OSにはないUIコンポーネントがあることで、どのようにこれらの機能を使い分けてアプリ開発に活かしていくのか、挑戦できる面白さがある。
・「ネイティブアプリ」を活用することで、アプリ開発の負担が軽減できる
・.netやC♯、Silverlightで開発できるので、経験者には作りやすい。MSならではの開発環境があるので、Windows PC向けの開発経験のある技術者にとっては、なじみやすい。
・Silverlightの機能を使用すると、多様なUIのアニメーションを作成できるので、これをアプリにどう落としこんでいくかが課題。またXNA上にSilverlightのコンポーネントを乗せることが可能に(ver.7.5から)。そのため、例えば「3D描画はXNA、ボタン等はSilverlightで実装する」ことが可能に。
・iOSと同じように、MSによって基本スペックやフォーマットが決まっているため、シンプルに作ることができる

デメリット
・まだ歴史の浅いOSであるが故に、以下のようなデメリットや懸念点も。
・サポート体制がまだ整っていない。またコミュニティ活動も活発でない
・ブラウザがHTML5に対応していない(※7.5からIE9ベースのブラウザとなったため対応している。ただしまだ非対応サイトも多い)
・iOSやAndroidと同じアプリをWindowsPhoneで出す場合、UI設計で苦労する可能性がある。また複雑なアプリや大量データを処理するアプリの場合のレスポンスの悪化、悪化した場合のパフォーマンスチューニングで苦労するのでは、といった懸念点

以上、3つのOS別アプリ開発における特徴について探ってみたが、開発者視点で見ても今後、それぞれのOSにおいて大きな変化や進化が起こることは間違いない。そしてどのOSにおいても、開発者にとって挑戦しがいのある時代がすでに幕を開けているといえよう。

スマートフォンアプリ開発に関連する求人情報

あなたのスキル・経験に注目した企業から声が掛かる
リクナビNEXTスカウト活用のススメ

「自分のスキルやキャリアはどう評価されるのか?」
そう思ったら、リクナビNEXTスカウトに注目を。自身のスキルとキャリアプランを記載した匿名レジュメを登録しておけば、その内容を評価した企業からオファーが届きます。その際、今の業務範囲やスキルレベル・志向性を、レジュメ内に明確に記すことがポイント。
もしかしたらあなたの理想とする企業からピンポイントでオファーが届くことも。チャンスを逃さないためにも、今すぐ登録してみましょう!

スカウトに登録する

EDIT&WRITING
山田モーキン

会員登録がまだの方

会員登録(無料)

会員登録がお済みの方

「今すぐ転職」にも「いつかは転職」にも即・お役立ち!リクナビNEXTの会員限定サービスに今すぐ登録しておこう!

1転職に役立つノウハウ、年収・給与相場、有望業界などの市場動向レポートがメールで届きます

2転職活動をスムーズにする会員限定の便利な機能

・新着求人をメールでお届け

・希望の検索条件を保存

・企業とのやりとりを一元管理など

3匿名レジュメを登録しておくとあなたのスキル・経験を評価した企業からスカウトオファーが届きます

会員登録し、限定サービスを利用する

※このページへのリンクは、原則として自由です。(営利・勧誘目的やフレームつきなどの場合はリンクをお断りすることがあります)