开发技术栈

这篇文章记录一下用到的比较新的技术

BUN


1. Bun 是什么

Bun 是一个高性能的 JavaScript 运行时(JavaScript Runtime),定位上对标 Node.js + npm/yarn + esbuild/jest 的组合。

一句话定义:

Bun = JavaScript Runtime + Package Manager + Bundler + Test Runner(一体化)

Jarred Sumner 主导开发,核心目标是:速度、简化工具链、现代 JS 体验


2. Bun 解决了什么问题

传统 Node.js 工具链的典型问题:

  • 工具碎片化:node + npm/yarn + webpack/esbuild + jest
  • 启动慢、安装慢
  • CJS / ESM 历史包袱重
  • 原生 API(fetch / Web 标准)支持不统一

Bun 的设计目标:

  • 极快的启动速度
  • 极快的依赖安装
  • 默认现代 Web API
  • 减少工具数量

3. 核心组成(非常重要)

3.1 JavaScript Runtime

  • 使用 JavaScriptCore(Safari 同款引擎)
  • 而不是 V8(Node / Deno)

特性:

  • 原生支持:

    • fetch
    • Request / Response
    • WebSocket
    • ReadableStream
  • 同时兼容大部分 Node API(fs、path、process 等)

⚠️ 注意:并非 100% Node 兼容


3.2 内置 Package Manager(bun install)

Bun 把包管理器做进了 runtime:

  • bun installnpm install / yarn install
  • 使用 二进制 lockfile(bun.lockb)
  • 读取 package.json

特点:

  • 极快(大量使用 mmap + 并行)
  • 自动缓存
  • 支持 workspace
  • 支持 npm registry 生态

3.3 内置 Bundler

  • 可替代:

    • esbuild
    • webpack(简单场景)
  • 支持:

    • TS / JSX / TSX
    • Tree Shaking
    • Code Splitting
  • 常用于:

    • 构建前端产物
    • 打包 server-side 工具

3.4 内置 Test Runner

bun test

特性:

  • Jest 风格 API(describe / it / expect
  • 原生跑 TS
  • 启动极快
  • 内置 mock / snapshot

4. Bun 的性能优势来自哪里

4.1 原因拆解

维度 Bun Node
JS 引擎 JavaScriptCore V8
启动模型 单一二进制 多层 bootstrap
I/O Zig + 系统调用 libuv
包安装 mmap + 并行 JS + IO

4.2 典型表现

  • bun install 比 npm/yarn 快 数倍
  • 冷启动 Web Server 延迟显著低于 Node
  • CLI 工具执行时间明显缩短

5. Bun 的常用命令(速查)

bun init            # 初始化项目
bun install         # 安装依赖
bun add axios       # 添加依赖
bun remove axios    # 删除依赖
bun run dev         # 执行 scripts
bun test            # 跑测试
bun build ./src     # 构建
bun ./index.ts      # 直接执行 TS

6. Bun vs Node / Deno(技术对比)

6.1 Bun vs Node.js

对比点 Bun Node
成熟度 较新 非常成熟
生态兼容 高但非完全 100%
性能 非常高 稳定
工具链 一体化 分散
企业落地 极多

结论
👉 Bun 适合 新项目 / 工具链简化 / 性能敏感场景
👉 Node 仍是 生产主流


6.2 Bun vs Deno

对比点 Bun Deno
引擎 JavaScriptCore V8
npm 兼容 原生 后期补
权限模型 有(--allow-read)
工具集成
理念 实用主义 安全优先

7. Bun 的典型使用场景

✅ 非常适合:

  • CLI 工具
  • 脚手架
  • 内部工具
  • 前端构建工具
  • 本地开发服务器

⚠️ 谨慎使用:

  • 强依赖 Node C++ Addon 的项目
  • 大型生产后端(现阶段)
  • 对 Node 行为高度依赖的老项目

8. Bun 的工程哲学(写笔记很好用)

  • Performance first
  • Web standards first
  • One tool instead of many
  • Prefer native over JS

9. 一句话总结(笔记结尾用)

Bun 是一个将 JavaScript Runtime、包管理、构建和测试高度整合的一体化工具链,以极致性能和现代 Web 标准为核心目标,但在成熟度和兼容性上仍需权衡。


如果你愿意,我可以下一步帮你整理:

  • Bun 在真实项目中的落地方案
  • Bun 迁移 Node 项目的 checklist
  • Bun 的坑点与不兼容清单(很实用)
  • Bun 在 monorepo / workspace 下的实践

Typescript

Kotlin

和ts一样,可自动识别类型,类型放后面
var a:Int = 1

Java

感谢您的收看 祝你天天开心~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇