2022年4月26日火曜日

Gatsbyで GraphQL & Next.js、Nuxt.js、Gatsby.jsなどフロントエンドフレームワークがあり、Svelteも出てきており一体どれを学べば良いか分かりません。それぞれの特徴と今後の展望を教えて頂けませんか? & Next.js と Gatsby ならどちらがオススメですか?

Gatsbyで GraphQL

https://www.google.com/search?q=Gatsby%E3%81%A7%E3%80%80GraphQL&sxsrf=APq-WBtFZ_g4VPciO8zpvfsEt7vq-AcaGQ%3A1650938632382&source=hp&ei=CFNnYr6IFcjP-QbdxLGwCA&iflsig=AHkkrS4AAAAAYmdhGPsyPNLyvjLfGp-4y1Z0OKAtKndg&ved=0ahUKEwi-rOjV0bD3AhXIZ94KHV1iDIYQ4dUDCAk&uact=5&oq=Gatsby%E3%81%A7%E3%80%80GraphQL&gs_lcp=Cgdnd3Mtd2l6EAM6BwgjEOoCECdQ4ghY4ghgoBdoAXAAeACAAUWIAUWSAQExmAEAoAECoAEBsAEK&sclient=gws-wiz

Oki Kazuhide

こちらの質問を拝見し、少し気になったので調べてみました。

まずはここ一年の npm install 数

Nextjsがだいぶ伸びてますね。ほかは似たりよったりか。

Next.jsやNuxt.jsのベースとなる Reactや Vueなどもチェックしてみますか。(フレームワークとかライブラリとか細かいことは気にせずに)

Svelteは地を這ってますね。React や Vueに比べてエコシステムがまだまだ貧弱な感じはします。

こちらGithubのスター数 (2016〜現在)

上記のフレームワークを比較してます

やはりReactのフレームワークのNext.js, Gatsby は強いですね。Reactの人気に支えられてるように見えます。

Next.jsは同じReact のフレームワークでもここ1,2年Gatsby より伸びてますね。

ここからは自分の感想ですがNext.jsは自由度がGatsbyより高く、学習コストが低いので昨今のWebフロントエンドの要求の高度化に合わせて人気が高まっている印象です。GatsbyはNext.jsより狭い範囲の領域で、目的にハマればしっかりパフォーマンスを出してくれるイメージ。クセ強いけど。

Svelte少し触りましたが、書き味が可愛らしくて好きです。仕事で使えるチャンスないかなぁ

回答です。

迷ったら取り敢えずReact(Nextjs)やっとけば良いのではないでしょうか。どれを学べば良いかと悩む方なら、周りにわからないことなどを聞ける人がいたほうが良いし、Web上に情報が多い方が良いですし。

もちろん、結局のところは目的によりますが…。


ー--

回答数: 1件

機能は重なりあうところもあり、イメージ先行かもしれませんが、両者は用途がちがいます。

  • JamStackとしてCMSにデプロイするサイト構築の手段としてGatsby
    • テーマシステムと、多様なプラグイン、そしてその両者の結合であると言えるテーマスタータープラグイン、wordpressやHeadless CMSを始めとする多様なデータソースの活用
  • Webアプリケーション爆速構築の手段としてのNext
    • Zeit社のPaaS Vercel(旧名Now)にデプロイするとなお便利

というところです。前者は「サーバサイドの作り込み」を殆ど意識しないはずです。

Create React Appと比較すると、SSGもSSRも本格的にやろうとするとかなり難しいので、それへの支援という意味があります。SSGの方向で花開いているのがGatsby。NextもSSGに舵を切りつつあるようですが。


Staticサイトを作るときNext.jsかGatsbyどちらが良いですか?

規模が大きいまたはページの情報源が多種多様な複雑なサイトであればGatsby、個人ブログなどで、情報源がmarkdown一種類であればnextjsでも良いでしょう。

プラグインとして提供される機能はGatsbyのほうが圧倒的に多く、その機能を使って本格的なCMS、wordpress代替みたいなこともGatsbyならそれだけで手が届くし、それを狙ってもいます。データのクローラ的なものが充実しています。

Nextjsは独自のデータクロールを持たないので、それをやるには自前で書くか、いったんヘッドレスCMSなどにデータを格納すべきでしょう。高機能なヘッドレスCMSとの組み合わせが前提になってくるだろうということです。

なおGatsbyのデメリットは重くておおげさすぎるということです。GraphQLもね。まあ便利なんですけどね。

石塚 正浩さんのプロフィール写真

0 コメント:

コメントを投稿