アプリとウェブは何が違うのか — ネイティブ、ウェブアプリ、そして審査
同じサービスなのに、スマートフォンにインストールするアプリとしても、アドレスを入力すれば開くウェブとしても存在します。二つは似て見えますが、作り方も、ユーザーに届く道も違います。「これはアプリで出すべきですか、ウェブで十分ですか」「アプリはなぜ審査に数日もかかるんですか」といった質問がよく出る理由です。
今回の記事では、ネイティブアプリとウェブがどう違うのか、その間にあるハイブリッドアプリとは何か、そしてアプリはなぜ審査を経るのかを、コードなしで解きほぐしていきます。
ウェブはアドレスで開き、アプリはインストールして使います #
一番大きな違いは、ユーザーに届く方式です。ウェブはブラウザでアドレスを入力すれば、その場で開きます。インストールが要らず、直した内容を上げれば、次に接続する人はすぐ新しいバージョンを見ます。ウェブサイトがフロントエンド、バックエンド、データベースからできているという話を非開発者のための IT 常識 #1で扱いましたが、ウェブサービスはまさにこの構造の上で動きます。
アプリは違います。App Store や Play Store からダウンロードして、スマートフォンにインストールしてこそ使えます。一度インストールすれば、インターネットが少し切れても一部の機能が動き、カメラや通知のようなスマートフォン固有の機能をより深く使えます。代わりに、新しいバージョンを出すにはユーザーが更新を受け取らなければならず、その前にストアの審査を経なければなりません。
ネイティブアプリは、プラットフォーム専用で作ります #
アプリの中でも、各プラットフォームに合わせて、そのプラットフォーム専用の道具で作ったものをネイティブアプリと呼びます。iPhone 用アプリはアップルが定めた方式で、Android 用アプリはグーグルが定めた方式で、別々に作るのです。
ネイティブアプリの長所は性能と完成度です。そのプラットフォームに最もよく合って動き、機器の機能を最も深く引き出せます。代わりに、同じアプリを二つのプラットフォームで出すには両方を別々に作らなければならず、その分だけ手間が増えます。モバイル開発の職種が iOS と Android に分かれる背景は開発者は実際に何をしているのかで扱いました。
ハイブリッドアプリは、二つの間にあります #
ネイティブアプリを二つ作る負担を減らそうと出てきた中間の方式があります。よくハイブリッドアプリと呼びます。ウェブの技術で画面を一度作り、それをアプリという殻に入れて両方のストアに上げるやり方です。
こうすると、コードをおおむね一度だけ作って二つのプラットフォームに一緒に出せるので、費用を抑えられます。ウェブアプリという言葉もよく出てきますが、インストールなしでブラウザで回る形から、こうしてアプリの殻に入れた形まで幅広く指します。ただし、機器固有の機能をとても深く使ったり、最高水準の性能が必要な場合にはネイティブアプリが依然として有利なので、何を作るかによって選択が分かれます。「アプリで出すかウェブで出すか」は、結局このトレードオフを見比べる問題です。
アプリの審査はなぜ時間がかかるのか #
ウェブは直した内容を上げればすぐ反映されますが、アプリは新しいバージョンをストアに上げるたびに審査を経ます。アップルとグーグルがアプリの内容と動作を点検し、通したあとにユーザーへ配られる仕組みです。
審査は、セキュリティの問題はないか、ポリシーに反していないか、説明どおり動くかなどを確認する過程です。だから急ぎの修正もすぐには出しにくく、長ければ数日かかることもあります。「アプリはなぜ今すぐ直せないんですか」の答えがここにあります。ウェブと違って、自分が上げれば終わりではなく、ストアという関門をもう一度通らなければならないからです。緊急の内容をアプリの更新なしで変えられるよう、一部をウェブから読み込ませる設計にするのも、このためです。
なぜ非開発者が知っておくと仕事が楽になるのか #
- アプリとウェブのどちらが合うかを一緒に見積もれます。 インストールと機器の機能が大事なのか、速いアクセスと即時の反映が大事なのかによって、方向を一緒に決められます。
- アプリの日程感覚が身につきます。 アプリには審査という関門があり、ウェブのように即時に反映されないと分かれば、リリースと修正の日程を現実的に組めます。
- 緊急の修正の制約を理解できます。 アプリで急ぎのバグをすぐ直せない状況が、怠慢ではなく審査の仕組みのためだと納得できます。
まとめ #
今日は、アプリとウェブの違いを見てきました。ウェブはアドレスですぐ開き、直した内容が即時に反映され、ネイティブアプリはプラットフォーム専用で作って性能と機器の活用に優れる代わりに、両方を別々に作らなければなりません。ハイブリッドアプリはその間で費用を抑える折衷で、アプリの審査はアプリがウェブのように即時反映されない理由です。何を作るかによって正解が変わる、選択の問題です。
ウェブの構造がもっと気になれば非開発者のための IT 常識 #1を、このアプリとウェブを誰が作るのか気になれば開発者は実際に何をしているのかを一緒に読んでみることをおすすめします。