登录社区云,与社区用户共同成长
邀请您加入社区
为遵守国家网络实名制规定,未绑定将限制内容发布与互动
这一篇解决的问题:通知发出去了为什么没看到。我们不背 API,而是从一个真实页面需求出发,把“本地通知发布与权限检查”做成能继续扩展的工程写法。
这一篇解决的问题:文件保存到底该放哪。我们不背 API,而是从一个真实页面需求出发,把“应用沙箱中的文本文件读写”做成能继续扩展的工程写法。
这一篇解决的问题:选图片别只盯返回路径。我们不背 API,而是从一个真实页面需求出发,把“PhotoPicker 选择图片与结果处理”做成能继续扩展的工程写法。
这一篇解决的问题:权限别等报错了再补。我们不背 API,而是从一个真实页面需求出发,把“相机权限申请与拒绝后的页面处理”做成能继续扩展的工程写法。
听起来没毛病。毕竟我们写的是声明式 UI,代码里把count从 0 改成 1,界面上的数字不就应该自动变成 1 吗?实际开发没这么省心。尤其是项目稍微复杂一点之后,你会遇到一些很“玄学”的现象:接口数据明明回来了,日志也打印出来了,页面就是没刷新;弹窗里修改了数据,关闭弹窗之后列表还是旧值;父组件传给子组件的数据变了,子组件却像没看见一样;甚至同一个变量,第一次点按钮有效,第二次点就没反应。这一篇
HarmonyOS 7 · ArkWeb 混合应用开发手记 10前九篇我们一直在修一个个问题:加载、生命周期、Bridge、返回、文件、登录、缓存、性能、安全。最后一篇不再加新API。我们做一件更重要的事:把这些能力收成一个团队能复用的 ArkWeb业务容器。
HarmonyOS 7 · ArkWeb 混合应用开发手记 09ArkWeb一旦能调用分享、登录、文件、支付,它就不再只是"显示网页的组件"。如果任何URL 都能进来,任何页面都能调用 Bridge,那等于把原生能力直接摆在 Web前面。
页面开始加载页面结束加载H5 首屏 Ready业务数据 ReadyonPageEnd不等于业务首屏完成,这一点第一篇已经讲过。【配图 01:ArkWeb 首屏时间线,标出 DNS/连接/页面/H5 Ready】
HarmonyOS 7 · ArkWeb 混合应用开发手记 07Web 页面在办公室 Wi‑Fi下秒开,不代表上线后也秒开。地铁、地下车库、网络切换时,用户看到的往往是白屏和转圈。这一篇做缓存和离线,但不追求"什么都缓存"。
HarmonyOS 7 · ArkWeb 混合应用开发手记 06混合应用里最尴尬的场景之一:用户明明已经在 App 登录了,打开 H5又让登录一次。或者原生退出账号了,Web 页面还保持着旧用户。这不是一个 Token 塞进 URL 就能解决的问题。