Slide 1

Slide 1 text

PWAで誰でも簡単ネイティブアプリ開発!

Slide 2

Slide 2 text

自己紹介 中西哲大(テツさん、てっちゃん) 株式会社Re:Build Webエンジニア リモートワーク歴1ヶ月 好き:Python, Go, Linux, Laravel, Vue.js 音楽好き(ギター弾くのと歌うの好き) PyData.Okinawaオーガナイザー

Slide 3

Slide 3 text

PWAとは? Progressive Web App の略 基本的には全画面表示のブラウザってイメージ バックグラウンドでService Workerが常駐している HTML + CSS + JSでアプリ開発できる

Slide 4

Slide 4 text

PWAとは? モバイルのSafariやChromeからホーム画面に追加するだけでインス トール完了 Service Workerの機能を利用するのでブラウザがService Workerに 対応している必要あり HTTPS必須 (GitHubPagesで公開可能!)

Slide 5

Slide 5 text

Service Workerとは リッチなオフライン体験、定期的なバックグラウンド同期、プッシ ュ通知など、これまでネイティブアプリを必要としていた機能が Web にもやってきます。Service Worker はそれらの機能を提供す る基盤技術です。

Slide 6

Slide 6 text

Service Workerのおおまかなライフサイクル

Slide 7

Slide 7 text

AppCacheっていう似た機能が昔あった 以前にも、オフライン体験を Web にもたらすものとして AppCache というものがあった AppCache の重大な問題として、たくさんの意図しない挙動があっ たこと、シングルページ Web アプリにはうまく動いてくれたもの の、複数のページにまたがるサイトではうまく動いてくれないとい う設計・・・ Service Worker はこれらの弱点を避けるように設計されている 「Service Worker の紹介」https://developers.google.com/web/fundamentals/primers/service‑ workers/?hl=ja より引用

Slide 8

Slide 8 text

ServiceWorker対応状況

Slide 9

Slide 9 text

PWAはWebアプリとネイティブアプリのいい とこどり! 端末がオンラインのときのみ指定したファイルをアップデート オフラインのときはキャッシュされたファイルをもとに起動 Webエンジニアも簡単に実装できる! AppStoreやGooglePlayの審査がいらない!

Slide 10

Slide 10 text

iOSの11.3からのPWA対応でできるようになったこと (https://medium.com/@takeshiamano/iosの11‑3からのpwa対応ででき るようになったこと‑313f638a172b)

Slide 11

Slide 11 text

PWA、いいんじゃないでしょうか!(´ω`)

Slide 12

Slide 12 text

今日の目標 1. GitHubPagesでPWAを公開 2. 色々なPWAをインストールして遊んでみる(時間があれば)

Slide 13

Slide 13 text

サイトをPWA化するのに必要なもの ファイル名 目的 manifest.json PWAに関する設定を記述するところ sw.js ServiceWorkerに関する処理をかくところ

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

https://github.com/NakanishiTetsuhiro/redroom2018 https://nakanishitetsuhiro.github.io/redroom2018/

Slide 16

Slide 16 text

それでは実際のコードを見ていきましょう

Slide 17

Slide 17 text

シンプルなPWAサンプルここに置いておきますね (https://qiita.com/kazaoki/items/e93b88556fcd05d28ddc)

Slide 18

Slide 18 text

PWAが色々おいてあります PROGRESSIVE WEB APPS

Slide 19

Slide 19 text

PWAに対応しているWebサービス(一部) Twitter Instaglam SUUMO WEGO

Slide 20

Slide 20 text

ご清聴ありがとうございました! あとでどこかに資料アップするので詳しく見たい方はどうぞ

Slide 21

Slide 21 text

参考サイト シンプルなPWAサンプルここに置いておきますね (https://qiita.com/kazaoki/items/e93b88556fcd05d28ddc) vue‑pwa‑boilerplate (https://qiita.com/radiocat/items/034904a094d07c389a4f#vue‑ pwa‑boilerplate) はじめてのプログレッシブ ウェブアプリ (https://codelabs.developers.google.com/codelabs/your‑first‑ pwapp‑ja/#0)