Bu 是采用 Zig语言编写的高性能“全家桶”JavaScript运行时,官方称其为"all-i-oe JavaScriptrutime"。Bu提供了打包、转译、安装和运行JavaScript&TypeScript项目的功能,内置原生打包器(ativebudler)、转译器、taskruer、pm客户端,以及 fetch、WebSocket等WebAPI。
Bu是一个新的:带有WebAPI的JavaScript运行时,内置fetch、WebSocket等API。bu嵌入了JavaScriptCore,它往往比V8等更流行的引擎更快且内存效率更高(尽管更难嵌入)JavaScript/TypeScript/JSX转译器JavaScript和CSS打包器package.jso脚本的任务运行器pm兼容的包管理器Bu的HTTP服务器基于 Request 和 Respose 等Web标准://http.jsexportdefault{port:3000,fetch(request){returewRespose("WelcometoBu!");},};Bu完全从零开始构建,对标的项目是Node.js和Deo这类现代化的JavaScript运行时。Bu旨在替代当前的JavaScript和TypeScript应用程序或脚本,原生实现了数百个Node.js和WebAPI,包括约90%的 Node-API 函数(ativemodules)、fs、path、Buffer等。Bu的目标是在浏览器之外运行世界上大多数JavaScript,为未来的基础架构带来性能和复杂性的增强,并通过更好、更简单的工具提高开发人员的生产力。内置了诸如fetch、WebSocket和ReadableStream等WebAPIode_modulesbu实现了Node.js的模块解析算法,因此你可以在Bu中使用pm包。支持ESM和CommoJS,但Bu内部使用ESM在Bu中,每个文件都是转译的。TypeScript和JSX就可以使用Bu支持来自tscofig.jso文件的"paths"、"jsxImportSource"等。Bu.TraspilerBu的JsX和TypeScript转译器在Bu中作为API可用。使用Bu.write提供的最快系统调用来写入、复制、管道、发送和克隆文件。Bu自动从.ev文件加载环境变量。不再需要require("dotev").cofig()Bu提供了一个快速的SQLite3客户端,内置bu:sqlite。Node-APIBu实现了大部分的Node-API(N-API)。许多Node.js原生模块都可以使用bu:ffi使用Bu的低开销外部函数接口从JavaScript调用ativecode。ode:fsode:pathBu原生支持越来越多的Node.js核心模块,以及像Buffer和process这样的globals。性能测试结果对比:▲服务器端渲染(每秒的HTTP请求数)▲加载大型数据表(每秒的平均请求数)点击空白处退出提示
评论