Open3
ReactとJavaでWebアプリを作りたい
前提
React も Java もどちらも初めて使ってWebアプリを構築します。
Java は Spring Boot を利用予定です。
環境構築していくまでのログ。
課題1 HTMLはフロントエンドとサーバーサイドどっちが管理するの?
とりあえず、React で画面表示などをいじってみてから、Spring Boot を触ってみようと調べてみたら、どちらも HTML を扱うことが判明。
…どっちが HTMLを扱えばいいのか。。
調べてみるとこんな用語があった!
- CSR:クライアントサイドレンダリング
- SSR:サーバーサイドレンダリング
その他にも、
- SSG:スタティックサイトジェネレーター
- ISR:インクレメンタルスタティックジェネレーター
などがあるとのこと。
こちらの記事でそれぞれのメリデメがわかりやすく記載されている。
私の作成しようと思っているウェブアプリは、ほぼツールのようなもので、
一見、SEOに有利で表示速度が速い SSR にしよう!と思ったが、アプリ自体は SEO 気にするようないというのと CSR は JavaScript でよりインタラクティブな表現がしやすそう!と思ったので、
結果、CSR にしようと思う。
役割表
React と Spring Boot の役割がまだ不明確なので、表でも作ってイメージを高める。
全然要素思い付かなかったけど、フロントエンド(React)とバックエンド(Spring Boot)の役割分担はこんな感じかな。
機能 | React | Spring Boot |
---|---|---|
HTMLレンダリング | ○ | - |
ルーティング | ○ | - |
外部API接続 | - | ○ |
DB接続 | - | ○ |