返回

Now直播iOS Flutter混合工程开发实践探索:兼容性、易用性与性能优化详解

IOS

导语

腾讯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混合开发模式。