React と Next、Vue と Nuxt、Svelte と Sapper

もう語り尽くされたであろう、「コレってどう違うの?」ネタまとめ。

目次

React (create-react-app) と Next.js

React の場合は、とりあえず何か作るなら CRA ではなく Next.js で始めるのが良いっぽい。SSR の有無で CRA を選ぶ必要はないようだ。

Vue (Vue CLI・Vite) と Nuxt.js

SSR が欲しい、チームで規約が欲しいなら Nuxt.js。Vue CLI や、Vue 3 で用意されている Vite なんかは、フロントエンドオンリーの SPA 用って感じ。自由度も高い。

Angular は? → Angular Universal

Angular そのものが堅牢で、フレームワークの様相を呈していて、Angular CLI はそれをサポートする立場とすると、Next.js や Nuxt.js にほとんど相当しているといえる。

SSR に対応する、Universal JS を実現するという意味であれば、Angular Universal がその位置に来るかな。

もう少しバックエンドもサポートするなら、Angular に近い雰囲気でバックエンドが作れる NestJS の Universal モジュールを使うのが良いかと。

Universal JavaScript とは

サーバサイドもクライアントサイドも JS にすることでコードが共通化できるという設計論。

Svelte と Sapper

Next.js や Nuxt.js でお馴染みの構成。フロントオンリーの Svelte、全部入りフレームワークの Sapper。

以上

こんな感じかな。