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