北海 v0.8.0 发布 — 支持 Flutter 2.0

简介: 官网:https://openkraken.com/Github: https://github.com/openkraken/kraken自 2021年4月21日开源以来,北海(Kraken)就迎来了社区极大的关注。作为一款兼容 W3C 标准的渲染引擎,打造出高性能,轻量,可扩展的产品一直是 Kraken 团队奋斗的目标。经过近 2 个多月的迭代,在修复了亿点点的 bug 后,Krake

官网:https://openkraken.com/

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

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

更新内容

支持 Flutter 最新 stable 版本

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

性能提升

在这个版本中,我们优化了 Bridge 的运行性能,通过之前的调查研究我们发现 JavaScript Bindings 中每一次属性访问的调用,都会对已知的属性集合做一次额外的拷贝,因此我们优化这块的实现来减少不必要的拷贝。

通过这个的优化策略,Kraken 0.8 版本相比 0.7 版本提升了 10% 的首屏性能。

img

Flexbox layout 性能增强

Flexbox 布局的性能也得到了增强,我们新增了判断样式是否变更的策略来减少一些不必要的 layout 操作,进一步压缩了提升了 flexbox 所消耗的时间,即使页面中存在多层 flexbox 嵌套的情况,也能快速生成页面。

新的 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 上发起讨论。

相关文章
|
移动开发 Dart 前端开发
基于 Flutter 的 Web 渲染引擎「北海」
Kraken 是一款基于 W3C 标准的高性能渲染引擎。Kraken 底层基于 Flutter 进行渲染,通过其自绘渲染的特性,保证多端一致性。上层基于 W3C 标准实现,拥有非常庞大的前端开发者生态。
271 0
|
缓存 Dart 前端开发
北海(Kraken)v0.10.0 发布 - 支持 Flutter Widget 混合渲染
经过 2 个多月紧张的开发工作,今天我们发布了全新的 0.10.0 版本,该版本的核心功能是支持 Flutter Widget 混合渲染方案,将 Flutter Widget 简单封装成 Custom Element 就可以提供给前端使用,不仅丰富了前端的组件生态,而且可以通过接入 Native 的高性能容器接入更多的业务场景。以下介绍该版本的主要更新内容。
285 0
北海(Kraken)v0.10.0 发布 - 支持 Flutter Widget 混合渲染
|
存储 JavaScript 前端开发
北海(Kraken)构建大前端混合渲染技术体系 —— Web 与 Flutter Widget 混合渲染方案
组件(模块)封装与开发可以给前端业务开发的过程带来非常大的研发效能的提升,各个业务域的开发者会定制开发许多符合自己业务场景的基础组件(模块)沉淀一套快速复用的物料体系,以保证业务开发的研发效能。同样,在各个 Flutter 团队,也有大量的 Flutter Widget 的物料,以及各种基于 Flutter 场景做的性能优化。在大前端的视角下,我们期望在端内拥有 Web 开发的研发效能以及动态性的同时,也期望通过一些 Native 的优化手段让应用拥有媲美原生的体验与性能。
231 0
北海(Kraken)构建大前端混合渲染技术体系 —— Web 与 Flutter Widget 混合渲染方案
|
存储 JavaScript 前端开发
北海(Kraken)构建大前端混合渲染技术体系 —— Web 与 Flutter Widget 混合渲染方案
北海(Kraken)构建大前端混合渲染技术体系 —— Web 与 Flutter Widget 混合渲染方案
414 1
北海(Kraken)构建大前端混合渲染技术体系 ——  Web 与 Flutter Widget  混合渲染方案
|
Web App开发 移动开发 Dart
基于 Flutter 的 Web 渲染引擎「北海」正式开源
基于 Flutter 的 Web 渲染引擎「北海」正式开源
241 0
基于 Flutter 的 Web 渲染引擎「北海」正式开源
|
JSON Dart 前端开发
深入解析基于 Flutter 的 Web 渲染引擎「北海 Kraken 」技术原理
深入解析基于 Flutter 的 Web 渲染引擎「北海 Kraken 」技术原理
675 0
深入解析基于 Flutter 的 Web 渲染引擎「北海 Kraken 」技术原理
|
JSON Dart 前端开发
深入解析基于 Flutter 的 Web 渲染引擎「北海 Kraken 」技术原理
大家好,我是染陌,这是我在 全球开源技术峰会 GOTC 上的一个 topic ——《基于 Flutter 的 Web 渲染引擎「北海 Kraken」》。我主要从技术角度来分享 Kraken 的一些实现原理以及关键的技术特性,现在整理成文字版分享给大家。
深入解析基于 Flutter 的 Web 渲染引擎「北海 Kraken 」技术原理
|
Web App开发 移动开发 Dart
基于 Flutter 的 Web 渲染引擎「北海」正式开源
北海(英文名:Kraken)是一个易扩展,跨平台,高性能,基于W3C标准的渲染引擎。
基于 Flutter 的 Web 渲染引擎「北海」正式开源
|
4月前
|
监控 Dart 安全
创建一个Dart应用,监控局域网上网记录的软件:Flutter框架的应用
在当今数字时代,网络安全变得愈发重要。为了监控局域网上的上网记录,我们可以借助Flutter框架创建一个强大的Dart应用。在这篇文章中,我们将深入讨论如何使用Flutter框架开发这样一个监控局域网上网记录的软件,并提供一些实用的代码示例。
281 1
|
12天前
|
Dart 前端开发 开发者
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
【4月更文挑战第30天】Dart是Google为Flutter框架打造的高效编程语言,具有易学性、接口、混入、抽象类等特性。本文概述了Dart的基础语法,包括静态类型(如int、String)、控制流程(条件、循环)、函数、面向对象(类与对象)和异常处理。此外,还介绍了库导入与模块使用,帮助开发者快速入门Flutter开发。通过学习Dart,开发者能创建高性能的应用。
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析