圆桌会议:如何避免踩到移动研发中,效能提升那些坑
在业务持续发展下,研发效能提升似乎已成为各研发团队头顶上的紧箍咒,日常超负荷的研发需求不免让程序猿也站上了迭代的流水线,到底移动研发应该怎么做,才能真正驱动研发效能的提升?
近日,FinClip 邀请到资深 iOS 研发工程师王华磊,唯捷众品技术总监吴耀东,米链信息前端负责人李阳作为嘉宾参与 「FinClip Open Day | 圆桌会议」,期间他们与 FinClip 产品经理王字就“移动研发效能提升”做了深入的沟通交流,活动也从开发者角度讨论了 FinClip 在移动研发效能提升中的方案和作用。
圆桌会议嘉宾
此外,圆桌会议也同步进行了线上直播,众多开发者通过直播的形式与嘉宾一起参与到了热烈的讨论中。没来及参与直播的小伙伴,可通过下面的视频链接进行回看。
Part 01 移动开发低效的原因和改进方案
有超过 10 年移动端研发经验的华磊首先带了主题分享《移动开发低效的原因和改进方案》。
华磊认为更多人力成本、更多时间成本、大型项目的协调和管理成本、频繁提交 AppStore 审核是目前挡在纯原生开发的四座大山。一是需要在 iPhone、Android、WinPhone、iPad、Android Pad 等多个平台投入巨大的人力进行研发;二是纯原生语言特性导致的编码耗时增加,代码量是其他语言的很多倍;三是多人多模块协作和跨团队协作,加大了工作的复杂度;四是一旦原生开发涉及到某个小模块的更新也需要整个 App 提交 AppStore 发版审核。
在此背景下,华磊提出使用跨平台的技术方案和组件化方案,降低项目之间的耦合性,例如 Native + H5、Native +小程序等。
随着手机性能的提升,大家首先会想到用 Native + H5 的方案,该方案可以大大缓解以上几个痛点,但依然有一些新问题。首先,H5 中希望能调用一些原生的功能,所以需要注入事件。其次,H5 网页不太方便做版本管理,一经更新全部客户端都会生效。此外 H5 的渲染速度相比原生要差很多,会造成用户的体验度较差。
华磊带领的团队经过技术调研和选型,最终确定了 Native +小程序的方案,通过小程序可以将 App 中的功能模块化,最小模块用小程序实现,并且小程序的热更新能力可以避免频繁提交 AppStore 审核,而体验度上 H5 小程序的渲染速度更快,用户体验更好。由此认识和接触到了 FinClip,目前已通过部署 FinClip 小程序运行时 SDK,将复杂的业务进行剥离改造为小程序,继而上架到 App 中,恰好满足了复杂业务多变的场景。
Part 02 话题讨论
在话题讨论环节三位嘉宾也与 FinClip 产品经理王字分别从<移动研发最大的痛>、<工程师“效能提升”的好办法>、<FinClip 在效能提升中的价值>、<对 FinClip 提建议>四个话题展开了深入的讨论。
1、移动研发最大的痛
李阳表示目前移动研发最大的问题还是快速迭代影响到研发效率,由于原生开发中 iOS、Android 编程语言不同,加上项目中甚至需要混编,工程师的学习成本极大的增加。市面上出现的跨平台解决方案已经对原生开发形成一定的挑战,所以目前整个团队在往跨平台方向靠近,从而降低人力成本和时间成本,提升效率。
耀东谈到原生开发在生产环节对问题的追踪和回溯比较麻烦,iOS 要做到热更新更麻烦,所以团队想到的就是「Native+小程序」的混合开发。
2、工程师“效能提升”的好办法
耀东认为,可以通过模版生成代码的方式节省时间,在大框架下能够保证工程的质量,而且可以便于代码的 review,对于格式和规范可以通过全自动工具进行检测。目前统合发展基本上是移动研发的大方向,估计「Native+小程序」会逐步成为后续的发展趋势。
李阳提出三个解决办法,一是工具上,工程师要学会应用节奏图和流程图对业务进行分析,减少思维上的漏洞;二是管理上,需要进行开发前的宣讲,让工程师能够理解业务并达成共识;三是培训上,工程师需要进行常规化的培训和交流,提升工程师的技术能力。
此外,李阳也认为混合开发是目前的大方向,其中随着跨平台技术持续的发展和成熟,越来越多的公司会选择例如 FinClip 这样的小程序平台,并且可能会对移动开发产生巨大的影响。
华磊认为,技术方面非常认同耀东的分享可以从自动化工具进行解决,也补充到技术分享应该仅仅是纯技术面的分享,还应该包括业务上的分享,大家的理解也会趋于一致。跨平台、组件化和轻量化方案肯定会成为行业的共识,特别是小程序平台已经成为大厂的标配,而且苹果本身也在做 Clip 轻量化应用,也是其他移动研发团队可以参照的路径。
3、FinClip 在效能提升中的价值
耀东表示之前调研了市场中包括 uni-app 等解决方案,对比后发现不管是打包、后台编译还是审核,FinClip 都要好用很多,并且由于公司的大部分业务需要同步到微信小程序,刚好 FinClip 可以兼容微信小程序,所以选择了 FinClip。
李阳谈到公司考虑选用 FinClip 的原因有三,一是 App 经过多个版本的迭代已经变得很重,原生开发人员开发效率跟不上,所以计划引入「Native+小程序」去减轻工程师的开发压力;二是小程序可以支持热更新,多端共享一套代码可以大幅提升开发效率;三是在经过技术调研后发现 FinClip 集成的效果很好,对接起来也比较简单。
华磊团队一直在找跨平台的技术,也看了 uni-app 等平台,着重对比了 API 对接的能力,发现 FinClip 基本上与微信小程序的 API 已经对齐。而且团队想要一个自己的小程序管理后台,便于搭建自己的小程序生态,刚好 FinClip 满足这样的需求。
更多的话题交流内容欢迎大家从视频中进行了解。如果对话题内容感兴趣也可以通过扫码加入技术交流社群的形式与我们进行交流。
扫码加入技术社群
Part 03 产品动态介绍
活动尾声,FinClip 产品经理王字也为我们介绍了产品的最新动态。
近期 FinClip 会上线桌面端的小程序 SDK,此后也能够在 Windows、Mac 上更方便的为用户提供各式各样的小程序应用。
此外 FinClip 也将在今年上线小程序离线包的支持功能,如果在移动应用中集成小程序的离线包,那即使用户当前所在的环境网络状态不好,也可以大幅度提升用户的使用体验。
FinClip 小程序已经在 11 月上线了对地图组件的支持,在 FIDE(就是我们的官方小程序编译器)中,也提供了分包上传与增量编译的功能,可以大幅度降低小程序的编译和打开速度。今年内还有一次 FIDE 的年度更新,我相信也会为大家带来更好的编译体验。
近期更新功能
小程序插件功能也已经上线了,大家有兴趣也可以登录 finclip.com 进行体验。
期待在下次的圆桌会议中与您共同交流。
版权声明: 本文为 InfoQ 作者【王字 Wannz】的原创文章。
原文链接:【http://xie.infoq.cn/article/6a185d314a77cb97edcf9b1a7】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论