Skip to Main Content
ハンズオンJavaScript
book

ハンズオンJavaScript

by あんどうやすし
November 2020
Intermediate to advanced content levelIntermediate to advanced
740 pages
9h 12m
Japanese
O'Reilly Japan, Inc.
Content preview from ハンズオンJavaScript

17章PWAを学ぶ

これまで学んできたことにより、ブラウザ上でJavaScriptを使用してインターネット上のリソースを取得するだけでなく、デバイスに組み込まれた多様なセンサーからもデータを読み取り、それらのリソースやデータをローカルのストレージに保存して、リッチなグラフィックスを描画できるようになりました。つまり機能的にはネイティブアプリとほぼ遜色のないアプリケーションをWeb技術だけで実現する土台がすでに整っています。

そのようなネイティブアプリと同様の機能をWebアプリとしての特徴を損なうことなく提供するための設計指針が本章で紹介するプログレッシブWebアプリ(Progressive Web Apps、PWA)です。PWAは明確に定義された用語ではありませんが、おおむね次のような機能を実現したWebアプリのことを指します。

  • 利用できるブラウザの機能に応じてアプリケーションの機能が漸近的ぜんきんてき(progressive)に変化する
  • URIを使用してアクセスできる
  • ネットワークに接続されていない状態でも動作する
  • プラットフォームにインストールし、ブラウザを経由せずにホームスクリーンから直接起動できる
  • サーバからのPush通知を受け取り、エンゲージメントを高められる

前半の2つがWebアプリとしての機能、後半の3つがかつてはネイティブアプリでなければ実現が難しいとされてきた機能です。

先ほどPWAは明確に定義された用語ではないと説明しました。定義がないのであればなぜそのような用語が導入され、しかも広く利用されているのでしょうか? その答えはPWAがWebアプリケーションの「目指す場所」ではなく「目指す方向」だからです。

たとえばPWAという言葉がなかったとしましょう。そうすると、同様なものを実現するために開発チーム内で話し合おうとしても「インストールできてオフラインでも動作する、だいたいネイティブアプリのような動作をするWebアプリ」のような冗長な言い方をするしかありません。もちろん毎回そのような言い方を続けられるわけはなく、いずれチーム内で何か用語が用意されるでしょう。しかしその用語がチーム内で閉じたものである限り、その概念がチーム外に広がることはありません。概念を共有し、皆でそこに向かうには共通の語彙が必要です。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

ハイパフォーマンスPython 第2版

ハイパフォーマンスPython 第2版

Micha Gorelick, Ian Ozsvald, 中山 光樹
パフォーマンス向上のためのデザイン設計

パフォーマンス向上のためのデザイン設計

Lara Callender Hogan, 西脇 靖紘, 星野 靖子
PythonによるWebスクレイピング 第2版

PythonによるWebスクレイピング 第2版

Ryan Mitchell, 黒川 利明, 嶋田 健志

Publisher Resources

ISBN: 9784873119229Other