本文へ移動
Unlogical Systems

Ctrl / ⌘ + K でも開けます

    Unlogical Systems

    Fastify を採用する理由

    FastifyはNode.jsでWeb APIやサーバーを作るための軽量なフレームワークです。弊社がTypeScriptと組み合わせてAPIサーバーや連携用の中継サーバーにFastifyを採用する理由と、保守の考え方を解説します。

    Fastifyとは

    Fastifyは、Node.jsでWebAPIやサーバーを作るためのフレームワークです。受け取るデータと返すデータの形をあらかじめ宣言し、それに基づいて入力の検証と応答の整形を自動で行う仕組みを中心に設計されています。処理の効率を重視した作りで、必要な機能はプラグインとして追加する方式のため、小さく始めて必要に応じて広げられます。同じ役割のフレームワークにExpressがあり、Fastifyはより新しい設計思想で、TypeScriptとの組み合わせを前提にした開発に向いています。

    弊社が採用する理由

    弊社では、Node.jsでサーバー側を作る案件のうち、APIサーバーや外部サービスとの連携を担う中継サーバーにFastifyを採用しています。データベース中心の業務システムはPHPとLaravelを基本にしていますが、リアルタイム処理や外部API連携、生成AIの呼び出しなど、Node.jsのほうが扱いやすい処理を切り出す場面があります。Fastifyは入出力の形を宣言する仕組みを持つため、TypeScriptの型やzodの定義、OpenAPIの仕様と一貫させやすく、画面側との契約を厳密に保てます。既存のExpressで作られたシステムの保守にも対応しており、新規に作る部分ではFastifyを選ぶことが多いです。Next.jsで作る画面と同じTypeScriptで書けるため、フルスタックエンジニアが画面からサーバーまで一貫して担当できる点も採用理由です。

    向いている案件

    • 画面側とは別に用意するAPIサーバー
    • 外部サービスや生成AIと連携する中継サーバー
    • リアルタイム通知など同時接続の多い処理
    • TypeScriptで画面とサーバーを統一したいプロジェクト

    保守・移行の観点

    FastifyはNode.jsの版と連動して更新されるため、Node.jsの長期サポート版の期限に合わせて更新計画を立てます。プラグイン方式のため、使っているプラグインごとに対応状況を確認する必要があり、依存関係を記録したファイルの管理と定期的な棚卸しが保守の中心です。入出力の宣言に対する自動テストを整備しておくと、更新時に契約が崩れていないことを確認できます。更新はステージング環境で動作を確認してから本番に反映します。

    組み合わせて使う技術

    よくあるご質問

    FastifyとExpressはどちらがよいですか?

    どちらもNode.jsのサーバーを作る枠組みで、用途に大きな違いはありません。弊社では新規開発ではTypeScriptとの相性からFastifyを選ぶことが多く、Expressで作られた既存システムはそのまま保守しています。

    LaravelのシステムにFastifyのサーバーを追加できますか?

    可能です。リアルタイム処理や外部連携など特定の機能だけをFastifyで切り出し、Laravel本体とAPIで連携する構成をご提案することがあります。

    関連するサービス

    関連する開発ガイド

    関連用語: APIステージング環境フルスタックエンジニア

    監修: Unlogical Systems合同会社杉並区・西荻窪)公開

    まずは現場のエンジニアにご相談ください

    営業担当ではなく、実際に設計・開発を行うエンジニアが直接お答えします。ご相談・お見積りは無料、1営業日以内にご回答いたします。

    無料でご相談・お見積り

    資料の添付は、送信後に届く受付メールへの返信でお送りいただけます。

    相談・見積りは無料
    1営業日以内にご回答します

    無料で相談する