React Native for WebでもOGP対応がしたい! ~ TECH STAND #2 React Native 2020/12/18 ~
by
tatsuaki watanabe
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
株式会社クリモ CTO 渡邊達明 React Native for WebでもOGP対応がしたい! ~ TECH STAND #2 React Native 2020/12/18 ~
Slide 2
Slide 2 text
◉ 自己紹介と最近作っているもの ◉ React Native for Webの仕組み ◉ Expoを使ったセットアップ ◉ SPAでの課題 ◉ Cloudflare Workersの紹介 ◉ Workersを使ったSPAでのOG画像差し替え ◉ デモ 目次
Slide 3
Slide 3 text
◉ 渡邊 達明(わたなべ たつあき) ◉ Twitter,GitHub: @nabettu ◉ 富士通株式会社→面白法人カヤック→独立 ◉ 妻(代表)と二人で法人 ◉ React Nativeアプリ, Webフロント, Firebaseが専門 ◉ 趣味はマンガとボルダリング 自己紹介
Slide 4
Slide 4 text
AnotionというWebサービスを作ってます
Slide 5
Slide 5 text
“ みなさん React Native for Web 使ってますか?
Slide 6
Slide 6 text
引用元 なかざんさん(@nkzn)のブログ https://blog.nkzn.info/entry/2018/05/29/210030 React Native for Webの仕組み
Slide 7
Slide 7 text
超ざっくりいうと React Nativeのこれが Webでこれになるイメージ ※ホントはもっと色々複雑
Slide 8
Slide 8 text
React Native for Web のセットアップ with Expo $ npm install -g expo-cli $ expo init $ expo build:web web-buildディレクトリにブラウザで動く React Native製アプリケーションがビルドされる! S3とかFirebase Hostingにデプロイすればもう動く!
Slide 9
Slide 9 text
SaaSのExpo(会社) - Expoのコミッターが経営 - Expo ClientやSnack等を開発 - Expoを使ったPush通知やOTA 用サーバーシステム、クラウド ビルド環境などを提供している ソフトウェアのExpo - React Nativeをラップして、完全にjsだけ で書けるようにしたツール郡(Xcodeや Android Studioも不要) - React Native for Webも入っててWebで も動く - 基本こっちのことを話します Expoって?
Slide 10
Slide 10 text
SPAでの課題(Vue.jsやFlutter Webでも) ExpoでビルドするとSPAとして動きます。 しかし質問箱やマシュマロのようなサービスを 作るにはシンプルなSPAではできません。 最近人気のNext.jsを使ってVercelなどにデプ ロイすればできますがアプリとソースを共通化 したい! SPAのままなんとかならんのか!
Slide 11
Slide 11 text
“ OG画像の差し替えくらいなら、 SSRしなくても出来ます!
Slide 12
Slide 12 text
Cloudflare Workersの紹介
Slide 13
Slide 13 text
Cloudflare Workersとは Cloudflare Workersとは、Cloudflare社が提供するCDN(コンテンツデリバリーネット ワーク)のエッジで開発者がJavaScriptを実行できるサーバーレスなサービスです。 Lambdaなどのサーバーレスサービスの問題ともいえるコールドスタート問題です が、Cloudflare Workersでは他のサーバーレスプラットフォームよりコールドスタート のスループットが最大50倍高速となっています。 引用元:Classmethodさんのブログ https://dev.classmethod.jp/articles/cloudflare-workers-tutorial/
Slide 14
Slide 14 text
Workersを使ったSPAでのOG画像差し替え
Slide 15
Slide 15 text
デモとコード紹介 ※登壇用に書きなぐったコードになっているので、お目 汚しすいません - ネイティブアプリとしても動作する、React Native for WebでできたWebアプリの紹介 - (ただちょっと間に合わず画像アップロードだけアプリだとコケるw) - - Cloudflareにデプロイしてるコード
Slide 16
Slide 16 text
サンプルとデモ - サンプルサイト https://telop-maker.tokyo/ - サンプルリポジトリ https://github.com/nabettu/telop-maker
Slide 17
Slide 17 text
まとめ - React Native Expoを使ってると、ネイティブアプリ向けで作ってた ソースほとんどそのままでWebでも動く - その場合シンプルなSPAになってしまうので、Edge Workerを使っ てOG画像対応を解決 プラスの工数を少なく「RNアプリのWeb対応」が可能!
Slide 18
Slide 18 text
質問あればTwitterでも https://twitter.com/nabettu YouTubeコメントなどでもどうぞ Thanks!