Scrapboxはなぜこのアーキテクチャを選んだのか?
https://gyazo.com/6047ad148726df1fe6e251c3c16b5ff0 https://employment.en-japan.com/engineerhub/entry/2017/04/07/110000
frontendからbackendまですべてjsで書くことにより、scrapboxに必要なパーサーやバリデータ、同時編集機能で使われる差分データのやりとりのアルゴリズムなどが共用できます。 Herokuは開発に必要なツール群が簡単に設定できるので気に入っています。またアプリケーションをHerokuにデプロイできるように実装するとthe twelve-factor appに従ったポータビリティの高い設計になるので、production版から変更せずにオンプレミス版docker imageを作成して配れるようにし続ける為のちょうどよい縛りにもなります。