ExpressJS の紹介 [+6 学習リソース]
公開: 2023-01-04ExpressJS は、モバイル アプリケーションと Web アプリケーションの両方に一連の機能を提供する、ミニマリストで柔軟な Node.js Web フレームワークです。
このオープンソースの Web フレームワークは、TJ Holowaychuk によって開発されました。 ExpressJS は Node.js Foundation によって維持されています。
ExpressJS を選ぶ理由
ExpressJS は、開発者がバックエンド、Web アプリ、および Web サイトを構築するのに役立つシンプルな API を提供します。 したがって、この Web フレームワークは、Python の Django や Ruby の Rails に匹敵します。
ただし、API/アプリケーションを構築する独自の方法を持つ Django や Rails とは異なり、ExpressJS は物事を行うための「最善の方法」がないため、非常に柔軟でプラグイン可能です。
要約すると、ExpressJS を使用する理由は次のとおりです。
- API と Web アプリケーションを簡単に作成できます。
- その API は堅牢で、ルーティングを容易にします
- 非同期およびシングルスレッド
ExpressJSの特徴
#1。 MEAN スタックの一部
JavaScript は、フルスタック アプリケーションのフロントエンドとバックエンドの両方で使用できるフレームワークを備えているため、依然として最も人気のあるプログラミング言語の 1 つです。
一部の Javascript 開発者は、MongoDB、Express、Node の短縮形である MEAN を使用します。 js と AngularJS を使用してフルスタック アプリケーションを作成します。 一部の開発者は Reactjs を好み、MERN (MongoDB、Express、Node.js、および Reactjs) スタックを使用します。 どちらのオプションでも、Expressjs は一定のままです。
#2。 柔軟で高速
ExpressJS は最小限に設計されているため、大規模なフレームワークのさまざまな部分を習得する必要はありません。 優れたルーティング システム、すぐに使用できるコンテンツ ネゴシエーション、およびミドルウェアの存在により、高速化されます。
#3。 スケーラブル
Express 上に構築されたアプリケーションは簡単にスケーリングできるため、多くの組織が Express を使用する理由が説明されています。 大規模なアプリケーションを開発する場合、Express に追加の構成はほとんどまたはまったく必要ありません。 多くのモジュール、パッケージ、および追加のリソースが存在するため、大規模なアプリケーションを簡単に開発することが現実的になります。
#4。 ミドルウェアの存在
ExpressJS には、開発プロセスを高速化および強化するための一連のミドルウェア アプリがあります。 ミドルウェアを使用すると、フレームワークは、クライアント リクエストの前後に典型的なスクリプトを簡単に実行できます。 ミドルウェアの存在により、開発者は、サインアップ/インおよびログアウトなどのクライアント アクションを簡単に確認できます。
#5。 強力なルーティング システム
ExpressJS のルーティング システムにより、開発者はほぼすべての HTTP リクエストを処理する強力な API を作成できます。 ルーター インスタンスを使用してコードを管理しやすいファイルに分割できるため、肥大化したルーティング システムで終わる必要はありません。 アプリケーションをより適切に管理するために、さまざまなルートを単一のディレクトリ/フォルダーにグループ化することもできます。
ExpressJS のアーキテクチャ
Express アプリケーションには次のコンポーネントがあります。
- 依存関係。 ExpressJS 自体は依存関係です。 npm コマンドを使用して、他の依存関係をインストールできます。
- ミドルウェア。 ExpressJS セットアップにおけるミドルウェアは、リクエスト/レスポンスのサイクルを決定する機能です。
- インスタンス化。 これらは、オブジェクトを作成するために使用される単なるステートメントです。
- 構成。 構成は、インスタンス化後または別のファイルで定義されるカスタム アプリケーション ベースの設定です。
- ルート。 ルートは、クライアントがさまざまなリソースにアクセスしたり、サーバーによって定義された特定のアクションを実行したりするために使用するエンドポイントです。
- ブートストラップ サーバー。
app.listen()
関数を実行して、開発サーバーを起動します。
はじめに: ExpressJS
ExpressJS は Node.js 上で動作するため、PC にインストールする必要があります。
開発環境のすべての依存関係を管理するには、Node Package Manager (npm) も必要です。
お使いのオペレーティング システムに基づいて、公式 Web サイトから Node をインストールできます。
完了したら、これら 2 つのコマンドを実行して、node と npm がそれぞれインストールされていることを確認します。
node --version
npm --version
ExpressJS をインストールする
次の手順を実行します
- シンプルな ExpressJS アプリを作成します。 手動で作成するか、これらのコマンドを使用できます
mkdir myapp
cd myapp
- このコマンドを使用して package.json ファイルを作成します
npm init
- 表示されるプロンプトに基づいてコマンドを受け入れます。 しかし、変更; エントリ ポイント: (index.js) から app.js
- このコマンドを使用して ExpressJS をインストールします
npm install express
- 「Hello World」を表示
ルート ディレクトリ内でファイルを作成し、app.js という名前を付けます。
このコードを追加
const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })
このコマンドを実行して、ローカル サーバーを起動します。
node app.js
ブラウザで http://localhost:3000/ にアクセスすると、この出力が表示されます
Express アプリケーション ジェネレーター
上記で手動で作成したアプリケーションは非常に基本的なものです。 ただし、Express ジェネレーターを使用することで、ExpressJS アプリの手動作成を回避できます。
- これは、ExpressJS アプリを生成するためのコマンドです。
npx express-generator
- 8.2.0 より前のバージョンの node.js を使用している場合は、アプリケーション ジェネレーターをインストールして、これらのコマンドを使用して起動できます。
npm install -g express-generator
express
- アプリを作成する
express --view=pug myapp
上記のコマンドは、「myapp」という名前のアプリを生成します
- これらのコマンドを使用して、必要なすべての依存関係をインストールします
cd myapp npm install
- オペレーティング システムに応じて開発サーバーを実行します。
Windows PowerShell の場合。
PS> $env:DEBUG='myapp:*'; npm start
Windows コマンド プロンプトの場合。
> set DEBUG=myapp:* & npm start
macOS または Linux の場合。
DEBUG=myapp:* npm start
ブラウザで http://localhost:3000/ にアクセスすると、このように表示されます
ExpressJSで開発できるツール・アプリ
#1。 フィンテック アプリ
銀行や金融機関はデジタル化を進めており、フィンテック アプリの需要が高まっています。 このようなアプリは、金融および銀行サービスをサポート/有効化するために使用されます。 ExpressJS は、スケーラブルなフィンテック アプリを作成するための強力なフレームワークであることが証明されています。
#2。 シングルアプリ アプリケーション
アプリケーション全体が 1 つのページにルーティングされる単一アプリ アプリケーションは、アプリケーション開発の最新の方法になりました。 Airbnb、Netflix、Pinterest、Paypal、Gmail、Google Maps などの大規模なモバイルおよび Web アプリは、シングルアプリ アプリケーションの完璧な例です。 ExpressJS は、ルーティングが簡単な単一アプリ アプリケーションを作成するための完璧なフレームワークです。
#3。 ストリーミング アプリケーション
Spotify や Netflix などのアプリは、エンド ユーザーにはシンプルに見えるかもしれません。 ただし、このようなアプリは複雑で、複数のデータ層があります。 ExpressJS は、非同期データ ストリームを効率的に処理できるため、このようなアプリを作成するための優れた選択肢です。
#4。 リアルタイム コラボレーション ツール
現代の作業環境は、共通の目標のためにさまざまなタスクに協力するチームで構成されています。 ExpressJS には、コラボレーション ツールの開発をサポートするさまざまな機能が付属しています。 このフレームワークは、WebSocket と簡単に統合できるため、ダッシュボードやリアルタイム アプリケーション チャットの作成にも役立ちます。
利点: ExpressJS
- 無料でオープンソース。 ExpressJS を使用するために料金を支払う必要はありません。 ニーズに合わせて既存のコードを変更することもできます。
- 使いやすさ。 ExpressJS を使用すると、複雑なプロセスに従うことなくコードを記述できます。 このフレームワークには、プロセスを簡素化するためのツールと機能がすでにたくさんあります。
- 急速な発展。 ExpressJS には、すべてをゼロから作成しないようにするための多くのテンプレートがあります。
- 素晴らしいパフォーマンス。 ExpressJS で作成されたアプリは模範的なパフォーマンスを発揮するため、小規模アプリとエンタープライズ アプリの両方で使用できます。
短所: ExpressJS
- 一部のエラー メッセージは役に立ちません。 他のバックエンド/API 開発フレームワークとは異なり、ExpressJS の 404 応答は必ずしもエラーを示しているわけではありません。
- 物事を行う最善の方法がないため、コードの編成があまり得意ではありません。
学習リソース: ExpressJS
#1。 Node.js、Express、MongoDB など
このコースは、1 つのリソースからバックエンド スタック全体を学びたい場合に最適です。 コースの最後には、ExpressJS およびその他の関連テクノロジーを使用して、高速でスケーラブルな RESTful API を作成できます。
#2。 ただエクスプレス
そのExpress ServerをREST APIとして運用したい場合のコースです。 このコースでは、HTTP の基本についても説明し、要求と応答のサイクルを簡単に理解できるようにします。
#3。 React、NodeJS、Express、MongoDB
この MERN フルスタック コースは、JavaScript フルスタック アプリケーションの作成方法を学びたい場合に最適です。 ReactJS を NodeJS、Express および MongoDB と接続する方法、認証と承認を実装する方法など、さまざまなことを学習します。
#4。 Express in Action: Node.js アプリケーションの作成、構築、およびテスト
Express in Action は、Node と ExpressJS を使用して Web アプリケーションを作成する手順を詳しく説明した本です。 ExpressJS アプリのセットアップ方法、MongoDB を使用したデータ ストレージ、Express アプリのテスト方法など、さまざまなことを学習します。
プレビュー | 製品 | 評価 | 価格 | |
---|---|---|---|---|
Express in Action: Node.js アプリケーションの作成、構築、およびテスト | $39.99 | アマゾンで購入 |
#5。 Express.js: Node.js の Web フレームワークに関するガイドブック
Express.js: Node.js の Web フレームワークに関する Guide Book は、ExpressJS Web フレームワークの詳細な調査を提供します。 この本の説明は、ExpressJS がユーザーに提供するさまざまなモデルに基づいています。
プレビュー | 製品 | 評価 | 価格 | |
---|---|---|---|---|
Express.js: Node.js の Web フレームワークに関するガイドブック | $8.38 | アマゾンで購入 |
#6。 ExpressJS 公式ドキュメント
ExpressJS は十分に文書化された node.js フレームワークであり、公式ドキュメントで開始するために必要なすべてを学ぶことができます。 このリソースは、開発を始めたばかりか上級開発者かに関係なく使用できます。
まとめ
ExpressJS は、現代世界で最も有名な Node.js Web フレームワークの 1 つです。 強力な機能の品揃えとその簡単な学習曲線により、長年にわたってこの地位を維持してきました。 ExpressJS は Node.js の基盤となるため、これを理解することで関連する他のフレームワークを簡単に把握できます。