1 nodejsで開発するウェブアプリケーション、おすすめのnodejsフレームワークについて
1−1 はじめに
node.jsは初心者がプログラミングだけでなく、ウェブサービスに関するソリューションを学ぶ上でも非常に有益な言語です。おすすめする理由は以下の3点です。
- 開発環境自体で、node.jsを利用する機会が多い。
- フロントもバックエンドも両方において利用出来る
- リクエストとレスポンス、その他ウェブに関する知識を1つの言語を通して、学べる
1−2 フレームワークに取り組む前に
より詳しく知りたい、一から学び初めたいという場合は下記のリンクを参考にしてみてください。
2 フレームワークに対するアプローチについて
フレームワークと呼ばれる物にはシンプルにライブラリの集合なような軽量な物と フロントからバックエンドまで幅広く機能をカバーするフルスタックな物物があります。
選定の基準はいくつかあると思いますが、以下の点は抑えておくポイントとして重要です。
2−1 開発やサポート状況を確認し
どの言語やライブラリでも状況は同じですが、現状の開発が継続的に行われてるか、上がってるバグなどへの対応はされているかなどは、公式サイトや、Githubなどのリポジトリをチェックします。
2−2 開発のしやすさ。
ジェネレーター系のコマンドの有無や、サードパーティによるライブラリの充実は開発のしやすさに繋がります。 また、公式ドキュメントの充実やコミュニティの充実具合も開発のしやすさに繋がります。
2−3 日本語ドキュメントの多さ。
英語でのドキュメントが苦手な方は日本語ドキュメントが充実してるかどうかを選定の基準にするのも重要です。 また、バージョンが日々変わっていくので、バージョン毎に日本語でフォローされてるかどうかも重要です。 書籍での出版の有無もチェックしましょう。
3 nodejsで使えるフレームワークについて
各フレームワークの2022年4月23日時点でのスターの数を記載してます。
3−1 express
- express 56.6k
node.jsのフレームワークの代表格と言えばexpressです。シンプルでありながら拡張性が高く、自由な構成が可能な為、 多く利用されています。また、以降説明するフレームワークの中でもexpressの機能を取り込んでいる物も多いです。
3−2 koa.js
- koajs 32.5k
expressの開発メンバーが関与しています。
3−3 Loopback
- loopback loopback3 - 13.3k | loopback4 - 4.1k
Typescriptで書けます。
3−4 Nestjs
- nestjs 45.8k
Typescriptで書けます。
3−5 Meteor
- Meteor.js 42.9k
古くからあり、人気のFWです。
3−6 Adonisjs
- Adonisjs 12.2k
Laravelライク
3−7 Sails.js
- Sails.js 22.2k
Railsライク
3−8 fastify
- fastify 22.6k
スピードとセキュリテイが売りだそうです。
3−9 hapi.js
- hapi.js 13.8k
4 その他の選択肢について
昨今のヘッドレスCMSの普及により、フロント部分のみを担当させるフレームワークも人気です。
4−1 Next.js
- Next.js 84.1k
Reactと言えば・・・ Vercelの普及によって爆発的に広がってるフレームワーク SSRにも対応してるので、実質これ一本でフロントもバックエンドもカバー可能です。
4−2 Gatsbyjs
- Gatsbyjs 52.6k
Reactと言えば・・・ SSRには未対応、SSG対応。静的ジェネレーターとしての役割が大きい。
4−3 Nuxt.js
- Nuxt.js 39.7k
Vueといえば・・・
4−4 thers
Jekyll,Hugo等