2.1K Views
September 20, 23
スライド概要
「第11回LT練習会(仮)」の登壇資料
https://gaji-lt.connpass.com/event/289439/
Bunが気になったのでいろいろ調べてみました
よろしくおねがいします!
話題のBunが気になる 第11回LT練習会(仮) 2023/09/20(水) きらぷか(@kira_puka)
きらぷかとは? きらぷか (@kira_puka) ● ● 会社: 合同会社めもらば 仕事: Web/スマホアプリの受託開発 ○ ● Nuxt.js / Node.js / Flutter 趣味: 読書と個人開発 積読ハウマッチ SSSAPI 総額がわかる書籍管理アプリ スプシのAPI化サービス
Bunっていう 爆速な肉まん があるらしい
アジェンダ 1. Bunとは? 2. Bunでなにができる? 3. Bunはなぜはやい? 4. 特に気になるのは...
Bunとは? ● 新しいJavaScript実行環境 / runtime ○ ● Node.js / Deno いろいろできるAll in One toolkit (らしい) ● 爆速!! (らしい) 引用) Bun — A fast all-in-one JavaScript runtime(https://bun.sh/)
Bunでなにができる? 必要な道具一式を用意 ● Runtime(Node.js互換) … JavaScript/TypeScriptの実行 ○ ● TypeScriptの直接も実行できる Package Manager … npm / yarn / pnpm ○ Workspace機能もあり、monorepoもOK ● Test Runner … jest / vitest ● Bundler … webpack / esbuild / babel
Bunはなぜはやい? 爆速にするための仕組みが盛々 ● Zigでの実装がはやい ● JavaScriptエンジンのJavaScriptCoreが速い ● バイナリのlockfile ● 賢いキャッシュのパッケージマネージャー 1. 2. [参考] なんでbun installは速いのか? [参考] Bunファーストインプレッション - JavaScriptランタイム界に”赤壁の戦い”を!
特に気になるのは... Node.js APIの互換性はどこまで? 実際の速度やCPUやメモリは?
特に気になるのは...|互換性 ある程度サポートされているが、完全ではない 利用するパッケージによっては対応してないかも? 引用) Node.js compatibility – Runtime | Bun Docs (https://bun.sh/docs/runtime/nodejs-apis)
特に気になるのは...|パフォーマンス フレームワーク(Fastify)だと、 Node.jsが一番パフォーマンスがよい 引用) Node.js vs Deno vs Bun: Fastify hello world server benchmarking | Medium Bun v1.0.1 / Node.js v20.6.0 / Deno v1.36.4
まとめ ● ◎とにかく爆速の仕組みが盛々 ○ ● ◎All-in-OneなのでBunですべてできる ○ ● npm + esbulid + jest △Node.js APIの互換性はまだ完全ではない ○ ● Zig / JavaScriptCore / バイナリlockfile / キャッシュ戦略 利用するパッケージによってはそのまま置き換えできないかも △FWによってはBunのパワーを引き出せないこともある ○ Native APIなら爆速 Bunはv1.0が出たばかり これからかなり期待大
ご清聴 ありがとうございました
おまけ
Bunとは? Node.jsを 完全に置き換える!! 引用) What is Bun? | Bun Docs https://bun.sh/docs
Node.jsとBunの内部構造 1. [引用] Bunファーストインプレッション - JavaScriptランタイム界に”赤壁の戦い”を!
特に気になるのは...|パフォーマンス 素のHTTP APIだと、 Bunが一番パフォーマンスがよい 引用) Node.js vs Deno vs Bun: Native HTTP hello world server benchmarking | Medium Bun v1.0.0 / Node.js v20.6.0 / Deno v1.36.4
特に気になるのは...|パフォーマンス 引用) Bun + Vite を試してみる | Zenn Bun v1.0.1 / Node.js v20.5.1 / Vite v4.4.9
個人開発で作ったアプリ|積読ハウマッチ 積読ハウマッチ ● ● 総額がわかる書籍管理アプリ Nuxt.js+Firebase製
個人開発で作ったアプリ|SSSAPI SSSAPI ● ● GoogleスプレッドシートのAPI化サービス Nuxt.js+Express.js+Firebase