ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

BFF(Backends For Frontends)とは何か

BFFとは何かがわからなかったので調べてみました。

BFFとは?

名前の通り、フロントエンドのためのバックエンド(サーバ)です。フロントエンドのためにAPIをコールしたり、HTMLを生成したりする処理(サーバ)のことを指します。
philcalcado.com

BFFのメリット

  • フロントエンドが汎用的に用意されたAPI(Public Service API)から必要な情報を構成するための手間をバックエンドに委譲することができる。
  • バックエンドからの複数のレスポンスをクライアントが求める形に適切に加工して返すことができるので、クライアントの処理も少なくできる。
  • バックエンドの仕様や差異などを全て吸収できるので、依存の広がりをそこで抑制することができる。

BFFのデメリット

  • BFFごとに重複したロジックが作られがちになってしまう。
  • 通信が増えるため、通信量が増大し、データを取得するために必要な経路が増えるためデータ取得にかかる時間が増えてしまう。