Now直播iOS Flutter混合工程开发实践探索:兼容性、易用性与性能优化详解
2024-01-01 16:14:29
导语
腾讯Now直播iOS App在近期版本中嵌入了Flutter功能开发模块,本文将主要讨论我们Now直播终端团队对iOS Flutter混合开发模式的一些思路和实践,欢迎大家探讨交流。
整体来看,团队经历了三个混编开发模式阶段,分别是:
- Xcode工程集成Flutter产出模式
- Flutter工程集成Xcode产出模式
- One Flutter工程产出Xcode与Flutter App的模式
本文将依次介绍上述三个阶段的开发思路、遇到的问题与挑战,以及团队的优化实践。
一、Xcode工程集成Flutter产出模式
1. 开发思路
第一种开发模式的思路是,在Xcode工程中集成Flutter产物。Flutter产物为经过Flutter build命令编译后的产物。Xcode工程通过framework的方式引入Flutter产物。这种模式的好处是,可以方便地在Xcode工程中管理Flutter代码和资源。
2. 遇上的问题
在使用第一种开发模式时,团队遇到了以下问题:
- 兼容性问题:Flutter产物兼容性较差,很容易出现问题。
- 易用性问题:第一种开发模式需要手动集成Flutter产物,过程比较繁琐。
- 性能问题:第一种开发模式的性能较差,容易出现卡顿等问题。
二、Flutter工程集成Xcode产出模式
1. 开发思路
为了解决上述问题,团队采用了第二种开发模式,即Flutter工程集成Xcode产出模式。
第二种开发模式的思路是,将Flutter代码和资源打包成Flutter工程,然后在Xcode工程中集成Flutter工程。Xcode工程通过pod的方式引入Flutter工程。这种模式的好处是,可以提高Flutter代码和资源的兼容性和易用性。
2. 遇上的问题
在使用第二种开发模式时,团队遇到了以下问题:
- 性能问题:第二种开发模式的性能仍然较差,容易出现卡顿等问题。
- 易用性问题:第二种开发模式需要手动集成Flutter工程,过程比较繁琐。
三、One Flutter工程产出Xcode与Flutter App的模式
1. 开发思路
为了进一步提高性能和易用性,团队采用了第三种开发模式,即One Flutter工程产出Xcode与Flutter App的模式。
第三种开发模式的思路是,使用一个Flutter工程同时产出Xcode工程和Flutter App。Xcode工程可以通过Xcode编译和运行,Flutter App可以通过Flutter命令编译和运行。这种模式的好处是,可以显著提高性能和易用性。
2. 开发实践
在使用第三种开发模式时,团队总结了一些最佳实践:
- 使用Flutter最新版本:Flutter最新版本往往包含了最新功能和优化,可以提高性能和易用性。
- 使用Flutter插件:Flutter插件可以帮助团队快速集成各种功能,提高开发效率。
- 优化Flutter代码:团队在开发Flutter代码时,会严格遵守Flutter官方的编码规范,并使用一些工具来检查代码质量,提高代码的性能和易用性。
- 优化Xcode工程:团队在开发Xcode工程时,会严格遵守苹果官方的开发规范,并使用一些工具来优化Xcode工程的性能和易用性。
结语
经过团队的不断探索和实践,Now直播iOS App的Flutter混合开发模式已经取得了很大的进步,兼容性、易用性和性能都有了显著的提升。团队希望通过本文的分享,能够帮助其他开发者更好地理解和使用Flutter混合开发模式。