PWA(Progressive Web Apps)は単一の技術を指し示す言葉ではなく、ユーザがより良いWeb体験をするための総合技術となっています。そのため、これをすればPWA対応した、とは言い切れません。
今回はPWAを構成する技術と、それを利用するためのクラウドサービスを紹介します。
ホスティング
PWAはオフラインでも使えるのが大事であり、そのためにはWebフロントエンドとサーバサイドはAPIを通じた疎結合になっている必要があります。そこでフロントエンドのコードは静的ホスティングサイトに置いておくことができます。
例えば以下のようなサービスが挙げられます。
- Firebase Hosting | Firebase
- Netlify: All-in-one platform for automating modern web projects.
- Amazon S3(拡張性と耐久性を兼ね揃えたクラウドストレージ)|AWS
独自ドメインを使う場合にはAmazon S3 + Cloudfrontという組み合わせになるでしょう。NetlifyやFirebase HostingはカスタムドメインのSSL/TLS証明書(Let's Encript利用)発行に対応しています。
Webプッシュ
Webプッシュはベンダー独自のものとVAPIDとがあります。macOSのSafariを除外すれば、VAPIDでChrome/Firefox/EdgeといったWebブラウザに対応できます。Webプッシュ通知を送った後の開封、数値分析を行うならばプッシュ通知配信を行うサービスを使うのが良いでしょう。
Webプッシュ通知を5分で導入 - 効果を求めるならPush7
GraphQL
フロントエンドとサーバサイドでREST APIを使うのも良いですが、最近ではGraphQLの採用も進んでいます。GraphQLのクラウドサービスは最近では減っており、以下のAWSのサービスが安心して利用できるでしょう。
AWS AppSync(アプリデータをリアルタイムで保存、同期)| AWS
その他の技術
PWAを担う技術としては、残りはレスポンシブWebデザイン、SSL/TLS、アプリマニフェスト、Service Workerになります。これらはクラウドサービスを使うものではありません。Service WorkerはWebプッシュ、オフラインアクセス(CACHE API)で利用するものなので重要です。ぜひ使い方を覚えてください。
PWAでバックエンドが必要になったら、ぜひニフクラ mobile backendをご利用ください!