挑战
在移动应用程序开发日新月异的领域中,Google 的 Flutter 凭借其能从单一代码库编译原生移动应用、网页应用和桌面应用的能力,成为了一个强大的开发平台。
Flutter 插件让开发者能够在熟悉的 IntelliJ 和 Android Studio 集成开发环境中构建应用。然而,使用 Flutter DevTools 进行应用调试和性能评估却显得有些复杂和繁琐。
Flutter 的调试和性能分析套件会在单独的浏览器窗口中打开,导致开发者在测量和调整应用性能时,不得不在 IDE 和浏览器之间来回切换。
为了简化开发过程中的这一环节,谷歌曾尝试采用两种版本的 Flutter DevTools — 一种是他们已有的基于 Web 技术的版本,另一种则是基于 Java Swing 的版本,以便将 DevTools 嵌入到 IntelliJ 平台 UI 中。然而,他们发现这样做的成本太高,即使对于 Google™ 来说,收益也微乎其微。
因此,他们开始寻找一种能够将 Web 内容嵌入 Java 应用程序的解决方案。
解决方案
在探索了诸如 Java Chromium™ Embedded Framework(JCEF)等多种方案后,Google 团队最终选择了 TeamDev 开发的 JxBrowser — 这是一个跨平台库,用于将基于 Chromium 的浏览器组件集成到 Java 应用程序中。
选择 JxBrowser 的原因如下:
| 丰富的 Web 内容渲染。 JxBrowser 为 Flutter DevTools 界面的复杂 Web 内容渲染和交互提供了可靠的基础。 | |
| 跨平台兼容性。 将 DevTools 集成到 IntelliJ 中旨在让任何平台的开发者都能使用 Flutter 创建应用。通过使用 JxBrowser,Google 团队成功实现了这一目标,节省了大量时间和精力,使得 DevTools 能够在任何操作系统上轻松访问,因为所选的库能够与原生 Chromium 代码无缝集成。 | |
| 经过验证的稳定性和专业支持。 JxBrowser 自 2007 年推出以来,在各种环境中都表现出可靠的性能,并得到了具有 20 年 Java 集成经验的工程团队的持续改进和支持。 |
成果
通过将 JxBrowser 作为 Flutter 插件的一部分,Google 成功地将 Flutter DevTools 集成到了 Android Studio 和 IntelliJ 中。
这极大地提高了 Flutter 应用程序开发的便捷性和速度,简化了开发流程,并将应用程序检查和诊断工具作为 IDE UI 的一部分提供。
对于 Google 团队来说,支持 Flutter DevTools 的成本也得到了优化。所选的解决方案允许在桌面环境中提供基于 Web 的内容,从而消除了为 Web 和基于 Java Swing 版本提供重复 UI 的需要。

Android Studio 中 Flutter 检查器选项卡的预览。
IntelliJ 的 Flutter 插件下载量超过 150 万次,在开发者中广受欢迎。开发者们对于便捷地调试和优化应用的需求,通过借助 JxBrowser 实现的 Flutter DevTools 套件得到了满足。



