BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Fastify 3.0 パフォーマンス、ロギング、スキーマ、TypeScriptサポートの改善

Fastify 3.0 パフォーマンス、ロギング、スキーマ、TypeScriptサポートの改善

ブックマーク

原文(投稿日:2020/07/19)へのリンク

Fastifyは、オープンソースの低パフォーマンスオーバーヘッドのNode.js Webフレームワークである。Fastifyバージョン3では、Fastify内でExpressアプリケーションを実行するためのサポートが導入され、ログのシリアル化とスキーマ置換に改善が加えられ、より優れたTypeScript定義のサポートが提供される。

Fastifyは軽量パフォーマンスに焦点を当てたままである。Fastifyの最新のパフォーマンスメトリックによると、Fastifyは、Koa、Restify、hapi、Express、組み込みのhttp.Serverなど他のNode.jsフレームワークよりも1秒あたりのリクエスト数が多くなっている。3.0リリースでは、初期の2.xバージョンと比較して、1秒あたりのFastifyのリクエストが2倍以上になる。

Fastifyバージョン3は、タイプシステムを改善し、スキーマタイプの一般的な制約とデフォルト、およびより効率的な定義をサポートする。

fastify-expressパッケージは、Fastify内で完全なExpress互換性を提供し、時間の経過に伴うExpressからFastifyへの移行を容易にする。

Fastify 3では、検証とシリアル化が大幅にアップグレードされている。setSchemaCompilerおよびsetSchemaResolverオプションはsetValidatorCompilerに置き換えられ、将来のツールの改善が可能になる。preParsingおよびその他のフックにさらに変更を加えると、パフォーマンスと一貫性が向上し、Fastifyリクエストなど、Fastifyの内部APIをさらに活用できる。同様に、Fastifyロギングシリアライザは、ネイティブオブジェクトではなく、Fastifyリクエストおよびリプライオブジェクトを使用するようになった。既存のFastifyユーザは、更新の完全なリストについて、Fastify 3.0 移行ガイドを確認する必要がある。

Fastifyには、Next.jsサーバ側レンダリング、WebSockets、Webpackなどの機能に及ぶ136の公式プラグインが含まれている。3.0リリースでは、すべてのプラグインの即時サポートが重要な優先事項であった。Elastic and Fastifyの寄稿者であるソフトウェアエンジニアのTomas Della Vedova氏が説明する、

@fastifyjs v3のリリースがどのように進んだか非常に満足しています。ご存知かもしれませんが、私たちはかなり大きなプラグインエコシステムを持っています。v2では、アップグレードの具体的な計画がなかったため、Fastify v2をリリースし、すべてのプラグインをゆっくりと更新しました。今年、すべてのプラグインのプレリリースを開始したため、ユーザはアプリケーションのすべてのコンポーネントの@.nextバージョンをインストールすることでFastify v3をテストできました。 その後、リリース日には、Fastify v3と@matteocollinaの最終リリースを公開し、すべてのプラグインを突き合わせたので、新旧のユーザがアップグレード中にギャップや不要なバグを経験することはありません。来年の改善: このステップも自動化!

FastForm 3.0リリースの詳細については、NearFormのテクニカルディレクター、Node.js Technical Steering Committeeメンバー、FastifyプロジェクトリーダーであるMatteo Collina氏から入手できる。

または、Fastify 3の詳細な紹介がある。

FastifyはMITライセンスで利用可能なオープンソースソフトウェアであり、OpenJS Foundationの一部である。貢献は歓迎され、Fastifyの貢献ガイドライン行動規範に従う必要がある。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT