Kraken v0.8.0 发布 — 支持 Flutter 2.0

img

官网:https://openkraken.com/css

Github: https://github.com/openkraken/krakenvue

自 2021年4月21日开源以来,北海(Kraken)就迎来了社区极大的关注。做为一款兼容 W3C 标准的渲染引擎,打造出高性能,轻量,可扩展的产品一直是 Kraken 团队奋斗的目标。通过近 2 个多月的迭代,在修复了“亿点点”的 bug 后,Kraken 终于迎来了 0.8.0 版本。react

更新内容

支持 Flutter 最新 stable 版本git

0.8 版本支持最新的 Flutter stable 版本 — v2.2.2,而且完美支持 Dart Null Safety。github

性能提高ide

在这个版本中,咱们优化了 Bridge 的运行性能,经过以前的调查研究咱们发现 JavaScript Bindings 中每一次属性访问的调用,都会对已知的属性集合作一次额外的拷贝,所以咱们优化这块的实现来减小没必要要的拷贝。 经过这个的优化策略,Kraken 0.8 版本相比 0.7 版本提高了 10% 的首屏性能。布局

img

Flexbox layout 性能加强性能

Flexbox 布局的性能也获得了加强,咱们新增了判断样式是否变动的策略来减小一些没必要要的 layout 操做,进一步压缩了提高了 flexbox 所消耗的时间,即便页面中存在多层 flexbox 嵌套的状况,也能快速生成页面。flex

新的 HTML 标签和新的 CSS 属性单位优化

在标签和 CSS 能力方面,咱们在 0.8.0 版本添加 h1-h6,strong 等经常使用 HTML 语义话标签的支持,而且新增了 vmin & vmax CSS 单位,同时还支持文本样式的继承。

在布局能力上,咱们新增了 margin 双边距合并的,虽然这个功能在 W3C 小组看来是个 design mistake,可是咱们依然打算去支持它,提供兼容 W3C 标准的渲染能力始终是 Kraken 的主要目标。

image-20210702221853035

大量问题修复

开源以后,社区同窗反馈了不少 Kraken 使用上的问题,其中包括集成应用黑/白屏,vue/react 页面没法运行,事件冒泡不符合 W3C 标准行为,以及一些其余的报错问题。

在 v0.8.0 版本,上诉的问题中都已经被解决,在这里还要再次感谢社区用户的支持。若是没有大家的帮助,咱们作不到这些。

社区使用状况

在 Kraken 开源以后,有多家公司都向 Kraken 团队表示,他们将尝试接入 Kraken 到他们的 App 中去,目前已知的公司包括:

  1. 优酷
  2. 高德地图
  3. QQ 音乐
  4. 陆金所
  5. 涂鸦科技

若是你的产品也在尝试使用 Kraken,欢迎在评论区进行回复。

What's Next

目前 Kraken 团队的首要目标是提供极致的启动性能,咱们将在下个版本(0.9)推出更快的技术方案来提高应用的启动性能:

  • 支持 Quickjs,提供 Bytecode 加载支持。
  • 支持 HTML 文本格式,支持 SSR 渲染方案。

欢迎持续关注 Kraken 的进展,若是你有任何和 Kraken 有关的问题,欢迎在 Kraken 的 Github Repo 上发起讨论。

相关文章
相关标签/搜索