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

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

yudppp
July 13, 2018

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

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

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

yudppp

July 13, 2018
Tweet

More Decks by yudppp

Other Decks in Programming

Transcript

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

    View Slide

  2. ⾃⼰紹介
    • yudppp
    • 株式会社HRBrain所属
    • 好きな⾔葉: 冪等性
    • 好きなキーボード: HHKB
    • Go歴4年
    • ○△□ - https://blog.yudppp.com/

    View Slide

  3. 4年間GoでWebサービスの
    開発をしています。

    View Slide

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

    View Slide

  5. Revel

    View Slide

  6. goji + html/template

    View Slide

  7. Echo(API) + Node.JS

    View Slide

  8. Echo(API) + SPA(VueJS)

    View Slide

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

    View Slide

  10. chi + html/template

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  15. ・・・

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. GoでSwaggerといえば、

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide