ホーム テクノロジー 開発 ExpressJS の概要 [+6 学習リソース]

ExpressJS の概要 [+6 学習リソース]


ExpressJS は、モバイル アプリケーションと Web アプリケーションの両方に一連の機能を提供する、最小限で柔軟な Node.js Web フレームワークです。

このオープンソース Web フレームワークは、TJ Holowaychuk によって開発されました。 ExpressJS は Node.js Foundation によって保守されています。

ExpressJS を使用する理由

ExpressJS は、開発者がバックエンド、Web アプリ、Web サイトを構築するのに役立つシンプルな API を提供します。したがって、この Web フレームワークは、Python の Django や Ruby の Rails に相当します。

Expressjs
Expressjs

ただし、独自の 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 を作成できます。ルーター インスタンスを使用してコードを管理可能なファイルに分割できるため、ルーティング システムが肥大化する必要はありません。アプリケーションをより適切に管理するために、異なるルートを 1 つのディレクトリ/フォルダーにグループ化することもできます。

ExpressJS のアーキテクチャ

画像クレジット: turing.com
ExpressJS-1 のアーキテクチャ
ExpressJS-1 のアーキテクチャ

Express アプリケーションには次のコンポーネントが含まれます。

  • 依存関係。 ExpressJS 自体は依存関係です。 npm コマンドを使用して他の依存関係をインストールできます。
  • ミドルウェア。 ExpressJSセットアップにおけるミドルウェアは、リクエスト/レスポンスのサイクルを決定する機能です。
  • インスタンス化。これらは、オブジェクトを作成するために使用される単なるステートメントです。
  • 構成。構成は、インスタンス化後または別のファイルで定義されるカスタムのアプリケーションベースの設定です。
  • ルート。ルートは、クライアントがさまざまなリソースに到達したり、サーバーによって定義された特定のアクションを実行したりするために使用するエンドポイントです。
  • ブートストラップサーバーapp.listen()関数を実行して開発サーバーを起動します。

はじめに: ExpressJS

ExpressJS は Node.js 上で実行されるため、PC にインストールする必要があります。

開発環境のすべての依存関係を管理するには、Node Package Manager (npm) も必要です。

Node は、オペレーティング システムに基づいて公式 Web サイトからインストールできます。

完了したら、これら 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 ジェネレーターを使用すると、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 マップなどの大規模なモバイル アプリや 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
1

このコースは、 1 つのリソースからバックエンド スタック全体を学習したい場合に最適です。コースの最後には、ExpressJS およびその他の関連テクノロジーを使用して、高速でスケーラブルな RESTful API を作成できるようになります。

#2.ジャストエクスプレス

2
2

ExpressサーバーをREST APIとして運用したい場合はこちらのコースとなります。このコースでは HTTP の基本も学び、リクエスト/レスポンス サイクルを簡単に理解できるようにします。

#3. React、NodeJS、Express、MongoDB

3
3

このMERN フルスタック コースは、 JavaScript フルスタック アプリケーションの作成方法を学びたい場合に最適です。 ReactJS を NodeJS、Express および MongoDB に接続する方法、認証と認可を実装する方法などを学びます。

#4. Express in Action: Node.js アプリケーションの作成、構築、テスト

『Express in Action』は、Node と ExpressJS を使用して Web アプリケーションを作成する手順を詳しく説明した本です。特に、ExpressJS アプリのセットアップ方法、MongoDB を使用したデータ ストレージ、Express アプリのテスト方法などを学びます。

#5. Express.js: Node.js の Web フレームワークに関するガイドブック

Express.js: Node.js の Web フレームワークに関するガイド ブックでは、ExpressJS Web フレームワークの詳細な説明を提供します。本書の説明は、ExpressJS がユーザーに提供するさまざまなモデルに基づいています。

#6. ExpressJSの公式ドキュメント

ExpressJS は十分に文書化された Node.js フレームワークであり、公式ドキュメントで開始するために必要なすべてを学ぶことができます。このリソースは、初心者でも上級開発者でも関係なく使用できます。

まとめ

ExpressJS は、現代世界で最も有名な Node.js Web フレームワークの 1 つです。強力な機能の品揃えとその容易な学習曲線により、長年にわたりこの地位を維持してきました。 ExpressJS は Node.js の基礎として機能します。つまり、ExpressJS を理解することで、関連する他のフレームワークを簡単に理解できるようになります。

「 ExpressJS の概要 [+6 学習リソース]」についてわかりやすく解説!絶対に観るべきベスト2動画

初心者向け Node.js フルコース |完全なオールインワン チュートリアル | 7時間
Getting Started with Express – Node.js Tutorial 6