Page 1
iOSとAndroid OSの⽐較
平成24年度⾃主勉強会<スマートデバイスのアプリケーション開発>Dグループ
プレゼンター
プレゼンテーションのノート
本日は貴重な時間を頂戴しありがとうございます。 これよりスマートデバイスのアプリケーション開発 Dグループの「iOSとAndroid OSの比較」を発表します。
Page 2
スマートデバイスのアプリケーション開発
Dグループ
志村
浩(ユニテック)辻
裕輔(TOKAIコミュニケーションズ)
朝⽐奈
隆太(TJS)栗⽥
⼀樹(TJS)
メンバー紹介
プレゼンター
プレゼンテーションのノート
まず始めにDグループのメンバーの紹介をします。 株式会社ユニテックの志村、 株式会社TOKAIコミュニケーションズの辻、 株式会社ティージェイエスの朝比奈、 同じく株式会社ティージェイエスの栗田、以上4名です
Page 3
⽬次
1.はじめにー調査の背景2.iOSとAndroid OSの⽐較3.Android OSの懸念点4.まとめ
プレゼンター
プレゼンテーションのノート
今回のプレゼンテーションでは以下の順に発表 を行います。 まず始めに、スマートデバイスを代表するOS、iOSとAndroid OSについて様々な観点から比較を行います。 次に、比較の結果我々はAndroid OS向けの開発を推奨するに至ったのですが、そのAndroid OSの現状の 懸念点と対策、Googleの取り組み等について発表します。 最後に、内容をまとめます。
Page 4
はじめに〜調査の背景
・スマートフォン・タブレットなどのスマートデバイスが 急速に広まっている
・今回の⾃主勉強会に参加したメンバーからも “「タブレット向けにアプリを開発して欲しい」という
顧客からの要望がある”と発⾔があった
・今回私達のグループは現在⽇本でシェアを2分している iOSとAndroid OSについて調査し、いずれのOS向けに
アプリ(サービス)を開発するべきかを調査した
プレゼンター
プレゼンテーションのノート
昨今スマートフォンや、タブレットなどのいわゆるスマートデバイスが急速に普及しています。 ソフトウェアの開発はPCを使用することが主流ですが、ユーザーがソフトを利用するプラットフォームとして、 スマートデバイスは無視できない存在となっています。 この勉強会でも、各メンバーが「自社でもタブレット向けにアプリケーションを開発して欲しい」と 要望を受けたという話題が上がりました。 我々Dグループは日本でシェアを2分しているスマートデバイス向けOSであるiOSおよびAndroid OSに対し、 いずれのOS向けにアプリケーションまたはサービスを開発すべきか、様々な観点から調査を行いました。
Page 5
iOSとAndroid OSの差異
観点:OSのシェアの⽐較
プレゼンター
プレゼンテーションのノート
まず、アプリケーションを発売する土台となる、OSのシェアについて比較しました。 2012年5月時点で日本国内ではAndroid OSのほうがわずかにiOSより普及している、 という結果となりました。 全世界のシェアも日本のシェアの比率とほとんど変わりません。 理由はあきらかで、iOSを搭載したスマートデバイスはアップルからのみ発売されている 一方、Android OSは国内外の多様なメーカーから発売されている点が挙げられます。 特定の企業に依存しないという点でも、Android OSはiOSと比べ有利と言えそうです。
Page 6
iOSとAndroid OSの差異
観点:端末価格と開発環境構築までにかかる費⽤の⽐較
iOS Android OS端末価格 ・iPad
Wi-Fiモデル
16GB 42,000円
・iPad
mini Wi-Fiモデル
16GB 28,800円
・Xperia
Tablet Sシリーズ
16GB35,000円
・Google nexus7 16GB19,800円
開発環境構築までにかかる費⽤
・Macのみで開発可能
・Mac⽤のIDE「xCode」を利⽤
・IDE,SDKは有料(開発者登録を⾏えば無料に)
・Windows,Mac,Linux等で開発可能・フリーのIDE「Eclipse」が
利⽤できる
・Android SDKは無料
・開発環境構築までにかかる費⽤はAndroid OS向けのほうが安価
プレゼンター
プレゼンテーションのノート
次に端末価格と、開発環境を構築するまでにかかる費用を観点としました。 ハードウェアの価格ですが、iPhone,iPadと比べ、オープンソースであるAndroid OSが搭載された端末は 安価であることが挙げられます。 次に、開発環境の構築ですが、iOSの開発はMacでなければ行えません。 一方、Android OsはWindows,Mac,Linuxなどあらゆる環境で、フリーソフトである Eclipseで開発することが可能です。Eclipseは企業内の様々なプロジェクトで利用されており、 新たに操作方法を覚える必要がないため、すぐに開発を開始することが出来ます。 これらの理由によりAndroid OSの方がハードウェア、開発環境を用意しやすく、要員も確保しやすい、と結論付けました。 また、ソフトウェアの開発言語ですが基本的には、iOSはObjective-Cを、 Android OsはJavaを利用します。 両者の差異については次のスライドで説明します。
Page 7
iOSとAndroid OSの差異
観点:アプリ開発⾔語Objective-C (
iOS
)とJava (
Android OS )の⽐較
Objective-C (
iOS
) Android OS(Java)移植性 ・複数のOSに対して互換性の
ないライブラリが存在。
OSに応じた実⾏ファイルの
⽣成が必要
・JVM(Java仮想機械)上で動作
する為、多くのデバイス上で
実⾏ファイルが動作する
メモリ管理 ・iOSはガーベージコレクション(GC)に対応していないため、開発者がメモリ管理を考慮する必要性がある
・JavaはGCを⾃動で⾏ってくれる
⾔語仕様 ・オブジェクトの型が動的なため
コンパイル時のチェックが限定的に
なり、実⾏時エラーが増える
・コンストラクタが存在しない・静的メンバ変数がないため
グローバル変数で代⽤
・オブジェクトの型が動的なため
コンパイル時に型が厳しくチェック
される
・コンストラクタが存在する
・静的メンバ変数が存在する
プレゼンター
プレゼンテーションのノート
iOSの開発用言語Objective-CとAndroid OSの開発用言語Java を比較した調査結果を報告します。 技術的な観点になりますので、簡単に説明いたしますと、 移植性、メモリ管理、言語仕様によりJavaがObjective-Cより優れているといえます。
Page 8
iOSとAndroid OSの差異
Java
Objective-C
プレゼンター
プレゼンテーションのノート
そして何より、Javaは全盛期ほどではないにせよ、人気が高く、多くのSEが利用している為、 ノウハウやライブラリが豊富で、要員も確保しやすいというメリットがあります。
Page 9
iOSとAndroid OSの差異
観点:アプリケーションをリリースする際に使⽤する“ストア”の⽐較
iOS Android OSリリースする際の
審査・Appleの審査は時間がかかる。・Appleの戦略的な理由で審査を通過
しないことがある。・Apple Storeを経由せずにソフトを
インストールすることはできない上OSが堅牢なため、危険なソフトの数はAndroid OSと⽐べ少ない
・審査には時間がかからず、⼿軽かつ迅速に公開が可能。
・ストアを経由せず審査なしに公開できる
・⼀度削除されたアプリが再公開されるなど、統制が取れていない
・ストアを経由していないアプリには
悪質なソフトも多く存在する
ストア登録費⽤・年会費等
[Apple Store]・登録費⽤は年間約8400円
・価格は⾃由に設定可能・売上の70%が開発者の取り分に
[Google Play Store]・登録費⽤は会員登録時に2500円
以降の年会費は不要
・価格は⾃由に設定可能・売上の70%が開発者の取り分に
・単純な費用ではAndroid OSのほうに分がある
プレゼンター
プレゼンテーションのノート
次に、リリースの観点で調査した結果となります。 アプリケーションをリリースするためのシステム、iOSはApple Store、Android OSはGoogle Play Store ですが、 iOSは厳格な審査があり、また最近話題となったGoogle Mapsからも分かるように、Appleの方針により アプリケーションが審査を通らなかったり、削除されたりします。一方Google Play Storeは審査が Apple Storeほど厳格ではありません。が、これはリスクともなりえます。 アプリケーション公開に必要な費用もAndroid OSのほうが安価に公開することができます。
Page 10
iOSとAndroid OSの差異
観点:OSの基本機能についての⽐較
iOS Android OSファイルへの
アクセス・セキュリティ制約により
フォルダ内のファイルへ直接
アクセスできるアプリは存在
しない。ファイルは隠蔽され、
アプリケーションからのみ
アクセスが可能
・Windowsのファイルエクスプローラに類似したソフトがあり、ファイルをフォルダからコピー&ペースト
することが可能
ウィジェット ・ホーム画⾯にはAppleの定めた
サイズのアイコンが4×5の最⼤
20個配置可能(アイコンのみ)
ウィジェットは配置不可
・ウィジェットを配置可能。アプリを起動しなくても天気やカレンダー
などをホーム画⾯から確認可能。
・アイコンのサイズも⾃由
ボタン ・ホームボタン1つしかないため、
インターフェースに制約がある
・複数のボタンにOSが対応している
・iOSはセキュリティを重視する代わり、OSの制約が強い
・Android OSは多様多種なアプリケーションを開発することが出来る
プレゼンター
プレゼンテーションのノート
最後に、OSの機能について比較しました。 iOSはセキュリティ対策上、Windowsでいうファイルエクスプローラの機能が存在しません。 フォルダの一覧を確認したり、あるファイルをコピーして別のフォルダにペーストすることができません。 Android Osはファイルエクスプローラの機能が存在するため、ファイルの保存場所を視覚的に 確認可能で、またファイルの移動やコピー&ペーストを手軽に行うことができます。 次に、ウィジェットとはホーム画面に置いて使える簡単な機能を持ったアプリのことです。 たとえば、天気を確認するためにiOSではアイコンをタップして アプリケーションを起動する必要がある一方、Android OSが対応しているウィジェットならば、 アイコンの絵の代わりに、現在地の天気をホーム画面に表示することも可能です。 また、多種多様なAndroid端末が存在し、Android Os自体が複数のボタンに対して機能を 割り振ることが可能なため、アプリケーションの開発は自由度が高いです。 総じて、iOSはセキュリティを強固にすることを目的に自由なカスタマイズが難しくなっている、 といえます。Android OSはオープンソースと言うこともあり、多様多種なカスタマイズと アプリケーション開発が可能です。
Page 11
iOSとAndroid OSの差異
⽐較の結果
・これまでの調査の結果から、Android OS向けにアプリケーションを 開発するほうがメリットが⼤きいと結論付けた
・国内外のOSのシェアは
Android OS ≧
iOS
・Windows上でフリーの統合開発環境を使⽤して開発可能
・開発要員を集めやすいJava
・Google Play Storeの価格と特定企業の⽅針に依存しない⾃由さ
・Android OSの⾃由度の⾼さ
プレゼンター
プレゼンテーションのノート
これまでの調査の結果から、Android Os向けにアプリケーションを開発するほうがよいと我々は結論付けました。 ・高いシェアを持ち ・企業内で普及しているWindowsと、同様に普及しているフリーの統合開発環境Eclipseを用いて、開発を行うことが出来 ・Javaによる開発はライブラリとドキュメントが充実し、開発要員も集めやすい ・Google Play Storeは安価で公開することが出来、また特定企業の意向に左右されない ・Android OS自体、非常に自由度が高い iOSを搭載したスマートデバイスすなわちiPadやiPhoneのアドバンテージはそのブランド価値や ディスプレイの鮮やかさを含む高品質というイメージにあると思われますが、、前者に関しては、 近年はGoogleのNexusやAmazonのKindleなど有名なメーカーによるタブレット端末も発売されました。 また、後者に関しては、企業がユーザ向けにビジネス用途で端末の導入を促す場合は、価格の安さが 大きなアドバンテージになると思われます。
Page 12
ここまでAndroid OSがiOSに対して優れている点について挙げてきたがAndroid OSにも懸念点がある
Android OSの懸念点
セキュリティ
頻繁にアップデートされるOSの対応
画⾯の解像度
Adobe Flash
プレゼンター
プレゼンテーションのノート
さて、ここまでAndroid OSの優位点について多くのスライドで説明してきましたが、 Android OSにも懸念点は多く存在します。 その懸念点のうち、以下の4点について現状と対応策を調査しました。
Page 13
Android OSの懸念点
セキュリティ
Android OSについて企業が抱く最⼤の懸念点は、⾃由度の⾼さの引換えの 危険なアプリ(マルウェア)の存在
モバイルマルウェアの96%がAndroid OSを標的にしている(参照:http://japan.internet.com/allnet/20130308/6.html)
Googleも様々な対応を⾏っている・Google play Storeのセキュリティ対策システム「Bouncer」・Google play Store以外のマーケットからダウンロードされたアプリに
対してもスキャンを実施(Android OS 4.2.2の新機能)・キャリア課⾦を発⽣させるSMSを送信する前にアラートを送信(同上)
しかし、セキュリティ対策とその隙をついたマルウェア(含むウィルス)の 戦いはいたちごっこであり、根本的な解決⽅法は⾒出されていない
プレゼンター
プレゼンテーションのノート
まず、このプレゼンテーションをお聞きの方々も不安に感じているであろうセキュリティの件についてです。 Android OSは自由度が高く、また敷居も低い為、その点をついたマルウェアが多数存在します。 モバイルマルウェアの96%がAndroid OSを標的にしているという調査結果もあります。 Android OSのシェアの増大に伴い、従来は自由を強調してきたGoogleもセキュリティ対策の姿勢を 打ち出しています。Google Play Storeに搭載された不正アプリを検知・削除するシステム「バウンサー」や、 最新のAndroid OSには、Google Play Store以外からダウンロードしたアプリに対してもスキャンを実施 したり、キャリア課金を発生させるSMSを送信する前にはアラートを出す機能を搭載しました。 しかし、これらの対策は十分な成果をあげてはおらず、いたちごっこです。 根本的な解決方法は見つかっておらず、パソコン同様にウィルス対策ソフトを導入したり、 怪しいリンク、怪しいアプリには近づかないなどの自衛策が必要です。
Page 14
Android OSの懸念点
頻繁にアップデートされるOSの対応
Android OSは頻繁にアップデートされる。その⼀⽅でiOSはAppleがiPhone, iPadへのアップデートに真摯に対応する⼀⽅、Android OSのアップデートは 端末を発売したメーカー次第である
現在Android OSのシェアは2.3X(約48%)と4.X(約40%)が2分している。 この両⽅のOSで動作するアプリケーションが要求されている
プレゼンター
プレゼンテーションのノート
次に、頻繁にアップデートされるOSの対応についてです。 ユーザーにとっては迅速なアップデート対応はありがたいことかもしれませんが、 開発者にとっては新しいOSでの動作検証を行う必要があり、一概には喜べません。 また、ユーザーにとっても、確実に現行機種を最新OSにアップデートできる Apple製品と異なり、Android OSの更新は発売したメーカーの判断に委ねられています。 また、2013年1月現在、世界でのAndroid OSのシェアは、2.3Xと4.Xが2分しています。 この両方のOSで動作するアプリケーションが要求されます。 これに関しては、Android OSは後方互換性を維持している為、古いOSのバージョンに 向け作成したアプリケーションは新しいOSでも動作します。4.Xで追加された機能を アプリケーションで使用しないか、または事前に2.X以下では動作しないことをはっきり 明記することで問題が解決されます。
Page 15
Android OSの懸念点
画⾯の解像度
Appleのみが販売するiOSが搭載されたスマートデバイスと異なり、 Android OSが搭載されたスマートデバイスは様々なメーカーが販売している。
そのため、従来からデバイス毎の解像度の差異に対応することが開発者を 悩ませてきた
•ズーム互換性モードの採⽤(Android OS 3.2〜)
•Density Independent Pixel(密度に依存しないピクセル)を利⽤
プレゼンター
プレゼンテーションのノート
次に、画面の解像度についての問題です。 Appleのみが販売するiOSが搭載されたスマートデバイスと異なり、Android OSは 様々なメーカーの、様々な大きさのスマートデバイスに搭載されています。 そのため、デバイスごとに画面の解像度も異なります。 これまではスマートフォン用に作られたアプリをタブレット端末で利用しようとすると 正しく表示されなかったり、タッチパネルにタッチしても反応しないといった問題がありました。 この問題を解決するために、Android OS 3.X以降に新しく『ズーム互換性モード』が追加されました。 メニューからこのモードを選択することで、大画面サイズ上で動くようにデザインされていない 標準のユーザインタフェースを大画面用に置き換えます。 本来は開発側で様々な解像度に対応したアプリを作ることが求められます。Android OSでは通常の ピクセル単位の他に、DPという単位が用意されています。DPとは 【密度に依存しないピクセル】の意味で、図で説明しますと、サイズをDPで設定することで、�端末の解像度を基準に自動的にサイズを調整します。これを使用することで 異なる解像度のスマートデバイスに対して、同一のプログラムでアプリを提供することが可能になります。
Page 16
Android OSの懸念点
Adobe Flash
従来Android OSをスマートデバイスで選択する理由に「iOSではFlashを 再⽣できないから」という点があったが、近年はAndroid OSもFlashを
サポートしなくなっている
Adobeのホームページからアーカイブとして過去のFlash Playerが ダウンロードできる
(※ただし、利⽤は⾃⼰責任となる)
Googleが提供している『Google Swiffy』を 使⽤してActionScriptをHTML5に変換する
プレゼンター
プレゼンテーションのノート
最後に、Adobe Flashについてです。 かつてAndroidとiPhoneを比較する際に、”AndroidはFlashに対応している“というワードをよく目にしました。�しかしそれも過去の話で、Flashの開発元であるAdobeはAndroid向けFlashPlayerの開発を打ち切り、 Google Play Storeでの公開を中止しています。 現在Flashは現行Android 端末のサポートの対象外となっています。 しかし、依然としてFlashを使用しているホームページは少なくなく、また昔納入したWebシステムでは Flashを利用したものもあるかと思われます。これをAndroid OS上で動作させる方法は Adobeのホームページに用意されているファイルを利用することで、 現行の Android端末でもFlashPlayerをインストールすることが出来ます。 ただし、公式ではサポートされていない為、利用する際は自己責任となってしまいます。 また、Googleが提供しているツールを利用して、自分達が提供してきたFlashのコンテンツをHTML5に変換することも 選択肢にあげることができます。
Page 17
まとめ
• Android OSは世界中の開発者の⼿により 常に進化している
• 懸念点も存在するが、Android OSの シェアの増⼤に伴いGoogleも対応している
• スマートデバイスの時代の到来にあわせ Android OS向けソフト開発を推奨する
プレゼンター
プレゼンテーションのノート
まとめに入ります。 Android OSはオープンソースであることを活かして、多くの組織と開発者を巻き込み 様々な機能を追加してきました。その結果iOSと比べて多くの長所を持つことが出来ています。 その一方自由であることの代償としてセキュリティ問題や画面の解像度の不統一などの 問題点もありますが、Android OSのシェアの増大に伴い、Google自らが既存の問題点に 応える形で改善策を提示しています。 これからスマートデバイス向けにソフト開発を行う予定がある場合は、Android OS向けに ソフトを開発することを我々Dグループは推奨します。