Node.jsでおすすめのフレームワークは何ですか?

私は、Node.jsでWebアプリケーション開発を勉強しています。調べたところexpressフレームワークが人気と出てきましたが、他のフレームワークとの違いを知りたいです。
Node.jsでおすすめのフレームワークは何ですか?今トレンドのフレームワークがあれば教えてください。
また、フレームワークの特徴やメリット・デメリットについても教えて欲しいです。よろしくお願いします。
1年前
view数 238

    回答を投稿して企業にアピールしましょう!

    Q&Aで投稿された回答は、
    企業側に表示されるプロフィールにも投稿履歴として表示されます。

    Offersにログイン・新規登録して、気になるテーマやトピックを話してみよう!

    \回答があります!/

    • yuki motokawa

      エンジニア

      1年前

      フレームワークによっても種類がありますが
      ◯MVCと呼ばれるデータベースとかビューとかコントローラーとか諸々揃って、ものによってはログインやファイル転送メール送信などもある程度やってくれるオールインワンなタイプ
      (meteorjs、adonisjs)

      ◯シンプルなルーティングのみやってあとはライブラリでデータベースとやり取りしたりログイン実装してねというタイプ(express)

      ◯よく界隈で人気のあるNuxtやらNextなどのレンダリング系ライブラリとタッグを組みサーバーサイドレンダリングなどに特化したもの

      大体はこのあたりが主なきがします。
      今だと基本的にはnuxtjsとかnextjsとか流行ってますが、express.jsやadonis.jsなどをAPIサーバーにしてreactやvueをフロントとして使うような形もまだまだ現存です。そう考えるとシンプル目なものは使いやすいですね。オールインワンなタイプはかえってごちゃごちゃしてきそうです。一方でブログのような使い方をするのであればオールインワンなタイプは展開が早くいいかもしれません。シンプルなフレームワークでは技術選定導入実装の手間がかかります。
      (編集済み)
      view数 35
      • セーヤン

        エンジニア

        1年前

        Expressは軽量であり、今でもバックエンドでWeb APIの実装として選定するケースは多いと思います。
        機能に応じてライブラリと組み合わせて構築していくことになります。
        柔軟性が高い一方で自身でアーキテクチャーを定めて設計、実装されないと密結合となってしまい、保守性が下がってしまうリスクがあります。

        以前に、Node.js/Expressを活用して、オニオンアーキテクチャーを基に構築した内容を記事にしてみましたので、ご参考になれば幸いです。
        https://zenn.dev/ikefukurou777/articles/65cfd0289ac74d

        他には、Node.jsのフレームワークであるNestJSを選定されることも近年ではあるかと思います。
        Expressに比べて、フレームワークに用意されているレールに沿った設計、実装ができるので、その点はやりやすいかと思います。私も業務で使っています。
        ただ、一方でNestJSの公式サイトはとても良いのですが、Expressに比べてはまだ情報量が少ないため、キャッチアップに時間を要するかと思います。
        view数 20
        • Shinichi Kogiso

          デザイナー

          1年前

          他の方も書いてるものと重複しますが、オススメのフレームワークを書きます。

          ### [NestJS](https://nestjs.com/)

          * 特徴: TypeScriptをフルサポートするフレームワークで、Angularにインスパイアされた構造。
          * メリット: 強力なアーキテクチャ、クリーンなコードベース。マイクロサービスアーキテクチャに適している。
          * デメリット: 比較的新しいため、コミュニティが成熟していない。


          ### [Fastify](https://fastify.dev/)

          * 特徴: 高速なパフォーマンスを目指したフレームワーク。低オーバーヘッドで設計されている。
          * メリット: 非常に高速。シンプルなセットアップと使いやすさ。
          * デメリット: まだ新しく、一部の機能に制限がある。
          (編集済み)
          view数 20