定位与设计

TransOne 的品牌定位、技术路线对比、能力边界与架构方向。

来源
本文是规划稿要点速览,权威依据见仓库内 docs/positioning.md 全文。

一句话定位

一套 TypeScript 源码,通过编译期静态转换产出 Web 与多端小程序原生工程,未来扩展原生 App 的跨端前端框架。核心主张:一套源码,多端原生产物,零运行时桥接。

为什么是编译期静态转换

方案代表机制代价
运行时桥接uni-app框架运行时 + 编译产物(自定义组件 + 运行时适配层)产物依赖框架运行时,包体大,调试隔层
编译转换 + 运行时适配TaroBabel 编译 + 运行时 reconciler运行时依赖框架子集,性能与兼容性受限
编译期静态转换(本项目)TSone build --mp-weixin 原型静态分析 VNode 子集 → 目标端原生模板 / 组件代码对源码形态有约束(必须可静态编译),需文档化限制
  • 产物即原生工程:直接由各平台官方工具链构建、预览、发布,无框架运行时依赖。
  • 体积与性能最优:小程序端尤其敏感,静态转换产物最接近手写原生。
  • 代价可控:每端维护一个静态编译目标(模板语法、样式、API 映射),不可静态编译的写法在编译期快速报错。

能力边界

首期做(M1–M3):Web 产物、微信 / 阿里 / 字节小程序静态转换、响应式与类组件、目标端抽象(Target)。

首期明确排除:SSR、devtools、HMR、JSX 编译器、运行时跨端桥接、App 端(列为远期并预留 Target 扩展点)、第三方运行时。

架构方向

每个端一个编译目标(Target),编译器按 Target 分发代码生成:web 直接渲染(与 TSone 一致);mp-weixin 产出 WXML / WXSS / JS;mp-alipay 与 mp-bytedance 已实现;app-* 为远期占位。编译流水线:入口文档 → 静态分析(可编译性校验)→ VNode 子集抽取 → 各 Target 代码生成 → 原生工程文件输出。

设计约束

  • OOP + 策略模式 + SOLID,对齐 TSone 项目内 OOP 设计约束。
  • 新增渲染 / 编译行为优先扩展或拆分 Strategy。
  • 零外部运行时依赖;Bun-first 工具链。
  • TypeScript strict 风格,避免新增 any;公共 API 优先泛型、unknown、显式接口。