小程序可以和跨端方案如何结合呢?
小程序与 Flutter 最密切关联还是在渲染优化上,先来看看整个框架:
在这个架构下,我们就将 Layout 层的 LV-CPP 专门的作为小程序的 UI 体系处理器,将 UI 信息布局计算好再提交给抽象的后端去渲染,LV-CPP 作为小程序的框架和渲染器的中间层,集中的在 C++ 层去处理与 Web 相关的复杂特性。渲染端就可以基于特定的协议和接口专注将元素转化为 UI 组件,最终绘制出来。
通过结合 Flutter 和 LV-CPP,我们把实现代码收敛在 C++ 和 Dart 上,进一步简化了基于小程序技术栈实现跨平台业务开发的框架维护成本。
再来看看各家厂商是如何开展的:
微信:基于小程序技术栈的微信客户端跨平台实践
微信小程序,最开始是采用 Webview 渲染的方案,后面又采用了 React-Native-Like 的方案,再后来微信提出了一个很大胆的想法:上层依然使用 WXML+WXSS 来表示,但是底层使用 Flutter 引擎来渲染,而且他们觉得 Platform Channel 通信效率低,自己整了一个 dart2cpp 的模块来负责通信。目前微信不会放弃 WebView 渲染,尝试仅限于微信客户端内部部分场景使用。
FinClip:基于小程序技术的跨端开发平台建设
FinClip是目前市面上比较热门小程序容器技术,一个可以让任何APP都能具备小程序运行能力的前端容器技术,只需简单集成FinClip SDK ,即可在 iPhone、Android、Windows、Linux、macOS、统信等平台下的应用中运行你的小程序,这意味着,移动端、PC 端、车载设备、智能电视、智能手表都能使用小程序了,实现多端互通,同时兼容互联网主流小程序技术语法,可采用 Vue、react 基础上的 DSL 框架。
实际上不与 Flutter、Reactive-Native、100% Native 或 Framework 们技术冲突,嵌入即可,个体小程序开发依然可享受 React 等 Web Framework、mate Framework、DSL Frameworke 的成果。
FinClip 小程序容器技术,将视图层与逻辑层分离也带来了许多好处:
1、方便多个小程序页面之间的数据共享和交互。在小程序的生命周期中具有相同的上下文可以为具备原生应用程序开发背景的开发人员提供熟悉的编码体验; 2、Service 和 View 的分离和并行实现可以防止 JS 执行影响或减慢页面渲染,这有助于提高渲染性能; 3、因为 JS 在 Service 层执行,所以 JS 里面操作的 DOM 将不会对 View 层产生影响,所以小程序不能操作 DOM 结构的,这也使得小程序的性能比传统的 H5 更好。
FinClip提供了 Flutter SDK,支持在 Flutter 环境使用小程序;以满足 Flutter 和小程序混编的效果。这里也放上 FinClip 在 Flutter 开发框架集成的文档进行参考: Flutter 集成指引。
任何事物的发展都具有周期性,显然小程序的这波红利已经到来, 今天的创新可能就是明天的标配。当务之急,尽早上船拿到“船票”。
本文链接:https://bk.89qw.com/a-1022657/