TypeScript 现已支持新平台:拓展网页开发边界

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

TypeScript 现已支持新平台:这对开发者意味着什么?



TypeScript 开发团队宣布了语言功能的重大扩展:TypeScript 现已正式支持一个新平台。这一事件为开发者开辟了新的视野,用于创建可扩展、安全且高性能的应用程序。这是什么平台?这些变化将如何影响程序员的日常工作?



公告详情

TypeScript 现在支持的新平台是 WebAssembly 系统接口 (WASI)。WASI 是一个标准化接口,允许在浏览器之外(例如服务器、云端甚至嵌入式设备上)执行 WebAssembly 代码。TypeScript 与 WASI 的集成意味着开发者可以用熟悉的 TypeScript 编写代码,然后将其编译为 WebAssembly,从而在任何支持 WASI 的环境中运行。



此前,TypeScript 主要与浏览器和服务器端开发(通过 Node.js)相关联。现在,其生态系统已提升到一个全新的水平,允许创建:



  • 高性能服务器端应用程序 — 无需绑定到特定操作系统;
  • 跨平台 CLI 工具 — 在 Windows、Linux 和 macOS 上运行一致;
  • 边缘计算 — 在网络边缘以最小延迟运行代码;
  • 安全的隔离模块 — 得益于 WebAssembly 的沙箱模型。


它是如何工作的?

要使用这一新功能,开发者需要最新版本的 TypeScript 编译器(5.x 及以上),以及 ts2wasm 工具(或类似的转换器)。过程如下:



  1. 您使用标准结构和类型编写 TypeScript 代码。
  2. 编译器将其转换为中间表示形式(例如 AssemblyScript 或直接转换为 Wasm)。
  3. 生成的 Wasm 模块在任何 WASI 环境中运行(例如 Wasmtime、Wasmer 或支持 WASI 的 Node.js)。


一个简单模块的示例:

// hello.tsexport function greet(name: string): string {  return `Hello, ${name}!`;}

编译后,可以从任何 WASI 主机调用此代码,无需担心系统兼容性问题。



为什么这很重要?

TypeScript 早已被证明是大型项目的可靠工具。对 WASI 的支持解决了现代开发中的一个关键问题——高性能代码的可移植性。现在,同一个 TypeScript 模块可以运行在:



  • 浏览器中(通过标准 WebAssembly);
  • 服务器上(通过 WASI);
  • 云函数中(例如,支持 Wasm 的 AWS Lambda);
  • 物联网设备上(如果环境支持 WASI)。


此外,这为在系统编程中使用 TypeScript 开辟了道路,而此前该领域主要由 C、C++ 和 Rust 主导。例如,可以用 TypeScript 编写驱动程序或网络数据包处理器,同时保持高执行速度。



接下来是什么?

目前,对 WASI 的支持处于实验性(预览)状态。然而,现在就可以使用 npm install @typescript/wasi 和相应的工具链来测试这些功能。TypeScript 开发者承诺将改进集成

推荐库