比较本地小程序
本地迷你计划有很多投诉,但相对推荐
官方文档 - 选择指南提供详细的多方比较评论,如果您需要深入了解,则可以阅读并参考。
应用程序末端的跨端框架正在迅速发展,本文仅将其与小型程序端进行比较。
我个人的看法是:如果您涉及跨端,那是一个无底的坑,但是您可以权衡取舍并做出很好的选择
功能实现
编写小程序最终将代码转换为本地小程序
它不限制基本的API呼叫本身,并且与 JS SDK和自定义组件兼容。即使未封装,您仍然可以直接编写本机写作方法。同时,它支持各种平台的查看层脚本语言,包括微信WXS,, SJS
在功能方面,迷你计划的开发与本地迷你程序没有什么不同
性能经验
因为它需要横端,所以它将按一层包装和转换。它似乎增加了运营负担,但实际上,常规场景中的性能经验更好
微信小程序文档 - 文章“理性使用”清楚地指出:数据的大小和频率将影响运行性能
由于数据需要序列化,并且所有数据都从逻辑层传输到数据层,因此视图层更新是异步触发的,并且每个调用都会触发遍历,更新,甚至是虚拟DOM树的页面重新渲染。
例如,在官方评估中提供的示例:在数组中添加新数据时,原始数据,需要合并,序列化和传输新数据。
data: { listData: [] }, onReachBottom() { //上拉加载 let listData = this.data.listData; listData.push(...Api.getNews());// 新增数据 this.setData({ listData }) // 全量数据,发送数据到视图层 // 例如原有1000条,新增20条后,setData仍然需要从逻辑层传递1020条数据到视图层 }
需要手动优化本地语法中的吸引人方案:
data: { listData: [] },
10
11
12
13
14
15
16
17
18
实施使用差异策略来最大程度地减少数据传输并减少通信损失;以及VUE中的异步更新机制,首先在虚拟DOM中应用所有事件循环中的所有更改,然后将最小更改应用于视图以避免重复触发更新。
可以将其与VUE开发和本地发展进行比较。如果没有进行特殊优化,则本机性能通常不如框架性能好。
优化的本地性能>性能>不优化的本地性能
社区生态
由于它们都在迷你程序平台中使用,因此大多数插件或问题解决方案相对易于连接。因此,在社区生态的比较中,基本上可以忽略差异。例如,在搜索问题时,两个社区都可以尝试
微信小程序需要在管理背景中搜索附加组件,这提供了开放式插件市场
在社区活动方面,社区和微信开放社区都很受欢迎,并且大多数问题都有相应的帖子(尽管实际业务中会有很多问题可以找到明确的答案)
这两个微信迷你计划在生态上都更加完美
发展经验
本地迷你程序的原始语法被批评为“无与伦比的”。对于开发人员而言,这相当于学习一组新的语法,大大增加了学习成本。
使用的VUE语法 +迷你程序API方法更友好,入门的困难大大减少了。
在编辑中,有自我开发的。尽管它受到了很多批评,但它等同于微信本机开发人员工具,这些工具提供了视觉配置,代码提示,转到定义,快速创建新项目,文件以及方便的编译和包装辅助功能。它支持州管理工具,VUEX,支持预处理器,新的ES语法,更好的工程支持等。
发展经验明显优于本地小程序
可扩展性
制定迷你计划的主要目的之一是依靠平台来促进交通转移。一次主要开发曾经,多端覆盖范围可以轻松地将应用程序扩展到多个平台,这对企业具有很高的价值。
保持可伸缩性而没有任何缺点
Uni-App本地的摘要
功能
相同的
相同的
表现
自动框架优化
需要手动优化
社区生态