モバイルアプリ開発で陥りがちなワナ【後編】
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
-
事例
[フォーティネットジャパン合同会社] 複雑化しがちな「SASE運用」 IT・医療・金融などの事例に見る導入成功の秘訣 -
製品資料
[フォーティネットジャパン合同会社] 「SD-WAN」導入で失敗しないための5つの重要事項 -
技術文書・技術解説
[フォーティネットジャパン合同会社] VPNの代替候補「ZTNA」を理解できるようになる“3大要素”とは? -
事例
[フォーティネットジャパン合同会社] すぐ分かる「SD-WAN」選定のポイント 成功企業はどんな成果を出した? -
製品資料
[SCSK株式会社] 「Dropbox」管理・運用の困りごと解決ガイド
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
2
みずほ証券が「液冷サーバ」を採用 1日3.6億件の計算を支えるための要件
-
3
Microsoft月例パッチ1400件超で過去最多 「限界点」を迎えたパッチ管理
-
4
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
5
SAP導入後も残る“Excel依存” 京急電鉄は「kintone」でどう解消した?
-
6
被害額は過去最高額 それでも「サイバー犯罪者が捕まらない」3つの理由
-
7
「身代金を支払う」以外のランサムウェア対策は本当にあるのか?
-
8
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
9
いまIBM iエンジニアが直面する「5つの技術的課題」とその解決策
-
10
AI時代のITインフラ戦略とは? 販売代理店が知っておきたい最新トレンド
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
7
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー