完璧な解決策ではないが、有望な技術
「HTML5でモバイルアプリ開発」は是か非か? ネイティブアプリと比較
モバイルアプリの開発手段として、HTML5はどのくらい有効なのか。有力な対抗馬であるネイティブアプリ方式との比較を通して、HTML5の実力を探る。
モバイルアプリケーション開発で現在最も一般的なのは、ネイティブアプリとして開発するアプローチだ。残念ながら、ネイティブアプリの開発には大きなコストが掛かる可能性があるのに加え、開発ターゲットが少数のモバイルプラットフォームや端末に限定されてしまう問題がある。本稿では、汎用的なモバイル開発手段としてHTML5の可能性を探るとともに、そのメリットとデメリットを明らかにする。
ネイティブアプリの開発者は、各種のモバイルOSや携帯端末向けに個別のネイティブアプリを開発する。ネイティブアプリは携帯端末に直接組み込まれるため、多くの種類のモバイルOSや携帯端末をターゲットにする場合、開発コストが高くなる可能性がある。私物端末の業務利用(BYOD)を採用する動きが拡大していることもあり、ネイティブアプリの開発とメンテナンスのコストは増加傾向にあるのが現状だ。
多くの種類のモバイルOSおよび携帯端末向けモバイルアプリを開発する必要がある企業では、端末やOSに応じて作り直さなくても済むようにしたいと考えている。こうしたモバイルアプリは、同じプログラムがどこでも動く「WORA(Write Once, Run Anywhere)」型モバイルアプリと呼ばれる。
WORA型モバイルアプリを実現する手段には、Mobile Enterprise Application Platform(MEAP)やハイブリッド型モバイルアプリ方式などがある。本稿で焦点を当てるのは、HTML5ベースのWORA型モバイルアプリである。
HTML5ベースのモバイルアプリ(HTML5アプリ)は、基本的にWebアプリとして実装され、サーバで動作する。携帯端末ユーザーは、WebブラウザにURLを入力してモバイルアプリへアクセスする。
HTML5の構成要素には、CSS(Cascading Style Sheets)3とJavaScript APIがある。CSS3は、ヘッダやフッタ、図形などの構造を文書に組み込むための技術だ。携帯端末のWebブラウザは、プラグインを導入することなく、CSS3によってさまざまなタイプのコンテンツを適切に表示できる。またCSS3は、多数の携帯端末のフォームファクターに応じて画面レイアウトを自動調整する機能も備える。
JavaScriptは、携帯端末のWebブラウザに表示されるインタフェースを通じて、携帯端末から送信されるデータや情報の認証といったさまざまな機能を提供する。
HTML5では、携帯端末の特性を判定することが可能だ。「メディアクエリ」を利用することにより、携帯端末の画面サイズ、画面の向き、解像度といったレンダリング特性に関する情報を瞬時に判断できる。こうした情報は、携帯端末へ送信するデータや情報を携帯端末の画面に合ったフォーマットで表示するために必要になる。
上記のように、携帯端末の特性を判定する機能を備えるHTML5は、WORA型モバイルアプリに適した技術だといえる。もう1つの重要な特徴として、HTML5アプリは携帯端末内で動作しないので、携帯端末およびモバイルOSから比較的独立していることが挙げられる。
HTML5によるモバイルアプリ開発のメリットとデメリット
ネイティブアプリ開発者の多くは、モバイルアプリを作成する技術としてHTML5を高く評価していない。「ネイティブアプリは作成とデバッグが非常に容易だ。対してHTML5は、ポピュラーなWebブラウザでの実装レベルが異なっていたり、ネイティブアプリ並みのパフォーマンスを実現できない」という(参考:HTML5はスマートデバイス用アプリ開発に使えるか?)。
モバイルアプリを開発するプラットフォームを選択するのは容易ではない。その上、多数のプラットフォーム用にネイティブモバイルアプリの開発とメンテナンスをするにはコストと時間がかかる。加えて、AndroidなどのOSは頻繁にアップデートを繰り返して数多くのバージョンが存在するため、開発対象を決めるのは一層困難だ(参考:Android OSの多バージョン併存は「多様性」か「断片化」か)。
ネイティブアプリ開発者やHTML5を利用するWebアプリ開発者の意見は、必ずしも客観的ではない。どちらが自社に適しているかを判断するには、自分自身で調べる必要がある。調べれば分かることだが、WORAを求める開発者にとって、HTML5はまだ完璧な解決策にはなっていない。現在、HTML5を活用する際、プログラムを書くのは1回でも、各種の携帯端末に対してある程度カスタマイズする必要があるかもしれない。
HTML5は強固な開発プラットフォームを提供するが、HTML5を使ったからといって、各種Webブラウザや携帯端末の差異が魔法のように消滅するわけではない。ただし、今日のポピュラーなWebブラウザではHTML5の実装が進んでいる。BYODの採用に伴って膨大な種類の端末に対処するためのコストを考えれば、HTML5はWORA型モバイルアプリを実装するのに適する有望な技術だと考えられる。
HTML5によるモバイルアプリ開発のヒント
モバイルアプリ開発の最大のポイントは、ニーズに合った開発方法を選択することだ。高いパフォーマンスが必要とされるのであれば、ネイティブアプリ方式を選択し、端末固有の機能を利用すればよい。マルチプラットフォーム対応のモバイルアプリを配備するのであれば、HTML5を検討すべきだろう。HTML5は、条件次第では非常に優れた方式であるが、あらゆる条件に適しているわけではないのだ。
ネイティブアプリが、当初HTML5アプリよりも優位に立っていた分野を以下に幾つかリストアップした。ネイティブアプリ方式を選ぶか、HTML5を選ぶかを決める際には、以下の分野を考慮に入れる必要があるだろう。中には、HTML5が既に追い付いた分野、あるいはあと1、2年で追い付きそうな分野も幾つかある。
- 表示比率:これはネイティブアプリ方式の大きな優位点だが、HTML5はさまざまな手法によって画面サイズや解像度などを判定できる
- タッチインタフェース:タッチやスワイプといった操作でコントロールできるユーザーインタフェースのコンポーネントはHTML5でサポートしている
- カメラ/ビデオの利用:HTML5でWebページから写真をキャプチャーできる携帯端末もあるが、全ての端末に対応しているわけではない
- 加速度センサーの利用:HTML5でも対応済み
- Bluetoothの利用:HTML5では未対応(現在作業中)
- プッシュ通知の送信:HTML5では未対応(現在作業中)
- アプリストアでの販売:HTML5アプリは現在、「Chromeウェブストア」などのアプリストアで販売できる。ハイブリッド型モバイルアプリとして再構築すれば、米Appleの「App Store」や米Googleの「Google Play」を通じて配布できる
ネイティブアプリ方式が多くの開発者の間で人気が高いのは、パフォーマンスや端末固有の機能の利用という面で、HTML5アプリがまだネイティブアプリに追い付いていないのが主な理由だ。だがHTML5アプリは、2、3年以内にネイティブアプリと競合するようになるだろう。アニメーションを多用した動きの速いゲームを除けば、HTML5アプリで大抵間に合う。高いパフォーマンスというネイティブアプリの優位性は、多くの場合、取るに足らないメリットにすぎない。
BYODを採用している企業では、HTML5などのWORA技術を利用することで大きなコスト削減効果を期待できる。クライアントPC向けWebアプリの開発経験が豊富な企業であれば、HTML5採用のハードルは高くはないはずだ。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
新着ホワイトペーパー PR
-
技術文書・技術解説
[Jamf Japan 合同会社] MDMだけでモバイルセキュリティは十分? 不足する対策を16項目でチェック -
製品資料
[株式会社ウェーブスプリッタ・ジャパン] 100Gbps対応の光トランシーバーはどう選ぶ? 10分で分かる選定のポイント -
製品資料
[株式会社フィックスターズ] 組み込み開発の生産性と機密性を両立、自社環境で構築する「セキュアAI」活用術 -
製品レビュー
[ServiceNow Japan合同会社] 問い合わせの約9割を自動で解決、AI主導の自律型CRMがもたらす業務変革の全貌 -
市場調査・トレンド
[ServiceNow Japan合同会社] AI活用が業務自動化で止まる理由は何か? 調査で判明した課題と変革への道筋
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
-
2
なぜOpenAIやAnthropicのAIは「脱走」したのか 情シスが迫られるエージェント統制
-
3
【基本情報技術者試験】「デュプレックスシステム」と「デュアルシステム」の違いは?
-
4
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
5
Anthropicが明かす AIは入力データを「どこまで覚えているのか」
-
6
GitHubが指摘 AIが書いた「おそらく動くコード」が招くシステム崩壊
-
7
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
8
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
9
ただなのに「12時間以内の復旧」も要求 無償OSSに商用レベルを求める企業の末路
-
10
「にゃんこ大戦争」がAWSを脱出した理由 無停止移行に潜む“わな”
ホワイトペーパーランキング PR
-
1
生成AIのハルシネーションを防止 回答精度を高めるセマンティックレイヤーとは
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
4
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
-
9
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
10
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー