TypeScript 拓展视野:支持新平台

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

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

开始课程

TypeScript 拓展视野:支持新平台



TypeScript 开发团队宣布了一项期待已久的更新:现在,这种通过静态类型扩展 JavaScript 功能的流行编程语言,已正式支持一个新平台。这就是 WebAssembly (Wasm)——一个用于在浏览器及其他环境中以高性能执行代码的低级平台。



长期以来,TypeScript 仅专注于编译为 JavaScript。然而,随着 WebAssembly 的日益普及(它允许在浏览器中以接近原生的速度运行用 C++、Rust 或 Go 编写的代码),TypeScript 社区一直要求直接集成。现在,这已成为现实。



这对开发者意味着什么?

对新平台的支持为 TypeScript 开发者带来了一系列关键能力:

  • 直接编译为 Wasm: 现在,TypeScript 代码可以直接编译为 WebAssembly 模块,无需中间生成 JavaScript。这加速了资源密集型任务的执行——从图像处理到科学计算。
  • 统一的代码库: 开发者可以编写高级类型化的 TypeScript 代码,并将其同时用于 Web 应用程序(通过 JS)和高性能模块(通过 Wasm)。这降低了创建混合解决方案的门槛。
  • 类型安全: TypeScript 的静态类型被移植到 Wasm,从而减少了低级代码中常见的运行时错误数量。


技术细节

新功能是通过扩展编译器 tsc 实现的。开发者只需在 tsconfig.json 配置中指定一个新目标——"target": "wasm"。编译器将自动生成一个 .wasm 文件,该文件可以加载到浏览器或服务器环境(例如,通过 Wasm 运行时在 Node.js 中)。

需要注意的是,并非所有 TypeScript 功能(例如动态导入或某些浏览器 API)目前都在 Wasm 模式下受支持。团队承诺从版本 5.8 开始,将在后续版本中扩展兼容性。



对生态系统的影响

这一举措可能会从根本上改变 Web 开发的格局。如果以前需要在性能(Wasm)和开发便利性(TypeScript)之间做出艰难选择,那么现在这种选择已不复存在。预计用于图形处理、机器学习和数据处理的库将开始迁移到 TypeScript+Wasm。

专家指出,这也将加强 TypeScript 在 IoT 和边缘计算工具领域的地位,在这些领域性能至关重要,而 TypeScript 已用于服务器端代码。



如何开始使用?

要试用这一新功能,请执行以下步骤:

  • 安装最新的 TypeScript 测试版:npm install typescript@beta
  • 创建一个包含简单代码(例如加法函数)的 main.ts 文件。
  • 编译:tsc main.ts --target wasm
  • 使用 JavaScript API WebAssembly.instantiate 在浏览器中加载生成的 .wasm 文件。

TypeScript 团队已在官方网站上发布了示例和文档。目前该支持仍处于实验阶段,但社区正在积极将其用于实际项目中进行测试。



因此,TypeScript 在迈向通用性的道路上迈出了一大步,使开发者能够使用一种语言

推荐库