WebシステムやWebアプリケーションは、新仕様のPWA(Progressive Web Apps)で進化する。これまでのWebアプリでは、実現しにくかったWeb閲覧の高速化やオフラインでの利用などが可能になり、より業務利用での活用範囲が広がるからだ。(編集部)

(写真:Getty Images)
(写真:Getty Images)

 PWA(Progressive Web Apps)とは、Webアプリでネイティブアプリのような優れた体験を提供すること、またはそれを実現するための技術仕様を指す。Webアプリの新しいコンセプトとして、米グーグル(Google)によって提唱された。

 このPWAは、特にスマートデバイス向けの業務システムにおいて今後不可欠な技術の1つと言える。

Webアプリはオフラインで使えない

 PWAを構成する技術には、業務システム開発に役立つものが多くある。その中には「オフラインでの動作」や「プッシュ通知」など、従来ネイティブアプリでなければ実現できなかった機能も含まれる。必要な技術だけを選択して取り入れることで、少ないコストで機能性や使い勝手を向上させられるのだ。

 業務システムの「速さ」や「使いやすさ」は、業務の生産性に直結する。また、業務側からは、モバイルデバイスを活用して「いつでもどこでも利用できること」や「5年、10年にわたる長期間の保守」などが求められる。

 このような要求を踏まえると、業務システムをWebアプリで作ることは、開発や保守の観点で明確なメリットがある。(1)Webの仕様は標準化団体(W3CやWHATWG)で標準化が進められているので異なる複数のブラウザーで動作するほか、策定に至った仕様は基本的に後方互換性が保たれ、ブラウザーがバージョンアップしても動作する、(2)Webの技術であるHTML5/JavaScript/CSSで開発できるので、ネイティブアプリ開発よりも技術者の調達が容易、(3)Webアプリであればデバイスごとのアプリストアの審査が不要になるのでアプリの更新や配布が容易になる、といったメリットだ。

 しかし、実際の開発ではネイティブアプリを採用せざるを得ないケースが少なくない。主な理由は、Webブラウザーの機能的制約だ(表1)。例えば、業務システム開発に携わる中で、地下やビルの間など、電波が届かない場所や安定しない地域でもシステムを使い続けられて業務を妨げない「オフライン対応」、アプリを閉じていても通知が届く「プッシュ通知」といった要件を満たすことが難しい。

表1●ネイティブアプリと従来のWebアプリの違い
表1●ネイティブアプリと従来のWebアプリの違い
[画像のクリックで拡大表示]

 また、ネイティブアプリ開発は、各プラットフォーム(Android/iOS)間でソースコードを使い回せないなどの理由から、開発や保守の工数が膨らむ一因だった。

 2018年初頭から普及し始めたPWAによって、この状況が変わってきた。PWAはWebアプリでありながらオフライン環境でも動作する。またプッシュ通知を受け取ったりする仕様も、ブラウザーへの機能追加が進むにつれて使えるようになってきた(図1)。

図1●PWAアプリの肝になるService Workerの実装状況
図1●PWAアプリの肝になるService Workerの実装状況
(出所:Can I Use)
[画像のクリックで拡大表示]

 つまりPWAを採用すれば、標準としてのWebの利点はそのままに、ネイティブアプリに匹敵する機能性と使い勝手を実現できるわけだ。さらに各デバイスで共通のコードで開発できるので、開発工数の削減にもつながる。

 PWAの適用事例は、国内の企業でも増え続けている。リクルート住まいカンパニーのSUUMOは、早くからWebサイトのPWA化に取り組んできた。PWA化でページの読み込み時間を75%削減したという(図2)。ほかに、日本経済新聞社が日経電子版をPWA化して表示を高速化した事例もある。

図2●リクルート住まいカンパニーのWebアプリ「SUUMO」
図2●リクルート住まいカンパニーのWebアプリ「SUUMO」
PWAに対応。見た目や使い勝手はネイティブアプリとほぼ同じ(出所:リクルート住まいカンパニー)
[画像のクリックで拡大表示]