スマートフォンユーザーのみなさん、アプリは使っていますか? 写真を撮ったりアラームをセットしたり、ゲームをしたりSNSをしたりと、スマートフォンを使ううえでアプリは必要不可欠ですよね。それも通信が発生しないかぎりは、サクサク動かせて快適に使えるという印象をお持ちなのではないでしょうか。そんなスマートフォンアプリの使い勝手の良さを、ウェブブラウザ上で動作するウェブアプリで実現しようとする動き・考え方が「Progressive Web Apps」です。
正確にはウェブアプリの動作や機能などを新しいテクノロジーを駆使してネイティブアプリに近づけていくというイメージになりますが、構築方法など技術的な内容は本記事では割愛します。なお、ネイティブアプリとはウェブアプリの対比として、サーバーではなく端末内で演算処理を行うアプリ(いわゆるスマートフォンアプリ)を指します。
ウェブアプリという単語にピンときていない方もいるかもしれませんが、よく知られているものとしてブラウザで使うGmailやGoogle mapが挙げられるでしょう。専用のアプリをダウンロードすることなくブラウザからシームレスに、ネイティブアプリとほぼ遜色なく使うことができるのが特徴です。以下にそれぞれのメリットをまとめてみましたので、その違いを確認してみてください。
ウェブアプリの動作や機能などをネイティブアプリに近づけていく考え方であると前述しましたが、具体的には前項で挙げているネイティブアプリのメリットをウェブアプリでも実現していくということです。動作・挙動に関しては通信が発生する以上、環境に依存してしまう面もありますが、それ以外については新しい技術の組み合わせで双方のメリットを活かすことができます。
すでに4年ほど前から話題となっている「ハイブリッドアプリ」についても軽く触れておきます。こちらも考え方自体は「Progressive Web Apps」と似ていると個人的には感じており、どちらも目指すところはウェブとアプリの“良いとこ取り”を実現させるものです。ウェブアプリからネイティブアプリに近づいていくのが「Progressive Web Apps」であるのに対し、ネイティブアプリからウェブアプリに近づいていくのが「ハイブリッドアプリ」という認識で大枠は間違いないでしょう。
正確にはネイティブアプリのメリットである動作性やデバイス機能の活用はそのままに、静的な部分はウェブブラウザで補うことによって開発コストやリソースを圧縮することができるというものです。
「Progressive Web Apps」も「ハイブリッドアプリ」も、目指すところはユーザーにとっての使いやすさを損なわずに最適化していくという点は同じです。ただしそれぞれの土台は異なりますので、実際にどうやってアプリを構築するかは訴求するサービスによって考えていく必要があるでしょう。