Next.jsとは
Next.js(ネクストジェイエス)は、ZEIT社によって開発されたJavaScriptフレームワークです。Reactと組み合わせてウェブアプリ開発を強化するフレームワークであり、Reactアプリのサーバーサイドレンダリング(SSR)を可能にします。
Reactだけでもウェブアプリを構築できますが、Reactだけで構築するとフロントエンドで動作するウェブアプリとなります。ReactにNext.jsを組み合わせることで、サーバーサイドでレンダリングするReactアプリを構築できます。
サーバーサイドレンダリングのメリット
Reactアプリをフロントエンドではなく、サーバーサイドでレンダリングするメリットは、大きく2点あります。
一つは、レンダリングが高速になることです。フロントエンドでHTMLが生成される仕組みでは、サーバーから返されたデータをユーザーが受け取ってからレンダリングが実行されます。一方、サーバーサイドレンダリングでは、サーバー上で生成されたHTMLが返されるため、一般的にはレンダリングが高速になります。
もう一つは、Googleなどのクローラーがコンテンツを認識しやすくなることです。フロントエンドでHTMLが生成される仕組みでは、クローラーがコンテンツを認識しづらい場合があるようです。一方、サーバーサイドレンダリングでは、サーバー上で生成されたHTMLが返されるため、より確実にクローラーにコンテンツを認識させられます。
Reactでシングルページアプリケーション(SPA)を開発するに当たり「描画を高速にしてユーザビリティを高めたい」「Googleのクローラーに拾われやすくしてSEO的に有利にしたい」と考えるのは至極当然ですが、このような場面ではNext.jsの導入が解決策となるわけです。
Nuxt.jsとの比較
Nuxt.jsは、Next.jsと同じように、サーバーサイドレンダリングを実現するJavaScriptフレームワークです。Next.jsは、Reactと組み合わせて利用します。Nuxt.jsは、Vue.jsと組み合わせて利用します。
ReactアプリをサーバーサイドレンダリングするならNext.jsを利用するのが定番であるように、Vue.jsアプリをサーバーサイドレンダリングするならNuxt.jsを利用するのが定番となっています。
Next.jsの特徴
Next.jsには、以下の特徴があります。
- Reactアプリのサーバーサイドレンダリング(SSR)を実現する
Next.jsを利用することで、Reactアプリのサーバーサイドレンダリング(SSR)を実現します。
Next.jsを学ぶメリット
Next.jsで求人を検索すると、ウェブサービス開発のフロントエンドエンジニア、バックエンドエンジニアなどでの募集が確認できます。
Reactのスキルが求められる職場では、他に使えることが望ましいスキルとして、React、Redux、 Nuxt.js、Node.jsなどが挙げられています。
Next.js公式サイト: https://nextjs.org/