ExpressJS は初めてです。他のサーバーによって直接消費されるサービスの API を作成したいと考えています。また、その一部はモバイル アプリ/ブラウザーによっても消費されます。Restify、Node-PerfectAPI、Node-APIServer を発見しましたが、違いがわかりません。
誰かが各フレームワークの違いと長所/短所について親切に詳しく説明してくれますか?
API を作成するために、なぜ Express/NodeJS と他のフレームワークを選択するのでしょうか?
免責事項: 私はnode-perfectapiの作成者です。
perfectapi の焦点は、開発者が最初から本番環境に簡単に移行できるようにすることです。node-restifyより抽象化されています。その影響は、API の設計における柔軟性が低下することですが、同時に、専門知識が少なくても、本番環境に対応できるものをはるかに迅速に取得できるはずです。
restify と perfectapi のパフォーマンスはどちらも同等です。
この回答のリンクは、各ソリューションの利点を強調するページに移動します。
私も同様の問題に取り組んでいます。興味のある主な違いの 1 つは、パフォーマンスです。「perfect-api」の開発者のブログ投稿を見つけて、彼のフレームワークを他の 2 つのフレームワークと比較しました。http://blog.perfectapi.com/2012/benchmarking-apis-using-perfectapi-vs-express.js-vs-restify.js/
コメントによると、Restify は現在、はるかに優れています。
私の (限られた) 経験から言うと、express.js は Restify よりも使いやすく、公開されている connect.js としていくつかの優れたツールを提供します。たとえば、Connect を Restify と統合できるとしても、静的ファイル サーバーを作成する手間を省くことができます。
一方、Restify はいくつかの一般的な API タスクをはるかに簡単にします。たとえば、制御していないクライアントを扱う環境で本当に必要な API 変換システムと共にスロットル エンジンを提供します。
https://npmjs.org/package/hapiも考慮する必要があります
それは非常に有望に見えます。https://www.youtube.com/watch?v=Recv7vR8ZlAでフレームワークについての話があり、hapi への主な貢献者が API フレームワークを動かしているものについて話しています。
github の node-perfectapi にアクセスすると、readme に次のメッセージが表示されます。
「私は現在、このパッケージを保守していません。必要なものについては、おそらく別のツールを探す必要があります。」
したがって、これは積極的に維持されているため、restify を使用する方がよいと結論付けています。