The source code for this blog is available on GitHub.

Blog.

Next.jsを学ぶ1

Cover Image for Next.jsを学ぶ1

以下を参考に。

作業時間:1.5時間 経過時間:21時間

SSRとSSG

SSRとSSGを混同していた節があった。 自分がやっていたのはあくまで、SSGに過ぎなかった。 SSRの場合、稼働させるサーバーがいるっぽいのだがあっているか。 Netlifyで出来るのか...?

Node.jsのログが表示できたので、サーバーサイドレンダリングは出来ていることは体感できた。 理屈も分かるが、理論は怪しい。

Gatsby.jsはReactのフレームワークで静的サイトジェネレーター。(SSG) Next.jsもReactのフレームワークでサイバーサイドレンダリングも静的サイトジェネレーターとしても使用できる。 時代の潮流としては、SSGっぽい。

SSRとは

そもそもの歴史的な流れは以下。

Isomorphic JavaScript

SPAが盛り上がってきた時のSEO対策やロード時間の問題が浮上した。 そこで、サーバー側でもコンテンツをレンダリングするというアプローチが生まれた。 しかしそのアイデアは、クライアントとサーバーで異なる言語で同じロジックのコードをメンテナンスしないといけないコストも示していた。 そこで、クライアントとサーバーを同じ言語で管理しようとするアイデアが生まれた。 それが「Isomorphic JavaScript

Universal JavaScript (Universal Application)

そもそもisomorphicとは、「同相性、対応しているか、形や関係性が似ている」という意味合いになるらしい。 例えば、Underscoreとlodashの関係を説明する際には、「isomorphic」は適している。哲学や思想、アプローチは異なるが、同じ問題を解決している。表現だけ少し異なる。 SSRでは、クライアントとサーバーで同じコードを実行しているので、「似ている」というのは適していない。 そこで「Universal JavaScript」という名前になった。

SSRとは、サーバーサイドでコンテンツのレンダリングを行おうとする手段を指す。 Universal JavaScriptとは、サーバーサイドとクライアントサイドで同じJSを実行する手法を指す。


More Stories