_Ng6PwaSample_は、Angular6でPWA(Progressive Web Apps)を実現したいと考えている開発者のためのサンプルプロジェクトです。
フルソースコード,
https://github.com/Ohtsu/ng6-pwa-sample
ビデオ解説 (日本語),
https://youtu.be/XMA1gyyYEr8
ビデオ解説 (英語),
https://youtu.be/b1SUOBI1CiA
概要
- 
Ng6PwaSample はAngular6の
ng add @angular/pwaコマンドによって作成されたPWAのサンプルプロジェクトです。 - 
Ng6PwaSample はAngular Materialのmat-grid, mat-card, mat-menu, mat-iconなどを使用しています。
 - 
Ng6PwaSample はd3.js(ver4.3) 及びng6-o2-chartを利用しています。
 
前提条件
- node.js
 - Typescript2
 - Angular6
 - http-server
 
インストール
このプロジェクトをインストールするには、以下を実行します。
$ npm install 
プロジェクトのビルド
プロダクションモードでプロジェクトをビルドする必要があります。
$ ng build --prod
ローカルサーバーの起動
distディレクトリが生成されましたら、その中のNg6PwaSampleディレクトリに移ります。
まだ、_http-server_をインストールされていない場合には、以下のように事前にインストールしておいてください。
$ npm install http-server -g
次に_http-server_を以下のように起動します。
$ http-server --port 8080
そしてブラウザで http://localhost:8080 にアクセスします。
以下のように表示されます。
- First Page
 
オフラインモードでのチェック
次にChromeにおいて、control + shift + iキーを押して、デベロッパー・ツールを表示します。
そしてアプリケーション・タブページの中のサービスワーカーを開きます。
ここでオフラインにチェックを入れ、オフラインすなわちインターネットに接続できない状態にします。
通常のWebアプリケーションの場合、オフラインにすると、以下のようなエラーメッセージが表示されてしまいます。
しかしながら、PWAの機能を利用すると、オフラインになっても以下のようにエラーメッセージは表示されません。これはサービスワーカーがオフラインを検知し、キャッシュに切り替えて表示しているからです。
バージョン
- Ng6PwaSample : 0.0
 - Angular6 : 6.0.3
 - TypeScript : 2.7.2
 - @angular/material : 6.2.1
 - @angular/pwa : 0.6.8
 - @angular/service-worker : 6.0.3
 - d3.js : 4.3.0
 - ng6-o2-chart : 0.4.0
 
参考文献
- 
"PWA 入門 〜iOS SafariでPWAを体験するまで〜 2018年6月版",
https://qiita.com/umamichi/items/0e2b4b1c578e7335ba20 - 
"Great Progressive Web App Experiences with Angular",
https://www.youtube.com/watch?v=C8KcW1Nj3Mw&feature=share - 
"Angular Service Worker Tutorial",
https://www.youtube.com/watch?v=5YtNQJQu31Y&feature=share - 
"Build your First Angular PWA from Scratch (Angular 6 PWA Tutorial)",
https://www.youtube.com/watch?v=othhfZ0mGjU&feature=share - 
"Schematics",
https://material.angular.io/guide/schematics - 
"Angular 5, Angular 6 Custom Library: Step-by-step guide",
https://www.udemy.com/angular5-custom-library-the-definitive-step-by-step-guide/ - 
"Angular 5, Angular 6用 カスタムライブラリの作成: 完全ステップ・バイ・ステップ・ガイド",
https://www.udemy.com/angular5-l/ 
更新ログ
- 2018.8.2 version 0.0 uploaded
 
Copyright
copyright 2018 by Shuichi Ohtsu (DigiPub Japan)
License
MIT © Shuichi Ohtsu