Node.jsは、UNIXライクなプラットフォーム上のV8 JavaScriptエンジン用のイベント駆動型I / Oフレームワークです。 Node.jsはクロスプラットフォームでオープンソースであり、開発者にオンザフライのネットワークおよびサーバーアプリケーションを作成するために必要なすべてのツールを提供し、オペレーティングシステムに関係なくJavaScriptですべてのコードを記述できます。
おそらくNode.jsの最大の機能はNPMパッケージマネージャーです。これにより、Node.js開発者は、アプリケーション、プラットフォーム、ソフトウェアの作成を簡単に開始できる220,000以上のユニークなモジュールを使用してライブラリに接続できます。
Node.jsは公式に90,000,000回以上ダウンロードされています。 Node.jsは、もちろんWeb開発者の心をつかんだものですが、ロボット、ドローン、その他の興味深いことを扱うなど、他の分野でも使用できます。
以下では、Web開発用の20のNode.jsフレームワークを見ていきます。 リストに移りましょう!
エクスプレス
Expressは、Node.jsアプリケーション用の最小限の柔軟なWebフレームワークであり、モバイルおよびWebアプリケーション用の広範な機能セットを提供します。
Expressは、よく知られているように、Railsに大きく依存している他のフレームワークとは異なり、独自の方法で開発されますが、Sinatraと呼ばれる別のRubyフレームワークから多くを借りました。 概念は単純です。フレームワークは、準備に多くの時間を必要とせずに、すぐに起動して作業するための十分な機会を提供します。
これは、ほとんどのサイトを非常に簡単に作成できるフレームワークです。 最初に行う必要があるのは、インストールです。 nodeコマンドと一緒に、npmコマンドを取得します。 このツールを使用すると、コミュニティによって作成された膨大な数のモジュールにアクセスできます。Expressはそのうちの1つにすぎません。
→Express での開発の例 。
→ 公式サイト
流星
Meteorは、リアルタイムWebアプリケーションを作成できるオープンソースのMVCフレームワークです。 プラットフォームの最も重要な機能の1つは、サーバー側とクライアント側の両方で同じコードを使用できることです。 原則として、データはHTMLコードではなく、サーバーとクライアントの間で送信されます。 このフレームワークは、OS X、Windows、およびLinuxをサポートしています。 そのリアクティブプログラミングモデルにより、少ないJavaScriptコードを使用してアプリケーションを作成できます。
→Meteor での開発の例 。
→ 公式サイト
平均
MEAN(MongoDB、Express.js、Angular.js、Node.jsの略)は、LAMPのようにWeb開発に使用されるサーバーソフトウェアのセット(複雑な)です。 クライアント、サーバー、およびデータベースレベルでは、MEANスタック全体がJavaScriptで記述されます。 基本プラットフォームをOS(Linux)からJavaScriptランタイム(Node.js)に移行すると、OSに依存しなくなります。Node.jsは、Linuxと同様にWindowsおよびOS Xで動作します。
LAMPとMEANの間の主な変化は、従来のサーバー側のページ生成から、クライアント側の単一ページアプリケーション(SPA)指向への変化です。
→MEAN の開発例 。
→ 公式サイト
フラットアイアン
Flatironは、開発者が再利用可能なコンポーネントを使用してデスクトップおよびモバイルアプリケーションを作成できるフルスタックフレームワークです。 フレームワークの主な機能には、統合されたテンプレートシステム、プラグイン管理システムなどが含まれます。
→ 公式サイト
機関車
Locomotiveは、MVCパターンとREST原則のサポート、およびExpressでの稼働時間のおかげで、最も強力なNode.jsフレームワークの1つとして位置付けられています。 Locomotiveはデータベースおよびテンプレートエンジンとうまく統合されているため、開発者はこの広範なフレームワークに何度も何度も戻る必要があります。
→ 公式サイト
合計
Total.jsは、明らかな理由はありませんが、最も忘れられているNode.jsフレームワークの1つであり、Total.jsは大きくリッチなフレームワークであり、開発者に大きなチャンスを提供します。 わかりやすいURL、XHR、JSON、LESS CSS(CSS 3)、javascriptミニマイザー、XSS保護、リソース、モジュールをサポートし、MVCアーキテクチャもサポートします。
このフレームワークには依存関係はありません。 すべての機能はコアにあります。 Node Package Managerを使用して、任意のモジュールをインストールできます。 唯一の顕著なマイナスは、同じExpress.jsと比較した場合のパフォーマンスです。
→ 公式サイト
コア
Express.jsフレームワーク開発チームは、Express.jsよりも短くて明るいことを約束するNode.jsの次世代の未来的なフレームワークであるKoa.jsと呼ばれるさらに別のフレームワークを作成しました。 Koa.jsは、WebアプリケーションとAPIの構築に焦点を当てています;その主な利点は、ジェネレーターです。これは、コールバックを回避するだけでなく、開発者がバグを修正するのを助ける素晴らしい方法です。
→ 公式サイト
ハピ
Walmart Labsチームが開発したあまり知られていないフレームワーク。 ExpressやRestifyとは異なり、わずかに異なるアプローチを採用しており、すぐに使用できる機能が増えています。 プラスには、リクエストの受信を完全に制御し、ドキュメントの生成に関する詳細なヘルプが含まれます。
→ 公式サイト
ダイエット
Diet.jsは、高速でスケーラブルなAPIとアプリケーションを作成するための非常に小さなモジュラーNode.jsフレームワークです。 ホストコントローラーを使用して複数のホストを管理し、ルーターを使用してクリーンなAPIとURLを作成できます。ソフトウェアを使用すると、モジュールを使用してアプリケーションとAPIを拡張できます。 フレームワークは非常に軽量であるにもかかわらず、最大の結果をもたらします。また、ソースコードにアクセスできるため、いつでも貢献者になれます。
→ 公式サイト
コンパウンド
Compound.jsは最も信頼性の高いMVCフレームワークの1つであり、開発者はその場でアプリケーションを作成できます。 コンパウンドには、優れたコミュニティサポートと広範なドキュメントもあります。
このフレームワークは同様の論理式と考え方を提供するため、CompoundはRuby On Railsから多くを借りてきました。 クイックAPIソリューションを必要とする人のために、Compound.jsおよびRESTful APIで本格的なアプリケーションを構築する方法に関するネットワーク上のガイドがたくさんあります。 Amazon AWSはNode.jsとCompound.jsの統合も提供します。
→ 公式サイト
ゲディ
Geddyは、githubユーザーmdeの非常に興味深いフレームワークです。 その機能:モジュール性、明確なコード、アプリケーションテンプレートの自動生成。 socket.ioおよび組み込みのpassportjs認証モジュールとの統合があります。 Geddy.JSは、信頼性の高いリアルタイムアプリケーションを作成するためにいくつかのコマンドのみを必要とします。 一般に、フレームワークは、コマンドラインインターフェイスを介して機能するかなり大きなコマンドセットを提供し、モデル、コントローラー、ビューの作成、認証認証socket.io統合の設定など、ほとんどのルーチンタスクを自動化できます。 このようにして、Geddyを使用すると、開発者はアプリケーションのコアロジックに集中できます。
→ 公式サイト
帆
Sails.jsは、Node.jsアプリケーションを簡単かつ迅速に作成できるMVCフレームワークです。 Sails.jsは、リアルタイムアプリケーションの作成に最適です。 Ruby On RailsのようなMVC(Model-View-Controller)テンプレートに基づいていますが、スケーラブルなサービス指向アーキテクチャを備えたソフトウェアインターフェイスである最新アプリケーションの要件もサポートしています。 このフレームワークは、チャットルーム、リアルタイムダッシュボード、およびマルチプレイヤーゲームの開発に特に適しています。
→ 公式サイト
アドニス
Adonisは、適切な基盤を持つNode.js向けの真のMVCフレームワークです。 大規模なアプリケーションを作成し、ES6のすべての機能を使用してコードをより正確で保守しやすくするために、人気のあるLaravel PHPフレームワークのサービスプロバイダーの概念を採用しています。
→ 公式サイト
ラプソディ
Rhapsody.jsのコアコアは、Express.jsフレームワークによってサポートされています。 Rhapsodyは、開発者がモデル用のRESTful APIを作成するのに役立ち、フレームワークはソケットをサポートし、リアルタイム開発環境で使用できる独自の機能の幅広い選択も提供します。 すべてのデータベースで動作します。
→ 公式サイト
ストラピ
Strapiは、アプリケーションインフラストラクチャの構築に注力する代わりに、再利用可能なロジックの作成に注力します。 このフレームワークは、数日(または数時間)でアプリケーションを作成し、構造化と設計に数週間を費やしたくないソフトウェア開発者にとって優れたソリューションです。
StrapiはKoa.jsフレームワークを使用して作成されます 100%JavaScriptで構成されています。
Strapiはセキュリティの問題に特に注意を払っています;フレームワークには、ニーズに応じてのみ機能するセキュリティのいくつかの層が付属しています。
→ 公式サイト
ソケットストリーム
Socketstreamは、リアルタイムで実行される単一ページのWebアプリケーションを作成できるNode.jsのフレームワークです。
サーバーとクライアント間のデータは、高速双方向RPC呼び出しとしてWebソケットを介して非同期に送信されます。これにより、非常に高速なWebアプリケーションを非常に高速に作成できます。 詳細はこちら。
→ 公式サイト
モヒート
Mojitoは、クライアント側とサーバー側のプログラムを作成できるJavaScript Webフレームワークです。 Mojitoを使用すると、開発者はバックエンドとフロントエンドに異なるコードを記述する必要がなくなります。 ブラウザでJavaScriptが有効になっていない場合でも、サーバー側で同じコードを使用してMojitoアプリケーションが実行されます。
→ 公式サイト
キャットベリー
Catberry.jsは、モジュラーアーキテクチャと高速レンダリングメカニズムを使用して、node.jsで同形JavaScriptアプリケーションを開発するためのフレームワークです。 このフレームワークを使用すると、アプリケーションモジュールを1回記述するだけで、検索ロボットのページのレンダリングにサーバーで使用し、単一ページアプリケーションのブラウザーでテンプレートのデータのみを要求して使用できます。 詳細はこちら。
→ 公式サイト
セネカ
Senecaは、実際にはフレームワークのように機能するツールボックスであるため、Node.jsフレームワークのリストでユニークです。 Senecaは、作成中のアプリケーションの中核を維持するのに役立つ多くのプラグインへのアクセスを提供します。 また、この機能により、アプリケーションのより重要な側面に集中できます。 Senecaはデータベース、コンポーネント、依存関係などを処理するため、必要な作業はコードを書くだけです。 Senecaはコマンドをサポートしているため、アプリケーションが適切な値を見つけるたびに、適切なコマンドを呼び出してタスクの完了を支援します。 Intel、CoderDojo、GSDなどの有名企業は、セネカを積極的に活用しています。
→ 公式サイト
アクションヒーロー
ActionHeroは、最も有名なAPIフレームワークの1つです。 プロジェクト向けにスケーラブルで再利用可能なNode.js APIサーバーを迅速に開発するのに役立ちます。 ActionHeroは、既存のアプリケーションやプラットフォームと最初に連携するAPIサーバーを構築できるツールキットとして機能します。 何万人ものユーザーがいるので、ActionHeroを使用して毎日正しいワークフローを確保するために、常に正しい答えとアイデアを見つけることができます。
→ 公式サイト
節点
Nodal.jsは、Node.js開発者向けに特別に作成されたWebサーバーです。 これは、難しい決定を容易にし、通常よりもはるかに短い時間で持続可能な製品を作成するためのスペースを提供するフルスタックフレームワークです。 Herokuを使用しているユーザーは、数回クリックするだけでNodalサーバーを展開できます。
このフレームワークは新しいものですが、Djangoなどのフレームワークを使用したベテランから既に大きなサポートを受けています。
→ 公式サイト
このコレクションがあなたの役に立つことを願っています。 リストにお気に入りのフレームワークが見つからなかった場合は、コメントで言及してください。