基于 Flutter 的 Web 渲染引擎「北海」正式开源

阿里巴巴历时 3 年自研开发的 Web 渲染引擎 北海(英文名:Kraken)正式开源,致力打造易扩展,跨平台,高性能的渲染引擎,并已在优酷、大麦、天猫等业务场景中使用。

  • 官网:https://openkraken.com

  • Github:https://github.com/openkraken/kraken

互联网业务如火如荼地发展离不开跨平台技术,而最成熟的跨平台技术就是大家熟悉的浏览器了,它与生俱来的跨平台能力、开放的标准以及强大的生态使它成为炙手可热的容器之一。而由于其本身不是为了性能而设计的,并且历史包袱重、兼容性、厂商更新慢等问题,浏览器在移动端的表现并不突出。尽管网络以及硬件的发展带来了足够多的性能红利,但是日益复杂的业务总能把已有的性能吃透。

过去也有很多对跨平台方案的探索与实践,新的技术方案也随着历史的浪潮不断地发展。从最早的 H5 方案到 Hybrid 方案,以及后来的 Weex/React Native 方案,到现在如火如荼的 Flutter。
基于 Flutter 的 Web 渲染引擎「北海」正式开源_第1张图片

Flutter 由于其精简的渲染管线,高效的布局渲染能力,以及自绘渲染的特性,一跃成为这两年跨端届的新宠。而在 Flutter 出现之前,主流的方案还是用 React Native(Weex)的,这套方案的底层调用了原生的 View。正是因为如此,导致这套方案很难保证完全的多端一致性,因为原生 View 本身就存在一些限制,有限的能力不能满足开发者所有的需求,所以在实现 W3C 标准时有些牵强。而 Flutter 基于更底层的 Skia 做自绘渲染,可以很好地保证多端一致性。
熟悉 Flutter 的同学肯定知道 Flutter 是用 Dart 语言以及 Widget 来开发的,虽说 Dart 语言对熟悉 JavaScript 的前端同学来说上手成本并不是很高,对于 Widget 这种基于状态驱动的开发模式也已经是非常熟悉,但是整体上与已有基建与前端生态割裂的矛盾是无法接受的。再者,动态化能力对于互联网业务来说简直就是刚需,而目前来看 Flutter for Web 并不理想。

毕竟,引入一项新技术的第一步是解决引入这项新技术的成本问题。所以我们积极探索一种向上对接前端生态,向下使用原生渲染的跨平台方案。

于是诞生了这款基于 W3C 标准的高性能跨终端渲染引擎——北海(Kraken)。
基于 Flutter 的 Web 渲染引擎「北海」正式开源_第2张图片
Kraken值得关注的特性有:

  • 基于 W3C 标准
  • 强大的前端开发者生态
  • 渲染一致性
  • 比 Web 更好的体验与能力
  • 无限滚动列表
  • 同步光栅化
  • 增强的手势能力
  • 插件化能力
  • 稳定性保障
  • 业务落地
  • 社区协作机制

更多详情可查看官方发布文档:基于 Flutter 的 Web 渲染引擎「北海」正式开源

你可能感兴趣的:(快讯,Flutter,北海,开源,前端)