跨端图表库 · Canvas 2D 渲染
一份 TypeScript 源码,Web / 小程序 / 原生 App 共用
transone-chart 以最小 Canvas 2D 契约(ICanvas2D)解耦平台:Web 直接用 HTMLCanvasElement,小程序走 Canvas 2D 节点,未来原生 App 实现契约即可接入。一期内置折线、柱状、饼图(环形)、雷达四种图表,零运行时依赖。
纯 Canvas 2D 绘制
不依赖 ECharts / F2 / uCharts,自研绘制引擎,体积可控、行为透明。
ICanvas2D 契约解耦
跨端唯一边界是约 20 个方法的 Canvas 子集契约,平台差异全部收敛在 adapters。
四种一期图表
折线(平滑 / 面积)、柱状(堆叠 / 横向 / 圆角)、饼图(环形 / 百分比标签)、雷达(多系列 / 归一化)。
OOP + 策略模式
core 纯引擎 → charts 图表策略 → adapters 平台差异 → factory 分发 → component 声明式组件。
TcChart 声明式组件
与 transone 组件系统集成,option 受控传入,同一份源码编译 Web 与小程序。
原生端契约占位
adapters/native.ts 预留 iOS / Android / 鸿蒙接入点,未实现时显式抛错、绝不静默降级。