マイペースなRailsおじさん

Ruby、Ruby on Rails、オブジェクト指向設計を主なテーマとして扱います。だんだん大きくなっていくRuby on Rails製プロダクトのメンテナンス性を損なわない方法を考えたり考えなかったりしている人のブログです。

SPAを作った

github.com

構成

  • API
    • Java
    • SpringBoot
    • Spring REST Data
  • UI
    • JavaScript(ECMAScript2015--2018)
    • react.js
    • next.js
    • materialUI
  • DB
    • mongodb

所感

  • API側はできるだけ楽ができそうなものを使った。
    • SpringBootはずっと使ってたので特に困らず。
    • Spring REST Dataはすごい。ほぼドメインオブジェクトを定義だけでRepositoryもAPIのエンドポイントもできる。すごい。 
    • mongoを使っていたおかげでテーブル
    • 割と複雑めな絞り込みとかもRepositoryに規約に従った名前のメソッドのシグネチャ書くだけでエンドポイントできちゃうのでほんとすごい。
    • 当たり前だけど、ドメインロジックが複雑になってきたらORMがないと苦しそう。
    • エンドポイントの名前がどんどん長くなってくのがカッコよくない。
  • フロントエンドの学習が目的だったので、よくわからないながらもSSRにしてみた。
    • コンポーネントはちゃんと設計しないとくっそつらい。設計できへん。
    • JSのPromise使いやすくていい感じ。
    • react.jsは最初は身構えたけど、そんなに覚えることはないし使いやすい。
    • materialUIはとってもよくできている。すばらしい。
    • next.js使うだけでほんとにSSRできた。すごい。
    • Array, Objectのメソッドとか調べながらやった。javaとは結構違うな。けっこう使いやすいと思う。map使えるし。