Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OG画像のためだけのFunctionsで、 htmlベタ書き&リダイレクトをやめるんだ
Search
tatsuaki watanabe
December 03, 2019
Technology
3
1.5k
OG画像のためだけのFunctionsで、 htmlベタ書き&リダイレクトをやめるんだ
tatsuaki watanabe
December 03, 2019
Tweet
Share
More Decks by tatsuaki watanabe
See All by tatsuaki watanabe
4:3のスライド
nabettu
0
230
React Native for WebでもOGP対応がしたい! ~ TECH STAND #2 React Native 2020/12/18 ~
nabettu
1
6k
React Navigationを使って React Native WebでSPAを試してみた ~ React Native Meetup 2020/5/29 ~
nabettu
8
8.8k
React Nativeにおける ExpoとFirebaseの活用 Webとの共通化 ~ React Native Tokyo 2019/09/03 ~
nabettu
2
1.2k
A story till the netlify fun book is made
nabettu
0
580
Netlifyはいいぞ #技術同人誌再販Night
nabettu
1
410
Nuxt.js & Firebase & Netlifyでの 爆速プロトタイピングと 本格運用への足がかり
nabettu
3
820
声をかけられるフリーランスエンジニアになるには
nabettu
5
1.3k
2016-01-25いいとも発表Atomパッケージ
nabettu
0
130
Other Decks in Technology
See All in Technology
EitherT_with_Future
aoiroaoino
1
930
株式会社M2X エンジニアチーム紹介資料
m2xsoftware
0
470
Oracle Autonomous Database:サービス概要のご紹介
oracle4engineer
PRO
1
6.9k
デジタル化・DX推進あるある
y150saya
0
230
OR学会2024秋_短期収益と将来のオフ方策評価性能を考慮したクーポン割当方策混合比の決定
recruitengineers
PRO
3
260
タイミーのBraze活用 ~PUSH通知を活用したレコメンド~
ozeshun
2
150
waitany と waitall を作った話
mrkn
0
120
実践的なバグバウンティ入門
scgajge12
4
2.3k
Azure Cosmos DB での時系列ログの運用と改善
sansantech
PRO
0
210
日経電子版から始まった内製開発の現在地と向き合っている課題/inhouse
nishiuma
0
240
忙しい人のためのLangGraph概要まとめ
__ymgc__
0
110
スーパーマリオRPGのリメイク版の変更点からみるUX
nishiharatsubasa
1
300
Featured
See All Featured
A Tale of Four Properties
chriscoyier
155
22k
Code Reviewing Like a Champion
maltzj
518
39k
Facilitating Awesome Meetings
lara
49
5.9k
Building Flexible Design Systems
yeseniaperezcruz
324
37k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Why Our Code Smells
bkeepers
PRO
334
56k
Fashionably flexible responsive web design (full day workshop)
malarkey
401
65k
The Cost Of JavaScript in 2023
addyosmani
40
5.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
23
590
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
Making Projects Easy
brettharned
113
5.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
123
18k
Transcript
株式会社クリモ CTO 渡邊達明 OG画像のためだけのFunctionsで、 htmlベタ書き&リダイレクトをやめるんだ ~ Firebase Meetup #15 2019/12/03
~
◉ 自己紹介と最近作っているもの ◉ ためしがきの歴史 ◉ Netlifyはいいぞ ◉ Cloud Runを使おう 目次
◉ 渡邊 達明(わたなべ たつあき) ◉ Twitter,GitHub: @nabettu ◉ 富士通株式会社→面白法人カヤック→独立 ◉
妻(代表)と二人で法人 ◉ ネイティブアプリ(React Native with Expo)& Webフロント (Nuxt.js,React.js)& Firebase周りが専門です 自己紹介
NTTコミュニケーションズ 社内ベンチャー発 リアルタイムスポーツ実況解説アプリ サッカーJ1の配信始めます! SpoLive
tabmemo タブで仕分けできるメモアプリ
作ってます
- FirebaseのHostingを使ってSPAで作っている サービス 1年半ほど前のためしがきを作る際の話。。。 フォントをシェアしたらOG画像を変えたい ぞ〜 SPAだけどシェアされる毎にhtmlのmetaを 変えたい。。。
なんとかSPA&サーバーレスでで きないか考えた結果。。。 1. /share/:id のパスだけfunctionsにつなぐ 2. OG画像を含んだmetaだけ書いたhtmlを 返す 3. トップページへリダイレクト
という方式にしよう!
公開したらめちゃバズった Twitterトレンドに載ったりはてブが2000以上ついた りした。 サービスについてブログを書いたら、ブログも500は てブ その後SPAで静的サイトホスティングをしている Firebaseマンのお手軽OG画像書き換え方式デファ クトになっていった・・・
あの頃はよかったが、最近はもっといい代替手段が 出てきているので紹介します。 - レスポンスが遅い・URLリダイレクトを挟む - htmlをfunctions内に書いておくのでメンテもしづら い UXもDXも悪い部分のデメリットも解決! あれから1年半ほどたち、、
NetlifyのPrerenderingを使おう
Netlifyとは ◉ 静的サイトホスティングサービス ◉ GitHubなどのリポジトリと連携して、自動でサイトホ スティングができる ◉ 静的サイト公開のための便利機能がたくさん詰まっ ている
◉ SPAなどのJavaScriptでのレンダリング結果をキャッ シュしておいて、Twitterのクローラなどに返却してく れる機能 ◉ (Netlifyでは https://prerender.io/ を利用していま す。) Prerenderingとは
◉ JavaScriptでページのレンダリング時にmeta情報を 書き換えたhtmlをキャッシュしてくれる これを使うと・・・ SPAなのにOG画像の出し分けができます!
1. Firebase HostingからNetlifyに移行します。 2. share/:id ページを用意して以下のjsを 3. ページ読み込み開始時 window.prerenderReady =
false 3. JavaScriptでmeta情報を書き換えます 4. 3.終了後に window.prerenderReady = true 5. 必要であればtopページへrouterでpush 具体的なSPAでのOG画像の替え方
Netlifyの本を書いているのでぜひ買って下さい! ◉ Amazonで 買えます!!! 宣伝です
実動作してるサンプル #EmojiMashupper https:/ /emoji.nabettu.com/
- FunctionsだとFirestoreのデータをadminSDKで 使えたのが便利だったのに! - 認証情報をごにょごにょしてレンダリングした い! - Netlify便利なんだけどCDN遅いんだよな とかの人は・・・ とはいえFunctionsも便利な部分はあった
CloudRunを使って SSRをしよう
CloudRunとは - こないだGAになった、サーバーレスでコンテナ化したアプ リを展開できるサービス - Nuxt.jsとかのSSRできるSPAライブラリを突っ込んで動かそ う! - Firebase Hostingともつなげられる!
- SSRと別でコンテナ化したAPIサーバーとかも同じドメインでサクッ とおいておける
みなみさんの本がめっちゃ詳しい オススメです! Nuxt.jsとFirebaseの 組み合わせで開発している人 必読! 詳しくはこちらで!
質問あればTwitterでも https://twitter.com/nabettu cometsでもどうぞ→ Thanks!
cometsについて こちらの発表は、専用サイトに コメントするとコメントが 発表者のスライドに表示されます。 https://comets.nabettu.com/?id=FJUG ちなみにFirebaseとNetlifyで動いています。