Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PWA implementation of technology novice
Search
kokiokazawa
December 21, 2018
Programming
950
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PWA implementation of technology novice
「技術初心者なりのPWA実装」のスライドです。
kokiokazawa
December 21, 2018
Other Decks in Programming
See All in Programming
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
430
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Event is what happens
moro
2
810
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
カツオ、ご期待ください
suneo3476
0
190
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
930
The Rails Doctrine Decade
koic
2
590
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.2k
The Language of Interfaces
destraynor
162
27k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Facilitating Awesome Meetings
lara
57
7.2k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Designing for humans not robots
tammielis
254
26k
Believing is Seeing
oripsolob
1
240
A designer walks into a library…
pauljervisheath
211
25k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
450
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Transcript
技術初心者なりの PWA実装 岡澤 昂輝
自己紹介 岡澤 昂輝(おかざわ こうき) 言語:Java(6ヵ月),PHP(1ヵ月),Go(1ヵ月未満) 趣味:音楽,ゲーム,食事
PWA 技術初心者なりの 実装
PWAってなに? 日経電子版 https://www.nikkei.com/ Twitter Lite https://play.google.com/store/apps/details?id=com.twitter.android.lite Instagram https://www.instagram.com/ アイドルマスターシャイニーカラーズ https://shinycolors.idolmaster.jp/
「ネイティブアプリのような動作をするWebアプリを構築するための技術の総称」 現在PWAになっているサービスの例
PWAってなに? アプリアイコン設置 SSL or ローカルのみ プッシュ通知 表示方法の設定 キャッシュする ストアを通さなくても良い 安全
ネイティブアプリっぽく オフラインで起動 通信量の節約 ページの高速化
なんかすごそう! ・UNITY ・Live2D
今回作ったもの (https://kokiokazawa.github.io/PWA-samp/) ブラウザで 見た時 アプリとして 起動した時 条件 ・2回目以降 ・5分以上間隔をあける キャラクターはLive2D公式
サンプルモデルキャラクター を使用 (参考文献にURLあり)
Live2D & Unity
ざっと説明 原画を動かすことができる 2Dのモーフィング技術を使ったソフトウェア ゲーム,Vtuber 3DCGの扱いが得意 ゲームエンジン シミュレータ UNITY
ざっと工程 UNITYインストール Live2Dモデルを入手 (Live2D公式サイトの サンプル素材を採用) Live2D公式サイトで (UNITY用)Live2D SDK を入手 Live2Dの公式サイト見て作る
WebGLで書き出し (WevAssembly)
PWA
PWAの実装 Index.html manifest.json service_worker.js その他データ
工程1 (manifest.json) ホーム画面から起動するために必要 見え方の種類 回転の制御 アイコンの設定 簡単に作ることが出来るサイト Web App Manifest
Generator
工程2 (service_worker.js) Webページの裏側で動く もう1つのJavaScript環境 ・データをダウンロード ・プッシュ通知の設定 最低限「install」と「fetch」があれば オフライン機能が使える
(service_worker.js) ライフサイクル 初回アクセス時 それ以降のアクセス時 parsed installing installed activating activated redundant
工程3 (index.html) service_worker.jsの登録 manifest.jsonの登録 準備が出来たらサーバアップ(github)
結果
結果 Lighthouseの診断 27%足りない
結果 ページが重い WebGLが重い? サンプル作って 動かしてみよう
結果 Lighthouseの診断(vue.jsのサンプルコードの場合) PWAになっている
結果:PWAになっている
まとめ 実装するのに時間かかった WebGLが重い(UNITY側) 描画範囲の指定が難しい(UNITY側) AppShellモデルというものがあるらしい できるとやっぱり面白い AMPとかVue.jsとか勉強したい
参考文献 ・現在の普及状況(サービスワーカー) https://caniuse.com/#search=service%20worker ・Live2D http://www.live2d.com/ja/ ・UNITY https://unity3d.com/jp ・Live2D SDKの公式マニュアル https://docs.live2d.com/cubism-sdk-tutorials/getting-started/?locale=ja
・Live2Dサンプルモデル集 https://docs.live2d.com/cubism-editor-manual/sample-model/
参考文献 https://qiita.com/poster-keisuke/items/6651140fa20c7aa18474 https://qiita.com/MizoTake/items/7089494d7bd3e700e34b https://qiita.com/kazaoki/items/e93b88556fcd05d28ddc https://murashun.jp/blog/20171210-01.html https://magnets.jp/web_design/9341/ https://www.webprofessional.jp/retrofit-your-website-as-a-progressive-web-app/ https://app.codegrid.net/entry/2016-service-worker-1 https://qiita.com/mao_/items/6bdd988b10f2754a6d56 http://tsubakit1.hateblo.jp/entry/2017/03/31/235900
以上です!