HTMLとNext.jsのサーバサイドとの連携方式の違いについて
こんにちは。
問題解決の質問というより、技術的な質問になります。
おそらく初歩的すぎる質問なので温かく回答いただけると幸いです。
サーバサイドをGo言語(gin)、フロントサイドはHTMLのWEBアプリを作成しています。
昨今の情勢やダイナミックルーティングが使用したいという点から、フロントサイドにNEXT.jsを採用しようかなと考え学習しているのですが、サーバとフロントの接続方法が根本的に違っているのか?と躓いております。
具体的にブラウザからのリクエストがあった時の流れですが、以下のような違いがあると思っています。
【HTMLの場合】
サーバサイド(GO)が応答→下記のようなコードでHTMLファイルをレスポンス(出力したい変数tagも同時に連携)
router.GET("/", func(ctx *gin.Context) {
ctx.HTML(200, "index.html", gin.H{"tag": tag})
})
【Next.jsの場合】
フロントサイド(Next.js)が応答→フロントサイド(Next.js)がサーバサイド(GO)へデータ取得のリクエスト→サーバサイド(GO)が応答→フロントサイド(Next.js)がブラウザへレスポンス
ここからが質問の本題ですが、
まず、この考えは正しいでしょうか?
正しければ、Next.jsの場合サーバとフロントのデータ取得連携部分が非常に難しいと感じております。
個人開発のような小規模なWEBアプリではNext.jsを使用するべきではないでしょうか?
よろしくお願いいたします。