互联网巨头的容器战略及其焦虑

随着科技的迅速进步,如今我们手机上的应用已经不再单一。许多应用现在都采用的是Hybird App的架构。这种模式结合了 Native 的基础功能和 Webview + JS Bridge 的快速变化的内容。在这种模式下,Webview 的渲染性能就显得尤为关键,因为它直接决定了用户的使用体验。

看到这样的趋势,各大互联网公司都开始重视浏览器内核的研发和收购。例如,阿里收购了 UC 浏览器,并利用了 UC 的内核。腾讯则拥有 X5 内核,并且后续还收购了搜狗浏览器。字节跳动也不甘落后,他们也在积极布局开发自己的浏览器内核,基于 webkit 的技术。而美团虽然从商业角度支持了小程序的架构,但由于缺乏自己的浏览器内核,它一直面临着巨大的挑战。

为了解决这个问题,美团开始了自己的浏览器内核研发工作。他们曾试图 fork webkit,但由于其庞大的 codebase,这个项目进展缓慢。后来,当React Native技术问世,美团决定投资 MRN 架构,期望通过这种方式优化移动端的渲染体验。但很快,由于社区对 React Native 技术性能的质疑,以及其无法解决的固有问题,美团逐渐转向 Flutter 架构。

我的个人经历也与此相关。我最初专注于工程化方案的研究,但后来我被分配到小程序架构的团队,然后再到 Flutter 渲染引擎的项目中。我们的目标是基于 skia 来解析 DOM 和 CSS,从而实现一个高效的渲染引擎。这项工作仍在进行中。

与此同时,React Native 的原生绑定模式对许多开发者来说也是一个挑战。很多前端开发者在尝试学习React Native时发现,由于其底层是基于 Native 的实现,导致许多功能需要先在 Native 中实现,React Native 才能调用。这也使得 React Native 无法真正实现“多端一致性”的目标。

而 Flutter,是 Google 提出的一个解决方案。不同于 React Native,Flutter 直接使用 skia(基于 OpenGL)从头构建渲染引擎,避免了操作系统层面的交互。这种做法使得Flutter能够真正实现一套代码在多端运行。

综上,从架构的特点和前景来看,Flutter 显然更具投资价值。但这并不意味着它现在就是完美的。例如,“闲鱼”App,尽管是基于 Flutter 开发的,但在实际使用中,其稳定性和性能仍有待提高。

总的来说,随着技术的发展,各大互联网公司在容器技术方面的布局和策略也在不断调整。未来还有很长的路要走,但这也充满了机会和挑战。