2026-06-03 20:39:28 +00:00
2026-05-24 17:58:12 +08:00
2026-06-03 20:39:28 +00:00

HeurAMS-Core

使用受限制的 TypeScript 实现的高性能 HeurAMS 通用内核模块, 用于取代旧版 Python 内核并直接用于多前端平台

项目写的是哪种 TypeScript?

具体地说, 是 ArkTS 风格约束的 TypeScript 严格子集方言, 具体地说:

  • 兼容, 但不是 标准 TypeScript: 禁用 any、eval、Proxy、动态属性等
  • 兼容, 但不是 HarmonyOS ArkTS: 不依赖 HarmonyOS UI 扩展, 不依赖 ohos 平台 API
  • 兼容, 但不是 Node.JS: 不依赖其提供的专有 API
  • 兼容, 但不使用 npm: 不依赖任何外部包管理器
  • 不兼容, 且不是 AssemblyScript: 依赖动态数组与闭包, 动态分配

它是 TypeScript 的一个严格且可静态分析的子集, 目标是:

  • 高性能: 对象形状固定, 类型稳定, 利于 JIT/AOT 优化
  • 类型安全: 禁用所有绕过类型系统的逃逸舱口
  • 运行时安全: 禁用所有运行时代码解释注入与执行操作, 如 eval
  • 零依赖移植: 通过依赖注入抽象平台 API, 并内置 (vendor) 或实现所有所需第三方库
  • 多平台支持: 拥有编译后在 Flutter, ArkTS, Qt, Python (micro-javascript) 及任何支持 ECMAScript 2020+ 的环境中嵌入并运行的能力

项目会取代 Python 版本吗?

会取代的部分:

  • 在内核上, TypeScript 版本会完全取代 Python 版本
  • 未来, 以及当下的客户端实现 (基本用户界面, KiriMemo, ArkMemo, HeurStudio, 以及可能的 Web 端等) 都将基于 HeurAMS-Core, 而不是 Python 版本内核
  • eval 字符串 API 规范将变成更安全的格式实现, 而 Python 版内核将被完全弃用

不会取代的部分:

  • Python 的 Textual TUI 前端不会被 TypeScript 重写: Textual 是优秀的 TUI 框架, 届时 Python 版本将变成一个 Textual 前端, 并兼容此前的 HeurAMS TUI 版本
S
Description
使用受限制的 TypeScript 实现的高性能 HeurAMS 通用内核模块, 用于取代旧版 Python 内核并直接用于多前端平台
Readme AGPL-3.0 43 KiB