Slide 1

Slide 1 text

ReactでWebSocket通信してみた

Slide 2

Slide 2 text

まずは簡単な挨拶 下島 陸 静岡県のweb系企業(2021年10月〜3月) 株式会社HRBrain (2022年4月〜現在) フロントエンド(React,TS) バックエンド(Go)

Slide 3

Slide 3 text

犬が大好き

Slide 4

Slide 4 text

アジェンダ 1. webSocketを触ろうと思った理由 2. webSocketとは? 3. 実際に作ってみた! 4. 使用したライブラリ 5. Reactでどのように実装したか 6. 学び・得たもの

Slide 5

Slide 5 text

webSocketに興味を持ったきっかけ

Slide 6

Slide 6 text

webSocketに興味を持ったきっかけ

Slide 7

Slide 7 text

webSocketに興味を持ったきっかけ

Slide 8

Slide 8 text

webSocketに興味を持ったきっかけ

Slide 9

Slide 9 text

webSocketとは? ● サーバーと双方向通信が可能なプロトコル ● URIが ws://〜 またはwss://〜 ○ 例:ws://localhost:3000 ● HTTPと比べて一回の通信量が比較的少ない WebSocket / WebRTCの技術紹介 https://www.slideshare.net/mawarimichi/websocketwebrtc

Slide 10

Slide 10 text

実際に作ってみた!

Slide 11

Slide 11 text

使用したライブラリ Socket.io 選んだ理由 ● Microsoftなどの様々な大企業で使用されている ● ドキュメントがわかりやすかった ● starが多かった ● TSサポート

Slide 12

Slide 12 text

socketインスタンスが作られる webSocketが確立するまでロングポーリングしてくれる Reactでどのように実装したか 準備

Slide 13

Slide 13 text

State管理 Reactでどのように実装したか 描画部分

Slide 14

Slide 14 text

マウント時に`socket.on`というメソッドを実行することでハンドラーを登録 上の例ではサーバーから `new message` というEventNameを受け取り、 渡したコールバック関数が実行される Reactでどのように実装したか メッセージを受信

Slide 15

Slide 15 text

メッセージを送信 サーバーに`new message` というEventNameとともにメッセージを送信している Reactでどのように実装したか

Slide 16

Slide 16 text

学び・得たこと ● socket.ioのおかげで簡単に実装できた 神! ● webSocketについて知ることができた ○ 自分の中でできることが広がった

Slide 17

Slide 17 text

フロントエンドエンジニアを積極採用募集中です

Slide 18

Slide 18 text

ありがとうございました!! @Riku_0202_