Go React チャット試してみる

tutorialedge.net

そんな新しくもなさそうだけど面白そうなので

とりあえずGoとReact環境をととのえる

wget https://dl.google.com/go/go1.14.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.14.3.linux-amd64.tar.gz

sh3eys@DESKTOP-VUKTP3T:~$ /usr/local/go/bin/go version
go version go1.14.3 linux/amd64

前提条件さえ自力で整えればかなり手順どおりにすすめられる GoとReactと最初にいっかいProjectを実行できる状態にしてくれるのも親切

とりあえずここまで終わった。楽しいなこれ

Part 1 - Initial Setup | TutorialEdge.net

で、まあ次はwebsocketなんだけどちょっとやっぱわかってなかったからあれだなあって npm startで実行してるサーバがなんなのかがわかってなかったけど、ここの通り全部コーディングして

Part 2 - Simple Communication | TutorialEdge.net

goでwebsocket起動してからブラウザでhttp://localhost:8080たたくといちおう、 clientがsocketじゃないですよ的なerrorメッセージを得られるのでgoのEndpointだけも確認できる

それと、Clientは読んだままだけどapi/ってディレクトリをReactのroot配下に掘ってindex.jsを実装することで apiに対してcallするときのStartpoint(ってこんな言葉あるか知らんけど)を作って、 それをApp.jsからcallするかたちになる ( ちょっと理解してなかったのが悪いけどReact - rootのindex.jsはレンダリング領域を設定するだけで 中身の実装には一切関わらないぽいから、この先のコーディングにもほぼ登場しないはずだった...最初こっちに書いちゃった )

ほんでreactがtestも設定してくれてるんで、npm testでちらっと見て起動できそうだったら npm startしておいてhttp://localhost:3000/でreact-appへアクセスすると[Hit]ボタンが見える

ボタン押すとreactの以下メソッドからwebsocketでgoのコンソールへメッセージが送信される

sendMsg("hello");

いったんここまででcommit

GitHub - sh3eys/chat-go: study