
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Pura X Max 这类「阔折叠」来了:外屏比普通直板机更宽更短,内屏一展开就进入大屏布局范围。很多团队的第一反应是「加一个 if PuraXMax 分支」「读取物理屏幕尺寸」「监听 orientation」。这些做法在第一台设备上能跑,但横屏、分屏、自由窗口、未来新形态一起涌来时就会全面崩溃。

复制粘贴是编辑器里最被低估的功能——它同时是内容的出口和入口,牵扯三个各自独立的问题:格式(剪贴板里存什么,外部应用读得懂吗)、身份(粘贴出来的块用什么 ID)、平台(怎么跟 @ohos.pasteboard 和它的权限模型打交道)。ADR-0004 的答案是先把前两个问题在框架层解决干净,再把第三个问题压缩成一个"薄壳"适配器。

复制粘贴是编辑器里最被低估的功能——它同时是内容的出口和入口,牵扯三个各自独立的问题:格式(剪贴板里存什么,外部应用读得懂吗)、身份(粘贴出来的块用什么 ID)、平台(怎么跟 @ohos.pasteboard 和它的权限模型打交道)。ADR-0004 的答案是先把前两个问题在框架层解决干净,再把第三个问题压缩成一个"薄壳"适配器。

编辑器里永远有两份文本真相:引擎 Block 模型里的那份,和屏幕 RichEditor 缓冲里的那份。让它们在打字、拆分、合并、撤销的每一步都保持一致,是鸿蒙编辑器工程最凶险的一英里——凶险到很多问题只存在于真机上:Undo 连按好几下没反应、然后一次性删光所有文字;按个 Enter,整页文本凭空消失。

编辑器里永远有两份文本真相:引擎 Block 模型里的那份,和屏幕 RichEditor 缓冲里的那份。让它们在打字、拆分、合并、撤销的每一步都保持一致,是鸿蒙编辑器工程最凶险的一英里——凶险到很多问题只存在于真机上:Undo 连按好几下没反应、然后一次性删光所有文字;按个 Enter,整页文本凭空消失。

编辑器渲染的黄金法则是"只更新受影响的块"——但把这条法则落到 ArkUI 上,你会撞上一堵写满警告的墙:ForEach 的 key 怎么写、@Prop 什么时候不可靠、@Builder 为什么不能跨文件。

编辑器渲染的黄金法则是"只更新受影响的块"——但把这条法则落到 ArkUI 上,你会撞上一堵写满警告的墙:ForEach 的 key 怎么写、@Prop 什么时候不可靠、@Builder 为什么不能跨文件。

每个块插件都有用户可编辑的属性——图片的宽高布局、卡片的尺寸变体、Callout 的语义类型。在属性引擎之前,接入一个插件要在 UI 层、路由层、控制器层各写一份几乎相同的代码,插件数量线性增长,重复代码同步增长。

每个块插件都有用户可编辑的属性——图片的宽高布局、卡片的尺寸变体、Callout 的语义类型。在属性引擎之前,接入一个插件要在 UI 层、路由层、控制器层各写一份几乎相同的代码,插件数量线性增长,重复代码同步增长。

框架的扩展性有两种死法:一种是让插件改内核(改着改着内核就不是内核了),另一种是给官方功能留后门(官方走快捷通道,SDK 沦为装饰)。ArkBlocks 给自己立了一条狠规矩——官方块类型逐个迁出内核、强制走插件通道,迁移本身就是对 SDK 的验收测试:官方插件过不了 SDK 这条路,修的是 SDK,不是开后门。








