【重磅推荐】FIDE 全新编译体验,编译速度提升11倍!

举报
小西2333 发表于 2021/10/28 15:17:45 2021/10/28
【摘要】 对于研发来说,在日常的开发工作中,我们与之打交道最多的便是编程的IDE。能否高效和灵活的使用IDE,将对我们的工作效率起着举足轻重的作用。

对于研发来说,在日常的开发工作中,我们与之打交道最多的便是编程的IDE。能否高效和灵活的使用IDE,将对我们的工作效率起着举足轻重的作用。

为了给大家更好的开发体验,在 2021 年 10 月发布的 FIDE 1.8.0 版本中,我们正式上线了全新的编译器。其实在 8 月份,该编译器已经作为实验性功能发布了,需要在详情中,打开「体验实验性分包」功能开启,在经历了两个月测试之后,随着 SDK 更新 2.34.1 大版本正式上线,FIDE 正式默认使用全新的编译器。

新编译器(以下简称 BuilderV2)对比旧编译器(以下简称 Builder)做了以下功能的更新:

  1. 支持分包上传
  2. 实现增量编译

欢迎点击:最新FIDE下载地址

一、分包上传功能

在小程序的上传过程中,Web 端管理后台仅支持上传最高不超过 10Mb 的小程序代码包。解决代码包大小超出限制的最佳方法就是:分包上传。

相比于 Builder 将分包页面合并到主包以支持分包小程序的做法,BuilderV2 真正的读取小程序的分包配置,编译出多个小程序包。上传之后在 SDK 支持的情况下,会对小程序分包进行下载并渲染,让用户在打开小程序时,更快地将代码包下载到本地,从而提升使用流畅性,以获得更好的体验。

二、实现增量编译

根据用户反馈,FIDE 在用户开发的过程中,每次一些小改动,等待编译的时间非常长,每一次都是重新编译,对于一些比较大的小程序,编译一次动辄 20 秒,这样的开发效率,实在不能接受。

因此,在内部启动了新编译器的项目之初,增量编译的功能就妥妥的放在了 RoadMap 的首位!

我们先来看看两者的对比,这里采用了我们官方的 demo 作为实例:

Builder 首次编译;耗时: 26s

1.png

Builder 修改后编译;耗时: 23s

2.png

BuilderV2 首次编译;耗时:21s

3.png

BuilderV2 修改后编译;耗时:2s

4.png

增量编译,即增量地处理源程序代码中的变化,避免重复进行针对整个程序的完全编译。可以看到,BuilderV2与旧版编译在初次编译时的耗时差别不大,但当涉及新功能迭代或有代码修改需求时,增量编译功能将大大提升编译速度。(以上述demo为例:增量编译速度提升11倍!)

那 BuilderV2 做了什么呢?

缓存!缓存!还是缓存!

BuilderV2 在首次编译小程序的时候,对整个小程序的依赖及 fxml,ftss 或者 wxml,wxss 进行了记录,同时缓存到磁盘上,当监听到文件变动时,仅针对变动的文件进行重新编译,其他的则从缓存中直接读取构建结果进行最终构建。对于一些体量较大的小程序,使用新编译库将大大提高开发效率!

三、彩蛋功能:支持 MockAPI 导入导出

除了进一步完善了FIDE的功能池,10月我们还进行了MockAPI 的优化。

「MockApi 是为了解决小程序自定义接口注入在 IDE 上无法使用而产生的一个小工具,使用 json 文件模拟 API 调用结果。

支持 MockApi 主要是针对小程序的接口提供 SDK 模拟调试的功能,比如:用户注册了一个支付的自定义接口,设置好模拟的返回值就可以在FIDE 里面调试走通逻辑了。同时Finclip的MockAPI 已具备导入导出功能,当开发人员需要与项目中其他成员共享规则时,可以在 Mock 中导出规则配置,再把配置文件发送给其他成员导入即可。

以上就是10月所有关于FIDE的功能新增与优化,希望新增的功能可以帮助大家快速提升开发效率!后续FIDE会持续完善功能池,如您有好的意见与建议可以登录Finclip官方网站,给我们留言。或许下一个迭代你就能看到期待已久的功能上线哦!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。