yossydev Blog

BunのFramework API(Bake)の概要と目的

publishedAt:
2024/12/23
updatedAt:
2024/12/23
目次

2024年 ユウトの一人アドベントカレンダーの23日目の記事です。

Intro

Bunのドキュメントを眺めていると、「Runtime」の項目にFramework APIという興味深いものを見つけました。しかし、詳細な説明がなく、その目的や機能がよく分からなかったため、調査してみました。

image

Content

oven-sh/bunで検索していると、以下のようなPRを見つけました。

ref: This is initial work for the "Framework API", internally code named "Kit". This name is not final and just something to give me a fresh namespace for new code.

framework apiはコード上ではKitと呼ばれる名前空間で扱われていて、新規コードの実装で使用するらしいです。react fast refreshやレガシーコードの削除が実際にこのPRでは行われています。

それから少し後のPRで、kitからbakeに変更されています。(#14335) ここら辺の意思決定の話をissueも紐づけられていないので、おそらくBun社内で決定されているのかなと思います。見つけられていない可能性も大いにあり得ますが。

何を解決するのか

Framework APIがKitで、そのKitがBakeだと分かったことで、検索しやすくなりました。

実際に、RoadmapにBakeの名前が追記されていました。

Bake (Bundler)

The goal for Bake is to make Bun the most productive tool for building static & full-stack JavaScript and TypeScript applications, leveraging runtime, bundler, and transpiler integration to make things simpler.

そして以下の項目も

Implement an integration with a popular framework (such as Next.js)

Framework APIという名前とこれらの項目を見て、なんとなくViteに近いものを作ろうとしているのかなと予想がつきますね。

終わりに

BunのFramework APIはまだ開発初期の段階ですが、そのスピード感や目指す方向性には驚かされます。BakeがどのようにViteやWebpackと競合する存在になっていくのか、また静的・フルスタックアプリケーション構築にどれほどのインパクトを与えるのか、今後も注目していきたいところです。

0