一、分包上传功能
在小程序的上传过程中,网络端管理后台仅支持上传最高不超过 10Mb 的小程序代码包。而解决代码包大小限制的最佳方法就是:分包上传。
相比于 Builder 将分包页面合并到主包以支持分包小程序的做法,BuilderV2 能够真正读取小程序的分包配置,编译出多个小程序包。上传后在 SDK 支持的情况下,能对小程序进行分包下载渲染,让用户在打开小程序时,更快地将代码包下载到本地,从而提升使用流畅性,以获得更好的体验。
二、实现增量编译
根据用户反馈,在用户使用 FIDE 开发的过程中,即使是一些小改动也需要重新编译,而对于一些比较大的小程序,编译一次动辄需要花费 20 多秒,这样的开发效率,实在不能接受。
因此,在内部启动新编译器的立项之初,增量编译的功能就妥妥的放进了Roadmap 的首位!
我们先来看看前后的对比,这里采用了我们官方的 demo 作为实例:
Builder首次编译
耗时:26s
Builder 修改后编译
耗时: 23s
BuilderV2 首次编译
耗时:21s
BuilderV2 修改后编译;耗时:2s
耗时:2s
增量编译,即增量地处理源代码中的变化,从而避免重复针对整个程序的完整编译。可以看到,BuilderV2 与旧版编译在初次编译时的耗时差别不大,但当涉及新功能迭代或有代码修改需求时,增量编译功能将大大提升编译速度。(以上述demo为例:增量编译速度提升 11 倍!)
那 BuilderV2 做了什么呢?
缓存!缓存!还是缓存!
在修改代码之后,每当监听到文件变动时,就会针对变动的文件重新编译,其他没有变动的代码则从缓存中直接读取构建结果进行最终构建。BuilderV2 在首次编译小程序的时候,会对整个小程序的依赖及 fxml,ftss, wxml,wxss 进行记录,同时也会将记录文件缓存到磁盘上。对于一些体量较大的小程序,使用新编译库将大大提高开发效率!
三、彩蛋功能:支持 MockAPI 导入导出
除了进一步完善了 FIDE 的功能池,还进行了 MockAPI 的优化。
「MockApi 」是为了解决前端等待服务端开发接口而产生的一个小工具,可以使用 json 文件模拟服务端请求结果。
支持 MockApi 主要是针对小程序的接口提供 SDK 模拟调试的功能,例如:用户注册了一个支付的自定义接口,设置好模拟的返回值就可以在 FIDE 里面调试走通逻辑了。同时 Finclip 的 MockAPI 已具备需要导入导出功能,当开发人员与项目中其他成员共享规则时,在模拟中导出规则可以配置,再配置文件发送给其他成员导入导入把。