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
Goで社内向け管理画⾯ を楽に作る⽅法 golang.tokyo #16 LT
Slide 2
Slide 2 text
⾃⼰紹介 • yudppp • 株式会社HRBrain所属 • 好きな⾔葉: 冪等性 • 好きなキーボード: HHKB • Go歴4年 • ○△□ - https://blog.yudppp.com/
Slide 3
Slide 3 text
4年間GoでWebサービスの 開発をしています。
Slide 4
Slide 4 text
それに合わせて 社内向けの管理画⾯も ⾊々作り続けてきました。 (社内向け≠エンジニア向け)
Slide 5
Slide 5 text
Revel
Slide 6
Slide 6 text
goji + html/template
Slide 7
Slide 7 text
Echo(API) + Node.JS
Slide 8
Slide 8 text
Echo(API) + SPA(VueJS)
Slide 9
Slide 9 text
go-zoo/bone(API) + Node.JS
Slide 10
Slide 10 text
chi + html/template
Slide 11
Slide 11 text
APIサーバー作って JavaScript側で管理させたり
Slide 12
Slide 12 text
薄めのRoutingとhtml/templateで 頑張ってました。
Slide 13
Slide 13 text
簡単な⽅法あればいいなと ⽇頃思ってました、、
Slide 14
Slide 14 text
また管理画⾯でJS書きたくない
Slide 15
Slide 15 text
・・・
Slide 16
Slide 16 text
GopherJSでもWasmでもないです
Slide 17
Slide 17 text
https://tech.camobile.com/entry/viron_20180201
Slide 18
Slide 18 text
Viron • C.A. Mobile製のOSS • Swagger.yamlを与えると管理画⾯が⾃動で できる • フロントコードの実装は全く書かなくて良い (全く書けない)
Slide 19
Slide 19 text
GoでSwaggerといえば、
Slide 20
Slide 20 text
goa • Go⾔語で書かれた独⾃のDSLを書くことで、 データ構造やバリデーションコードとハンド ラを⽣成する • Swagger.yamlも⽣成される。 • https://goa.design
Slide 21
Slide 21 text
全体像 デザインする ⾃動で⽣成される ⾃動で⽣成される DBと繋ぎこむ
Slide 22
Slide 22 text
全体像 デザインする ⾃動で⽣成される ⾃動で⽣成される DBと繋ぎこむ ͜Ε͚ͩΕཧը໘͕Ͱ͖Δ
Slide 23
Slide 23 text
Demonstration • ベースの構成は既に作っています。 • 記事の管理が既にあります。 • Descを設定できるようにしましょう。 • https://github.com/yudppp/viron-goa
Slide 24
Slide 24 text
Pros • リソースの管理画⾯だけなら作れる • 最初さえちゃんと作ればその後は簡単に追加 できる • そもそもSwagger.yamlあると⾊々嬉しい。
Slide 25
Slide 25 text
Cons • JavaScriptを書けないので難しいことができ ない • 最初の使い⽅に癖があるので⾃社向けにしか 向かなそう
Slide 26
Slide 26 text
まとめ • ⾃動で管理画⾯できていくのは未来感があっ て楽しい。 • 細かい所には⼿が届かなかったりするが、簡 単なリソース管理には向いている
Slide 27
Slide 27 text
Appendix • https://cam-inc.github.io/viron-doc/ • https://goa.design/ • https://github.com/yudppp/viron-goa • https://blog.yudppp.com/posts/viron_and_goa/ • https://techblog.istyle.co.jp/archives/246