モバイルアプリ開発で陥りがちなワナ【後編】
HTML5だけでは解決できない、モバイルアプリ開発の落とし穴
急速に拡大するモバイルアプリ開発市場。開発スピードと品質の要求に応える「HTML5」技術の採用だけでは、どうしても解決できない問題がある。
前回の「ユーザー評価が星3つ以下のモバイルアプリはすぐに忘れ去られる」に続き、「競争の激しいモバイル分野では“開発スピード”“品質”のどちらを重視すべきか」という難問の解決策を検討しよう。3人の専門家の回答を通じて分かったヒントは「HTLM5が状況を一変させる可能性を秘めている」「テストをおろそかにしてはならない」ということだ。
スピードと品質の要求に応える「HTML5」
米調査会社IDC Researchのアナリスト、ジョン・ジャクソン氏は「状況にもよるが、品質要求が優先される傾向にあるのは間違いない。ユーザーが顧客であれ社内の従業員であれ、彼らは既にモバイル環境でのコミュニケーションを経験しており、品質に対する要求は高い。これは将来的に、品質を重視する傾向を促進するだろう」と語る。
この問題に対する見方は2つある。競争が激しい状況において、最大のライバルが製品を投入する一方で、自社が油断をしていたために製品をリリースする準備ができていないような場合には、とにかく急いで製品を形にする必要があるケースもあるだろう。その場合でも、ある程度の品質に対する期待があることは確かだ。
品質管理の仕組みはプラットフォームによって異なる。「Appleの環境に比べると、Androidの環境は品質のばらつきが多い」と各方面で指摘されている。開発者にとっては、iOS向けのアプリ配布の認可を得る方がハードルは高く苦労が多い。Appleが品質を管理しているからだ。Android環境の場合は、開発者やモバイル事業者、OEM、米Googleの全員が品質管理の責任を担っている。
だが全般的には、アプリケーション開発でハイブリッド方式を採用する開発者が増えている。HTMLやHTML5などのWeb技術やその関連技術を使いこなせる開発者は、1000万人以上もいるのだ。HTML5は多くのコーディングで使われており、将来はHTML5コーディングがネイティブ環境に対応するようになるだろう。つまり、コードの約80%がHTML5で書かれているため、今後はiOSやAndroidなどのプラットフォームのネイティブAPI(Application Programming Interface)にHTML5を適合させる方向に進むということだ。
これは、過去2年間にわたる開発者の調査の中で浮かび上がった傾向だ。HTML5を使った開発への関心は非常に高まっている。開発コミュニティーでHTML5が一種の共通語になっているからだ。しかし将来的には、iOSやAndroidなどのネイティブプラットフォーム上で動作するようにHTML5を適合させる必要がある。このアプローチの利点は、異なるプラットフォーム間で多くのコードを再利用できることだ。しかし、プラットフォームのネイティブ機能を利用するには、ある程度のコーディング作業が必要になる。
「ネイティブ開発ではなく、アプリのコーディングにHTMLを多用するというのは、品質を犠牲にするということだ」という見方もある。ネイティブアプリを開発しないというのは、表面的に見ればプラットフォーム間でのコードの再利用を優先し、パフォーマンスと品質の面で何かを犠牲にすることになる。すなわち、開発者がアプリをネイティブAPIに対応させる際にHTML5を多用すれば、アプリの能力の一部が損なわれる可能性があるということだ。
これは主観的な見方だが、ネイティブ開発ではある程度のスキルセット、ある程度の予算、そしてある程度の時間が必要とされる。だが誰もがそれらを持っているわけではない。この3つの要素は大企業の場合でも問題になり得る。将来に目を向ければ、現在の異種混在状態が今後変化する兆しはどこにも見えない。つまり、これからもAndroid用のコーディング作業が必要になるということだ。iOSやその他のプラットフォームについても同じことがいえる。これらのプラットフォームはそれ自体で互いに競争しているだけでなく、外部に公開されるAPIの基盤およびパフォーマンス特性の面でも競い合っている。この状況が続く限り、APIをめぐる開発競争が今後も繰り広げられるだろう。これは、アプリをライフサイクルにわたって管理する必要があることを意味する。
スピードと品質に加えてテストという大問題が
「Webベースのアプリケーションか、モバイルアプリケーションか、メインフレーム用アプリケーションかどうかは、あまり関係がない。きちんと動作しない場合に生じるリスクがどのくらいあるかによって、品質にどれくらい力を入れるかが決まるのだ」と指摘するのは、Gartnerのアナリスト、アイアン・フィンリー氏だ。
モバイルアプリケーションの場合、従来のWebベースのアプリケーションよりもはるかに多くのテストを行う必要がある。多くの人はこの事実を意外に思うだろう。それはアプリケーションの開発の方に目を向け、テストには注目しないからだ(関連記事:モバイルおよびWeb向けアプリのQAテストのコツ)。
モバイルアプリケーションのテストの特殊性を理解していない人は多い。モバイルアプリケーションの場合、複数の環境で動作することを確認しなければならないのだ。ブラウザ向けのアプリケーションの開発であれば、開発環境とエンドユーザーの環境がどう違っていようともブラウザは似たり寄ったりだ。しかしモバイルアプリケーションの場合、端末が同じ製品ファミリーであってもアプリケーションの動作方法には大きな違いがある。例えば、Android製品ファミリーでは、サイズ、速度、メモリ(これらはパフォーマンスに影響する)、そしてアプリケーションのルック&フィールが異なる端末が文字通り何百種類も存在し、これらの違いは全て品質の問題につながる。コードが正しく実行されたとしても、ユーザーはそのアプリケーションが使い物にならないと思うかもしれない。
また、アプリケーションの開発では通常、ネットワークを利用できる環境が想定されている。しかし携帯端末では電波の受信状態が一定ではなく、車の運転中に変化することもある。つまり、アプリケーションのパフォーマンスやルック&フィールが通信速度によって悪影響を受ける可能性があるということだ。当然ながら、これは接続環境によって大きく左右される(関連記事:アプリケーションのパフォーマンステストを成功させる3つのポイント)。
こういった要因を考え合わせれば、ユーザーがアプリケーションを使うさまざまな状況を全てテストするのが不可能であることが分かる。代表的な環境をテストするだけでも、デスクトップPC用のWebブラウザを対象としたテストよりもはるかに多くの労力が必要とされる。
では、どうすればいいのだろうか。重要なポイントは、テストはリスクとのバランスが必要だということだ。例えば、コンシューマー向けのモバイルバンキングアプリケーションであれば、極めて高い品質が要求される。ハッカーに侵入されるようなものであってはならないのだ。こういったアプリケーションは銀行にとって大きなセールスポイントになる可能性もあるため、貧弱なパフォーマンスであったり使い勝手が悪かったりしてはいけない。また、モバイルアプリケーションとして開発するのだから、各種の端末およびOS上での動作をサポートするとともに、さまざまなネットワーク問題にも対処しなければならない。
このようなケースでは、開発段階でシミュレータなどを使って広範なテストを行う必要がある。多くのユーザーが使用すると予想される端末上でのテストも欠かせない。このテストは開発部門で実施するだけでなく、クラウドテストプロバイダーに委託する必要もあるかもしれない。こういったプロバイダーは全世界にテスターを抱えている。テスターにテストスクリプトを与えて操作を指示し、その結果をクライアントに報告してくれる。モバイルバンキングアプリケーションのようなものを開発する場合は、このような広範なテストを実施することにより、あらゆる利用環境での動作を検証する必要がある。
逆に、サポート対象のデバイスがiPad 2だけであり、接続状態が良好なネットワーク環境でアプリケーションを利用するだけという状況で、従業員の端末用にシンプルなアプリケーションを配布するというケースもあるだろう。その場合には、シミュレータおよびデバイスレベルでのテストだけで十分かもしれない。品質に対する要求がそれほど高くなく、配備環境(実際にアプリケーションを使うユーザーベース)もずっとシンプルであるからだ。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
4
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
5
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
6
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
7
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
8
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
9
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
10
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー