テクノロジー 開発 非公開: API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

API 主導の最新アプリケーションを構築しましょう。

API はユーザー インターフェイスに似ていますが、唯一の違いは、ユーザーがマシンであるかソフトウェアであるかです。

API ファーストの設計アプローチと、それに従うことが合理的である理由を理解しましょう。また、JavaScript とその人気にも焦点を当て、最後に、API とマイクロサービスを構築するための最もトレンドな JavaScript フレームワークについて説明します。

API ファーストのアプローチ

API ファースト設計、または単に API と呼ばれる用語を誰もが聞いたことがあるでしょう。実際、API ファースト設計という用語は、業界でクラウド ネイティブ アプリケーションという用語が言及され始めてから一般的になりました。モノリシック アプリケーションの開発から一定期間が経過し、プログラマーはこれらのアプリケーションをマイクロサービスに分割し始めました。

Web、Android、または iOS デバイスからのこれらのマイクロサービスとのやり取りはすべて、API を通じて行われる必要があります。したがって、これらの API の設計は、これらのインターフェイスにデータを提供する際に重要な役割を果たします。これは、マイクロサービスが通信する媒体が API 以外に 1 つだけであることを意味します。

したがって、API ファーストの設計原則がここに登場します。マイクロサービス/バックエンド サービスの実装を記述する前に、まず API の設計を考慮する必要があります。

覚えておいてください: API はビジネスの推進力であるため、システム開発の最初に開発してください。

API ファーストの設計アプローチでは、API は第一級の市民とみなされます。上記の内容を要約すると、API ファースト アプローチの原則として次の 3 つの重要なポイントが得られます。

  • API はアプリケーションの最初のユーザー インターフェイスです。
  • API が最初にあり、次にアプリケーションが続きます。
  • API が説明されています (おそらく自己説明的です)

Twillio、NETFLIX、Stripe、Algolia、SendGrid、Etsy、Adobe、Amazon など、API ファーストのアプローチを使用している企業は数多くあります。

Amazon は、従業員にこのアプローチを使用するよう指示した最初の企業の 1 つです。このアプローチの重要性は、 ジェフ・ベゾス (アマゾンのCEO) が、このプロセスに従わない者は解雇されるという 警告を伴う ベゾス・マンデート と呼ばれる命令を出したときの出来事(2002年頃)を見れば理解できるだろう。

API ファーストのアプローチの利点

多くの!

以下はその一部です。

  • 再利用可能/組み立て可能なエンタープライズ
  • 並行開発が可能
  • プロジェクトの存続期間全体にわたって全体的なコストを削減します。
  • 失敗のリスクを軽減します
  • より速い成長
  • 制約からの自由

次に、上で説明したアプローチの実装に役立つ、Web の強力な言語の 1 つを調べてみましょう。

JavaScript: Web の言語

JavaScript は、現在および将来において最も重要な言語の 1 つです。

JavaScript は、解釈される高レベルのクライアント側スクリプト言語です。 Web ページをよりインタラクティブにするために使用されます。これにより、複雑で美しいデザインを実装できるようになります。 JavaScript は、カプセル化、ポリモーフィズム、およびある程度の継承もサポートするオブジェクトベースのスクリプト言語です。

また、C、C++、Java とは異なり、コンパイルする必要もありません。

JavaScript は、ブラウザー、サーバー、および JavaScript エンジンを備えた任意のデバイス上で実行できます。

JavaScript は Java とは何の関係もないことを言及しておくと良いでしょう。そこで問題は、なぜそれが JavaScript と呼ばれるのかということです。実際、JavaScript が最初にリリースされたとき、それは Mocha と呼ばれていました。 その後、Netscape と SUN がライセンス契約を結んだときに、 名前 ライブ スクリプト に変更され、さらに JavaScript に変更されました。

JavaScript は、スマートウォッチ、ゲーム、Web サイト、モバイル、Web アプリケーションなど、ほぼすべての種類の Web 製品およびアプリケーションの開発に使用されます。 Google、Facebook、Netflix、Amazon などの最も人気のある Web サイトの一部は、JavaScript を使用して製品を構築しています。

クライアント側に限定されるのでしょうか?

JavaScript は当初、クライアント側プログラミング言語としてブラウザーで実行されるように設計されました。しかし、今ではそれが大幅に進化しており、以前とは比べものになりません。さらに、JavaScript はクライアント側の言語であるだけでなく、サーバー側のプログラミングを実行するためにも JavaScript ベースのフレームワークが使用されています。

このようなフレームワークの例は NodeJs です。

JavaScript の機能はこれで終わりではありません。クライアント側およびサーバー側として使用されるだけでなく、単一のコード ベースでアプリケーションを設計し、モバイル (Android、iOS) および Web 上で実行するためにも使用できます。

このようなフレームワークの例としては、ReactJs があります。

JavaScriptの人気

JavaScript はおそらく今日最も重要な言語の 1 つです。

Web の台頭により、JavaScript はこれまで考えられなかった場所に普及しました。現在、100 以上のプログラミング言語があり、毎年新しい言語が導入されています。これらの言語の中には、市場に急速な変化をもたらす強力な言語がいくつかありますが、JavaScript は間違いなくその 1 つです。

それは常に人気のあるプログラミング言語のリストに含まれています。 StackOverflow によると、JavaScript は最も人気があり、一般的に使用されているプログラミング言語です。

あなたは知っていますか?

2020 年の Stack Overflow 調査に回答したプロの開発者の 70% 近くが JavaScript でコーディングしていました。

次に、API とマイクロサービスを構築するための最も人気のある JavaScript フレームワークをいくつか見てみましょう。

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク
API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

ハピ

Hapi は、シンプルで安全なオープンソースの JavaScript フレームワークです。これは、最小限のオーバーヘッドで強力でスケーラブルなアプリケーションを構築するために使用されます。 Hapi は元々、ウォルマートのブラック フライデー規模に対応するために開発されましたが、現在ではエンタープライズ グレードのバックエンド ニーズに対応する実証済みの選択肢であり続けています。

Beats Music、Vrbo、Conde Nast、AuthO、Brave などの企業が Hapi を使用しており、満足しています。

無料サポートは GitHub でいつでも利用できます。ただし、より迅速に応答するには、 Slack チャネル に参加してください。Slack チャネルは、多くのコミュニティ メンバーがたむろして互いに助け合う場所です。

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク
API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

再修正

Restify は、 大規模な運用環境で使用できる 意味的に正しい RESTful Web サービスを構築するために最適化されています。意味的に正しいというのは、 仕様に忠実であり続けることを意味し、 これは Restify プロジェクト チームの最も重要な目標の 1 つでした。

イントロスペクションとパフォーマンスを最適化し、大規模な Node.js デプロイメントのほとんどで使用されています。 Restify の最も優れた機能の 1 つは、新しいルート/ハンドラーを追加するたびに DTrace プローブが自動的に作成されることです。実際には、Restify には 3 つの個別のクライアントが同梱されています。

  • JsonClient: application/json を送信して期待します
  • StringClient: URL エンコードされたリクエストを送信し、text/plain を期待します
  • HttpClient: ノードの HTTP/HTTPS ライブラリの薄いラッパー

詳細な開発ガイドは ここに あります。

Restify は、Netflix、Joyent、Pinterest などの業界で最も評価の高い企業によって、大規模な展開を強化するために使用されています。

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク
API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

ExpressJS

ExpressJs は OpenJS Foundation のプロジェクトです。

その堅牢性により、多くの人気のあるフレームワーク (Feathers、Kraken、Sails、Kite、NestJs など) が Express に基づいています。これは、Web およびモバイル アプリケーションに堅牢な機能セットを提供する、最小限で柔軟な Node.js ベースの Web アプリケーション フレームワークです。

node.js の上にレイヤーを提供するため、JavaScript 関数に効率的にアクセスできます。多くのテンプレート エンジン (pug やハンドルバーなど) をサポートしているため、サーバー レンダリングを使用するアプリケーションの作成に適しています。 API 開発用に、中間ハンドラーと多くの HTTP サービス/ユーティリティ メソッドが含まれています。

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク
API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

SailsJS

SailsJS は 、テキサス州オースティンに本社を置く Sails 社の下で構築された MVC フレームワークです。これは、新興企業や企業顧客向けにスケーラブルな Node.js プロジェクトを構築する彼のチームを支援するために、 Mike McNeil によって開発されました。 2012 年のリリース以来、Sails は世界中で最も広く使用されている Web アプリケーション フレームワークの 1 つになりました。

Expressの上に位置する軽量です。 Angular、React、iOS、Android などのあらゆるフロントエンドと互換性があります。 Sails は、Waterline と呼ばれる強力な ORM を通じてあらゆるデータベースと統合できると主張しています。 Express を使用して HTTP リクエストを処理し、socket.io をラップして WebSocket を管理します。

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク
API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

アクションヒーロー

Actionhero は、統合されたクラスター機能と遅延タスクを備えたマルチトランスポート API サーバーです。 Actionhero の目標は、HTTP、WebSocket などの 再利用可能で スケーラブルな API を作成するための使いやすいツールキットを作成することです。これは、最新の API フレームワークに期待されるすべての機能を組み込むためにゼロから構築されました。

Actionhero が得意とするワークロードの種類には、API の生成と使用、データベースへのデータの保存と取得、ファイルの変更、および同様のジョブが含まれます。

Actionhero には、各アプリケーションを構成する 5 つの主要な概念があります: Actions Tasks Initializers Chat 、および Servers です。

ループバック

LoopBack は 、Express をベースにした拡張性の高いオープンソースの Node.js および TypeScript フレームワークです。これにより、データベースや SOAP または REST サービスなどのバックエンド システムで構成される API やマイクロサービスを迅速に作成できます。

これは、依存関係の注入と、コンポーネント、ミックスイン、リポジトリなどの新しい概念を備えた、新しく改良されたプログラミング モデルであり、最も拡張性が高くなります。 LoopBack を使用すると、OpenAPI-to-GraphQL を使用して任意の REST API の GraphQL インターフェイスを作成できます。

スタートガイドの 手順に従うだけで、すぐに Loopback を使い始めることができます。彼らのドキュメントは 4 つの象限に基づいて分類されています。

  • 学習指向 : チュートリアルは、ユーザーが実践しながらフレームワークを学習できる実践的なレッスンを提供します。
  • 問題指向: ハウツー ガイドでは、LoopBack プロジェクトの構築中に遭遇する可能性のある特定の目標を解決するためのレシピを提供します。
  • 理解指向: 概念ページでは、アーキテクチャの概念、より広い視野、フレームワークに関するより深い知識について説明します。
  • 情報指向: リファレンス ガイドには、機械の技術的な説明とその使用方法が記載されています。

GoDaddy、Symantec、Sapient、Fundrails、ShoppinPal、WhiteBoard などの企業は、LoopBack を広く使用しています。

フェザーJs

Feathers は 、スケーラブルな REST API とリアルタイム アプリケーションを簡単に作成できるツールとアーキテクチャ パターンのセットです。プロトタイプは数分で構築でき、本番環境に対応したアプリは数日で構築できます。 Feathers は、あらゆるバックエンド テクノロジと対話し、十数のデータベースをサポートし、React、VueJS、Angular、React Native、Android、iOS などのあらゆるフロントエンド テクノロジと連携できます。

最初の Feathers アプリケーションを使い始めるには、 クイック スタート ガイド に従ってください。行き詰まったり、質問がある場合は、Slack、GitHub、StackOverflow、Telegram などのさまざまなチャネルでサポートを受けることができます。

KoaJS

Express の背後にあるチームが koa を設計しています。 Web アプリケーションと API のための、より小さく、より表現力豊かで、堅牢な基盤となることを目指しています。 Koa はそのコア内にミドルウェアをバンドルしておらず、サーバーの作成を高速かつ楽しいものにするエレガントなメソッド スイートを提供します。

Koa では、非同期関数を活用することでコールバックを省略し、エラー処理を大幅に向上させることができます。以下の 3 つのコマンドで開始します。

 $ <a href="https://.com/install-nvm-on-windows-macos/">nvm install</a> 7
$ npm i koa
$ node my-koa-app.js

AdonisJS

AdonisJs は 活発なコミュニティ によって維持および支援されている Node.js MVC フレームワークです。サーバー SID アプリケーションを作成するための安定したエコシステムを提供するため、どのパッケージを選択するかどうかを最終決定するよりもビジネス ニーズに集中できます。これは、AdonisJs アプリケーションでスムーズに動作するためのコードが上部にある他の npm モジュールと同様です。

AdonisJs を使用するための難しい前提条件はありませんが、JavaScript、非同期プログラミング、Node.js について従来通りの理解を持っていると非常に役立ちます。 インストール ガイドを必ずお読みください。

クエリやバグがある場合は、以下のチャネルを通じて AdonisJs チームと連絡を取ることができます。

  • Github : バグを共有したり、機能リクエストを作成したりできます。
  • Discord : Discord サーバーに参加すると、コミュニティ内の他の人とすぐにチャットできます。
  • Twitter : 毎日の進捗状況を常に把握し、コミュニティが提供する素晴らしいプロジェクトに関する情報を入手してください。

トータルJS

Total.js プラットフォームは、JavaScript で記述されたライブラリ、パッケージ、UI コンポーネント、プラクティス、および完全な製品のコレクションです。プラットフォームの基礎は、Total.js フレームワークと呼ばれるサーバー側のフレームワークと、jComponent と呼ばれるクライアント側のライブラリです。

どちらの部分も一から書きました。

Total.js プラットフォームには開発に必要なものがすべて含まれているため、ほとんどの場合、Total.js プラットフォームとの依存関係を使用する必要はありません。

Total.js プラットフォーム全体 (製品、ライブラリ、モジュール、パッケージ、UI コンポーネント) は、MIT ライセンスの下でオープンソースです。

分子

Molecular は、 Node.js 用の高速かつ最新の強力なマイクロサービス フレームワークです。マイクロサービスを構築および管理するための次のような多くの機能を提供します。

  • Promise ベースのソリューション (async/await 互換)
  • リクエストとリプライの概念
  • バランシングによるイベント駆動型アーキテクチャのサポート
  • 組み込みのサービスレジストリと動的サービスディスカバリ
  • 負荷分散されたリクエストとイベント (ラウンドロビン、ランダム、CPU 使用率、レイテンシー、シャーディング)
  • フォールトトレランス機能 (サーキット ブレーカー、バルクヘッド、再試行、タイムアウト、フォールバック)
  • 組み込みのキャッシュ ソリューション (メモリ、MemoryLRU、Redis)
  • プラグイン可能なロガー (コンソール、ファイル、Pino、Bunyan、Winston、Debug、Datadog、Log4js)
  • トランスポーター (TCP、NATS、MQTT、Redis、NATS ストリーミング、Kafka、AMQP 0.9、AMQP 1.0)
  • シリアライザー (JSON、Avro、MsgPack、プロトコル バッファー、Thrift)
  • マスターレスアーキテクチャ、すべてのノードが同等
  • レポーターを備えた組み込みメトリクス機能 (コンソール、CSV、Datadog、Event、Prometheus、StatsD)
  • エクスポーターによるトレース機能 (Console、Datadog、Event、Jaeger、Zipkin)

高速化

Fastify から旅を始めましょう。

Fastify は 、最小限のオーバーヘッドと強力なプラグイン アーキテクチャで最高の開発者エクスペリエンスを提供することに重点を置いています。 Hapi と Express からインスピレーションを受けており、業界で最も高速な Web フレームワークの 1 つです。

Fastify から旅を始めましょう。

 npm install fastify

コードの複雑さに応じて、高いパフォーマンスを提供します。 1 秒あたり最大 30,000 のリクエストを処理できます。フック、プラグイン、デコレータを介して完全に拡張可能です。

必須ではない場合でも、Fastify は、 JSON スキーマを 使用してルートを検証し、出力をシリアル化することを推奨します。Fastify は、内部的にスキーマを高パフォーマンスの関数でコンパイルします。

結論

API の構築は難しい場合がありますが、適切なフレームワークを使用すると、作業がはるかに簡単になります。次の API とマイクロサービス用に上記のフレームワークを検討し、最適なものを選択してください。 API の準備ができたら、忘れずに監視してください。

「 API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク」についてわかりやすく解説!絶対に観るべきベスト2動画

モックAPIを簡単に作れるjson-serverの使い方!フロントエンド開発に超便利!
【Web制作】STUDIOでカスタムAPIを使う方法を解説 #ノーコード #起業

API 主導の最新アプリケーションを構築しましょう。

API はユーザー インターフェイスに似ていますが、唯一の違いは、ユーザーがマシンであるかソフトウェアであるかです。

API ファーストの設計アプローチと、それに従うことが合理的である理由を理解しましょう。また、JavaScript とその人気にも焦点を当て、最後に、API とマイクロサービスを構築するための最もトレンドな JavaScript フレームワークについて説明します。

API ファーストのアプローチ

API ファースト設計、または単に API と呼ばれる用語を誰もが聞いたことがあるでしょう。実際、API ファースト設計という用語は、業界でクラウド ネイティブ アプリケーションという用語が言及され始めてから一般的になりました。モノリシック アプリケーションの開発から一定期間が経過し、プログラマーはこれらのアプリケーションをマイクロサービスに分割し始めました。

Web、Android、または iOS デバイスからのこれらのマイクロサービスとのやり取りはすべて、API を通じて行われる必要があります。したがって、これらの API の設計は、これらのインターフェイスにデータを提供する際に重要な役割を果たします。これは、マイクロサービスが通信する媒体が API 以外に 1 つだけであることを意味します。

したがって、API ファーストの設計原則がここに登場します。マイクロサービス/バックエンド サービスの実装を記述する前に、まず API の設計を考慮する必要があります。

覚えておいてください: API はビジネスの推進力であるため、システム開発の最初に開発してください。

API ファーストの設計アプローチでは、API は第一級の市民とみなされます。上記の内容を要約すると、API ファースト アプローチの原則として次の 3 つの重要なポイントが得られます。

  • API はアプリケーションの最初のユーザー インターフェイスです。
  • API が最初にあり、次にアプリケーションが続きます。
  • API が説明されています (おそらく自己説明的です)

Twillio、NETFLIX、Stripe、Algolia、SendGrid、Etsy、Adobe、Amazon など、API ファーストのアプローチを使用している企業は数多くあります。

Amazon は、従業員にこのアプローチを使用するよう指示した最初の企業の 1 つです。このアプローチの重要性は、 ジェフ・ベゾス (アマゾンのCEO) が、このプロセスに従わない者は解雇されるという 警告を伴う ベゾス・マンデート と呼ばれる命令を出したときの出来事(2002年頃)を見れば理解できるだろう。

API ファーストのアプローチの利点

多くの!

以下はその一部です。

  • 再利用可能/組み立て可能なエンタープライズ
  • 並行開発が可能
  • プロジェクトの存続期間全体にわたって全体的なコストを削減します。
  • 失敗のリスクを軽減します
  • より速い成長
  • 制約からの自由

次に、上で説明したアプローチの実装に役立つ、Web の強力な言語の 1 つを調べてみましょう。

JavaScript: Web の言語

JavaScript は、現在および将来において最も重要な言語の 1 つです。

JavaScript は、解釈される高レベルのクライアント側スクリプト言語です。 Web ページをよりインタラクティブにするために使用されます。これにより、複雑で美しいデザインを実装できるようになります。 JavaScript は、カプセル化、ポリモーフィズム、およびある程度の継承もサポートするオブジェクトベースのスクリプト言語です。

また、C、C++、Java とは異なり、コンパイルする必要もありません。

JavaScript は、ブラウザー、サーバー、および JavaScript エンジンを備えた任意のデバイス上で実行できます。

JavaScript は Java とは何の関係もないことを言及しておくと良いでしょう。そこで問題は、なぜそれが JavaScript と呼ばれるのかということです。実際、JavaScript が最初にリリースされたとき、それは Mocha と呼ばれていました。 その後、Netscape と SUN がライセンス契約を結んだときに、 名前 ライブ スクリプト に変更され、さらに JavaScript に変更されました。

JavaScript は、スマートウォッチ、ゲーム、Web サイト、モバイル、Web アプリケーションなど、ほぼすべての種類の Web 製品およびアプリケーションの開発に使用されます。 Google、Facebook、Netflix、Amazon などの最も人気のある Web サイトの一部は、JavaScript を使用して製品を構築しています。

クライアント側に限定されるのでしょうか?

JavaScript は当初、クライアント側プログラミング言語としてブラウザーで実行されるように設計されました。しかし、今ではそれが大幅に進化しており、以前とは比べものになりません。さらに、JavaScript はクライアント側の言語であるだけでなく、サーバー側のプログラミングを実行するためにも JavaScript ベースのフレームワークが使用されています。

このようなフレームワークの例は NodeJs です。

JavaScript の機能はこれで終わりではありません。クライアント側およびサーバー側として使用されるだけでなく、単一のコード ベースでアプリケーションを設計し、モバイル (Android、iOS) および Web 上で実行するためにも使用できます。

このようなフレームワークの例としては、ReactJs があります。

JavaScriptの人気

JavaScript はおそらく今日最も重要な言語の 1 つです。

Web の台頭により、JavaScript はこれまで考えられなかった場所に普及しました。現在、100 以上のプログラミング言語があり、毎年新しい言語が導入されています。これらの言語の中には、市場に急速な変化をもたらす強力な言語がいくつかありますが、JavaScript は間違いなくその 1 つです。

それは常に人気のあるプログラミング言語のリストに含まれています。 StackOverflow によると、JavaScript は最も人気があり、一般的に使用されているプログラミング言語です。

あなたは知っていますか?

2020 年の Stack Overflow 調査に回答したプロの開発者の 70% 近くが JavaScript でコーディングしていました。

次に、API とマイクロサービスを構築するための最も人気のある JavaScript フレームワークをいくつか見てみましょう。

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク
API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

ハピ

Hapi は、シンプルで安全なオープンソースの JavaScript フレームワークです。これは、最小限のオーバーヘッドで強力でスケーラブルなアプリケーションを構築するために使用されます。 Hapi は元々、ウォルマートのブラック フライデー規模に対応するために開発されましたが、現在ではエンタープライズ グレードのバックエンド ニーズに対応する実証済みの選択肢であり続けています。

Beats Music、Vrbo、Conde Nast、AuthO、Brave などの企業が Hapi を使用しており、満足しています。

無料サポートは GitHub でいつでも利用できます。ただし、より迅速に応答するには、 Slack チャネル に参加してください。Slack チャネルは、多くのコミュニティ メンバーがたむろして互いに助け合う場所です。

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク
API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

再修正

Restify は、 大規模な運用環境で使用できる 意味的に正しい RESTful Web サービスを構築するために最適化されています。意味的に正しいというのは、 仕様に忠実であり続けることを意味し、 これは Restify プロジェクト チームの最も重要な目標の 1 つでした。

イントロスペクションとパフォーマンスを最適化し、大規模な Node.js デプロイメントのほとんどで使用されています。 Restify の最も優れた機能の 1 つは、新しいルート/ハンドラーを追加するたびに DTrace プローブが自動的に作成されることです。実際には、Restify には 3 つの個別のクライアントが同梱されています。

  • JsonClient: application/json を送信して期待します
  • StringClient: URL エンコードされたリクエストを送信し、text/plain を期待します
  • HttpClient: ノードの HTTP/HTTPS ライブラリの薄いラッパー

詳細な開発ガイドは ここに あります。

Restify は、Netflix、Joyent、Pinterest などの業界で最も評価の高い企業によって、大規模な展開を強化するために使用されています。

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク
API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

ExpressJS

ExpressJs は OpenJS Foundation のプロジェクトです。

その堅牢性により、多くの人気のあるフレームワーク (Feathers、Kraken、Sails、Kite、NestJs など) が Express に基づいています。これは、Web およびモバイル アプリケーションに堅牢な機能セットを提供する、最小限で柔軟な Node.js ベースの Web アプリケーション フレームワークです。

node.js の上にレイヤーを提供するため、JavaScript 関数に効率的にアクセスできます。多くのテンプレート エンジン (pug やハンドルバーなど) をサポートしているため、サーバー レンダリングを使用するアプリケーションの作成に適しています。 API 開発用に、中間ハンドラーと多くの HTTP サービス/ユーティリティ メソッドが含まれています。

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク
API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

SailsJS

SailsJS は 、テキサス州オースティンに本社を置く Sails 社の下で構築された MVC フレームワークです。これは、新興企業や企業顧客向けにスケーラブルな Node.js プロジェクトを構築する彼のチームを支援するために、 Mike McNeil によって開発されました。 2012 年のリリース以来、Sails は世界中で最も広く使用されている Web アプリケーション フレームワークの 1 つになりました。

Expressの上に位置する軽量です。 Angular、React、iOS、Android などのあらゆるフロントエンドと互換性があります。 Sails は、Waterline と呼ばれる強力な ORM を通じてあらゆるデータベースと統合できると主張しています。 Express を使用して HTTP リクエストを処理し、socket.io をラップして WebSocket を管理します。

API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク
API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク

アクションヒーロー

Actionhero は、統合されたクラスター機能と遅延タスクを備えたマルチトランスポート API サーバーです。 Actionhero の目標は、HTTP、WebSocket などの 再利用可能で スケーラブルな API を作成するための使いやすいツールキットを作成することです。これは、最新の API フレームワークに期待されるすべての機能を組み込むためにゼロから構築されました。

Actionhero が得意とするワークロードの種類には、API の生成と使用、データベースへのデータの保存と取得、ファイルの変更、および同様のジョブが含まれます。

Actionhero には、各アプリケーションを構成する 5 つの主要な概念があります: Actions Tasks Initializers Chat 、および Servers です。

ループバック

LoopBack は 、Express をベースにした拡張性の高いオープンソースの Node.js および TypeScript フレームワークです。これにより、データベースや SOAP または REST サービスなどのバックエンド システムで構成される API やマイクロサービスを迅速に作成できます。

これは、依存関係の注入と、コンポーネント、ミックスイン、リポジトリなどの新しい概念を備えた、新しく改良されたプログラミング モデルであり、最も拡張性が高くなります。 LoopBack を使用すると、OpenAPI-to-GraphQL を使用して任意の REST API の GraphQL インターフェイスを作成できます。

スタートガイドの 手順に従うだけで、すぐに Loopback を使い始めることができます。彼らのドキュメントは 4 つの象限に基づいて分類されています。

  • 学習指向 : チュートリアルは、ユーザーが実践しながらフレームワークを学習できる実践的なレッスンを提供します。
  • 問題指向: ハウツー ガイドでは、LoopBack プロジェクトの構築中に遭遇する可能性のある特定の目標を解決するためのレシピを提供します。
  • 理解指向: 概念ページでは、アーキテクチャの概念、より広い視野、フレームワークに関するより深い知識について説明します。
  • 情報指向: リファレンス ガイドには、機械の技術的な説明とその使用方法が記載されています。

GoDaddy、Symantec、Sapient、Fundrails、ShoppinPal、WhiteBoard などの企業は、LoopBack を広く使用しています。

フェザーJs

Feathers は 、スケーラブルな REST API とリアルタイム アプリケーションを簡単に作成できるツールとアーキテクチャ パターンのセットです。プロトタイプは数分で構築でき、本番環境に対応したアプリは数日で構築できます。 Feathers は、あらゆるバックエンド テクノロジと対話し、十数のデータベースをサポートし、React、VueJS、Angular、React Native、Android、iOS などのあらゆるフロントエンド テクノロジと連携できます。

最初の Feathers アプリケーションを使い始めるには、 クイック スタート ガイド に従ってください。行き詰まったり、質問がある場合は、Slack、GitHub、StackOverflow、Telegram などのさまざまなチャネルでサポートを受けることができます。

KoaJS

Express の背後にあるチームが koa を設計しています。 Web アプリケーションと API のための、より小さく、より表現力豊かで、堅牢な基盤となることを目指しています。 Koa はそのコア内にミドルウェアをバンドルしておらず、サーバーの作成を高速かつ楽しいものにするエレガントなメソッド スイートを提供します。

Koa では、非同期関数を活用することでコールバックを省略し、エラー処理を大幅に向上させることができます。以下の 3 つのコマンドで開始します。

 $ <a href="https://.com/install-nvm-on-windows-macos/">nvm install</a> 7
$ npm i koa
$ node my-koa-app.js

AdonisJS

AdonisJs は 活発なコミュニティ によって維持および支援されている Node.js MVC フレームワークです。サーバー SID アプリケーションを作成するための安定したエコシステムを提供するため、どのパッケージを選択するかどうかを最終決定するよりもビジネス ニーズに集中できます。これは、AdonisJs アプリケーションでスムーズに動作するためのコードが上部にある他の npm モジュールと同様です。

AdonisJs を使用するための難しい前提条件はありませんが、JavaScript、非同期プログラミング、Node.js について従来通りの理解を持っていると非常に役立ちます。 インストール ガイドを必ずお読みください。

クエリやバグがある場合は、以下のチャネルを通じて AdonisJs チームと連絡を取ることができます。

  • Github : バグを共有したり、機能リクエストを作成したりできます。
  • Discord : Discord サーバーに参加すると、コミュニティ内の他の人とすぐにチャットできます。
  • Twitter : 毎日の進捗状況を常に把握し、コミュニティが提供する素晴らしいプロジェクトに関する情報を入手してください。

トータルJS

Total.js プラットフォームは、JavaScript で記述されたライブラリ、パッケージ、UI コンポーネント、プラクティス、および完全な製品のコレクションです。プラットフォームの基礎は、Total.js フレームワークと呼ばれるサーバー側のフレームワークと、jComponent と呼ばれるクライアント側のライブラリです。

どちらの部分も一から書きました。

Total.js プラットフォームには開発に必要なものがすべて含まれているため、ほとんどの場合、Total.js プラットフォームとの依存関係を使用する必要はありません。

Total.js プラットフォーム全体 (製品、ライブラリ、モジュール、パッケージ、UI コンポーネント) は、MIT ライセンスの下でオープンソースです。

分子

Molecular は、 Node.js 用の高速かつ最新の強力なマイクロサービス フレームワークです。マイクロサービスを構築および管理するための次のような多くの機能を提供します。

  • Promise ベースのソリューション (async/await 互換)
  • リクエストとリプライの概念
  • バランシングによるイベント駆動型アーキテクチャのサポート
  • 組み込みのサービスレジストリと動的サービスディスカバリ
  • 負荷分散されたリクエストとイベント (ラウンドロビン、ランダム、CPU 使用率、レイテンシー、シャーディング)
  • フォールトトレランス機能 (サーキット ブレーカー、バルクヘッド、再試行、タイムアウト、フォールバック)
  • 組み込みのキャッシュ ソリューション (メモリ、MemoryLRU、Redis)
  • プラグイン可能なロガー (コンソール、ファイル、Pino、Bunyan、Winston、Debug、Datadog、Log4js)
  • トランスポーター (TCP、NATS、MQTT、Redis、NATS ストリーミング、Kafka、AMQP 0.9、AMQP 1.0)
  • シリアライザー (JSON、Avro、MsgPack、プロトコル バッファー、Thrift)
  • マスターレスアーキテクチャ、すべてのノードが同等
  • レポーターを備えた組み込みメトリクス機能 (コンソール、CSV、Datadog、Event、Prometheus、StatsD)
  • エクスポーターによるトレース機能 (Console、Datadog、Event、Jaeger、Zipkin)

高速化

Fastify から旅を始めましょう。

Fastify は 、最小限のオーバーヘッドと強力なプラグイン アーキテクチャで最高の開発者エクスペリエンスを提供することに重点を置いています。 Hapi と Express からインスピレーションを受けており、業界で最も高速な Web フレームワークの 1 つです。

Fastify から旅を始めましょう。

 npm install fastify

コードの複雑さに応じて、高いパフォーマンスを提供します。 1 秒あたり最大 30,000 のリクエストを処理できます。フック、プラグイン、デコレータを介して完全に拡張可能です。

必須ではない場合でも、Fastify は、 JSON スキーマを 使用してルートを検証し、出力をシリアル化することを推奨します。Fastify は、内部的にスキーマを高パフォーマンスの関数でコンパイルします。

結論

API の構築は難しい場合がありますが、適切なフレームワークを使用すると、作業がはるかに簡単になります。次の API とマイクロサービス用に上記のフレームワークを検討し、最適なものを選択してください。 API の準備ができたら、忘れずに監視してください。

「 API とマイクロサービスを構築するための 12 の人気のある JavaScript フレームワーク」についてわかりやすく解説!絶対に観るべきベスト2動画

モックAPIを簡単に作れるjson-serverの使い方!フロントエンド開発に超便利!
【Web制作】STUDIOでカスタムAPIを使う方法を解説 #ノーコード #起業