teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

よく読んだらGoでDOM操作と書いてありました。すいません。

2019/11/20 13:04

投稿

nobonobo
nobonobo

スコア3367

answer CHANGED
@@ -1,41 +1,5 @@
1
+ GoでDOM操作はGopherJSを使う方法とGo本家のWASM出力機能を使う方法があります。
1
- 質問の意図が以下のどちらのでしょう?
2
+ 以下の内容が参考にるかと思います。
2
3
 
3
- - バックエンドをGo、フロントエンドにReact/Elm/Vueなどを連携させたい
4
- - フロントエンドをGoで書きたい
5
-
6
- 前者は何も迷うことなくフロントエンドのライブラリを選んでそのチュートリアルへ。
7
- GoのバックエンドはAPIをGoで提供すれば基本はOK。
8
-
9
- nodeの開発サーバーと連携をとる場合はGoのサーバーで一旦受け取ってリバースプロキシーで
10
- nodeの開発サーバーに中継すると便利です。
11
- (リロードでフロントエンド用のファイルが再構築されるので)
12
-
13
- Goのサーバー記述例(nodeの開発サーバーがlocalhost:3000にサーブされている場合)
14
- ```go
15
- import (
16
- "net/http"
17
- "net/http/httputil"
18
- "net/url"
19
- "fmt"
20
- )
21
-
22
- func main() {
23
- // New functionality written in Go
24
- http.HandleFunc("/api", func(w http.ResponseWriter, r *http.Request) {
25
- fmt.Fprint(w, "API Handler")
26
- // TODO: implement
27
- })
28
-
29
- // Anything we don't do in Go, we pass to the old platform
30
- u, _ := url.Parse("http://localhost:3000/")
31
- http.Handle("/", httputil.NewSingleHostReverseProxy(u))
32
-
33
- // Start the server
34
- http.ListenAndServe(":8080", nil)
35
- }
36
- ```
37
-
38
- 後者であれば、それなりに個人的に取り組んでいて以下にやり方をまとめています。参考にどうぞ。
39
-
40
4
  - [Goだけで作るフロントエンド](http://golang.rdy.jp/2018/02/25/vecty/)
41
5
  - [続Goだけで作るフロントエンド](https://nobonobo.github.io/presantations/frontend/)

1

質問の意図が複数考えられるので追記

2019/11/20 13:04

投稿

nobonobo
nobonobo

スコア3367

answer CHANGED
@@ -1,4 +1,41 @@
1
- 参考にどうぞ。
1
+ 質問の意図が以下のちらなのでしょ
2
2
 
3
+ - バックエンドをGo、フロントエンドにReact/Elm/Vueなどを連携させたい
4
+ - フロントエンドをGoで書きたい
5
+
6
+ 前者は何も迷うことなくフロントエンドのライブラリを選んでそのチュートリアルへ。
7
+ GoのバックエンドはAPIをGoで提供すれば基本はOK。
8
+
9
+ nodeの開発サーバーと連携をとる場合はGoのサーバーで一旦受け取ってリバースプロキシーで
10
+ nodeの開発サーバーに中継すると便利です。
11
+ (リロードでフロントエンド用のファイルが再構築されるので)
12
+
13
+ Goのサーバー記述例(nodeの開発サーバーがlocalhost:3000にサーブされている場合)
14
+ ```go
15
+ import (
16
+ "net/http"
17
+ "net/http/httputil"
18
+ "net/url"
19
+ "fmt"
20
+ )
21
+
22
+ func main() {
23
+ // New functionality written in Go
24
+ http.HandleFunc("/api", func(w http.ResponseWriter, r *http.Request) {
25
+ fmt.Fprint(w, "API Handler")
26
+ // TODO: implement
27
+ })
28
+
29
+ // Anything we don't do in Go, we pass to the old platform
30
+ u, _ := url.Parse("http://localhost:3000/")
31
+ http.Handle("/", httputil.NewSingleHostReverseProxy(u))
32
+
33
+ // Start the server
34
+ http.ListenAndServe(":8080", nil)
35
+ }
36
+ ```
37
+
38
+ 後者であれば、それなりに個人的に取り組んでいて以下にやり方をまとめています。参考にどうぞ。
39
+
3
40
  - [Goだけで作るフロントエンド](http://golang.rdy.jp/2018/02/25/vecty/)
4
41
  - [続Goだけで作るフロントエンド](https://nobonobo.github.io/presantations/frontend/)