Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Goで社内向け管理画面を楽に作る方法

D68ec2463959a924ada156a278743228?s=47 yudppp
July 13, 2018

 Goで社内向け管理画面を楽に作る方法

Vironとgoaを使って社内向け管理画面を楽に作る方法の紹介

https://golangtokyo.connpass.com/event/92225/ にてLTさせていただきました。

D68ec2463959a924ada156a278743228?s=128

yudppp

July 13, 2018
Tweet

Transcript

  1. Goで社内向け管理画⾯ を楽に作る⽅法 golang.tokyo #16 LT

  2. ⾃⼰紹介 • yudppp • 株式会社HRBrain所属 • 好きな⾔葉: 冪等性 • 好きなキーボード:

    HHKB • Go歴4年 • ◦△□ - https://blog.yudppp.com/
  3. 4年間GoでWebサービスの 開発をしています。

  4. それに合わせて 社内向けの管理画⾯も ⾊々作り続けてきました。 (社内向け≠エンジニア向け)

  5. Revel

  6. goji + html/template

  7. Echo(API) + Node.JS

  8. Echo(API) + SPA(VueJS)

  9. go-zoo/bone(API) + Node.JS

  10. chi + html/template

  11. APIサーバー作って JavaScript側で管理させたり

  12. 薄めのRoutingとhtml/templateで 頑張ってました。

  13. 簡単な⽅法あればいいなと ⽇頃思ってました、、

  14. また管理画⾯でJS書きたくない

  15. ・・・

  16. GopherJSでもWasmでもないです

  17. https://tech.camobile.com/entry/viron_20180201

  18. Viron • C.A. Mobile製のOSS • Swagger.yamlを与えると管理画⾯が⾃動で できる • フロントコードの実装は全く書かなくて良い (全く書けない)

  19. GoでSwaggerといえば、

  20. goa • Go⾔語で書かれた独⾃のDSLを書くことで、 データ構造やバリデーションコードとハンド ラを⽣成する • Swagger.yamlも⽣成される。 • https://goa.design

  21. 全体像 デザインする ⾃動で⽣成される ⾃動で⽣成される DBと繋ぎこむ

  22. 全体像 デザインする ⾃動で⽣成される ⾃動で⽣成される DBと繋ぎこむ ͜Ε͚ͩ΍Ε͹؅ཧը໘͕Ͱ͖Δ

  23. Demonstration • ベースの構成は既に作っています。 • 記事の管理が既にあります。 • Descを設定できるようにしましょう。 • https://github.com/yudppp/viron-goa

  24. Pros • リソースの管理画⾯だけなら作れる • 最初さえちゃんと作ればその後は簡単に追加 できる • そもそもSwagger.yamlあると⾊々嬉しい。

  25. Cons • JavaScriptを書けないので難しいことができ ない • 最初の使い⽅に癖があるので⾃社向けにしか 向かなそう

  26. まとめ • ⾃動で管理画⾯できていくのは未来感があっ て楽しい。 • 細かい所には⼿が届かなかったりするが、簡 単なリソース管理には向いている

  27. 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