Open Kraken

基于 Flutter 的 Web 渲染引擎
授权协议 Apache
开发语言 C/C++ TypeScript Dart
所属分类 Web应用开发、 浏览器/JS引擎
软件类型 开源软件
地区 国产
投 递 者 宋子辰
操作系统 跨平台
开源组织 阿里巴巴
适用人群 未知
 软件概览

Kraken 是一款基于 W3C 标准的高性能渲染引擎。Kraken 底层基于 Flutter 进行渲染,通过其自绘渲染的特性,保证多端一致性。上层基于 W3C 标准实现,拥有非常庞大的前端开发者生态。

特性

  • Web 标准开发:Kraken 依据 W3C 标准提供渲染能力,提供浏览器中常见的标签、CSS 能力、API,让你使用前端生态构建原生应用。
  • 跨平台一致:基于 Flutter 的自绘渲染技术,不再受到平台能力制约,提供跨平台完全一致的 UI,同时支持桌面端 (macOS、Linux、Windows) 和移动端 (iOS、Android)等。

  • 原生性能:使用 AOT 构建技术将 Kraken 编译成机器码,提供更接近原生的性能;同步光栅化,支持无限列表流畅滚动且没有白屏。

示例

结构与样式

Kraken 中实现了 W3C 标准的 HTML 标签与 CSS 样式,因此可以完全使用 Web 开发的方式来书写页面结构与样式。

搭建页面结构

以下例子演示了如何使用原生 HTML 标签写一个简单的博客文章结构:

<div>
  <div>Kraken 入门教程</div>
  <div>2021-1-1</div>
  <div>
    <img src="https://img.alicdn.com/imgextra/i4/O1CN01GIxaZ01V0isGFLuJQ_!!6000000002591-2-tps-400-339.png" />
  </div>
  <div>
    Kraken 是一款基于 W3C 标准的高性能渲染引擎。Kraken 底层基于 Flutter
    进行渲染,通过其自绘渲染的特性,保证多端一致性。上层基于 W3C
    标准实现,拥有非常庞大的前端开发者生态。
  </div>
</div>

添加样式

为方便演示,代码示例中统一使用 React / Rax 支持的 JSX 语法来设置内联 style。

<div style={{ margin: '20px' }}>
  <div style={{ fontSize: '30px', margin: '10px 0' }}>Kraken 入门教程</div>
  <div style={{ fontSize: '14px', color: '#666' }}>2021-1-1</div>
  <div style={{ margin: '10px 0' }}>
    <img
      style={{ width: '100%' }}
      src="https://img.alicdn.com/imgextra/i4/O1CN01GIxaZ01V0isGFLuJQ_!!6000000002591-2-tps-400-339.png"
    />
  </div>
  <div style={{ fontSize: '16px' }}>
    Kraken 是一款基于 W3C 标准的高性能渲染引擎。Kraken 底层基于 Flutter
    进行渲染,通过其自绘渲染的特性,保证多端一致性。上层基于 W3C
    标准实现,拥有非常庞大的前端开发者生态。
  </div>
</div>

渲染效果

  • GitKraken是一款基于Electron构建的Git图形化工具,可以在Windows、Mac和Linux桌面系统上运行。主要提供了GitHub企业集成、GitLab CE和EE集成、本地账户管理和应用冲突输出编辑器等应用功能,具有界面酷炫、功能简洁、易于使用的特点,支持根据用户习惯调整提交图大小,实现与Git托管服务无缝集成。本站提供免费资源,有需要的朋友欢迎下载使用! GitKraken 软

  • 背景 rpm包krb5-libs被卸载,导致机器ssh不上 最近在升级kerberos的安装包,但是需要先将老版本的删除。于是在节点node1执行如下命令 $ rpm -qa | grep krb5 krb5-workstation-1.15.1-18.el7.x86_64 krb5-libs-1.15.1-18.el7.x86_64 krb5-devel-1.15.1-18.el7.x86_64

  • 背景:Gitkarken在6.5.1后,就开始收费了,不能打开私有代码库,6.5.1是最后一个免费的版本; 关于6.5.1和6.3.1的下载路径,在我前面的博客中有。 下面讲解下如何修改该路径:(修改为免费的Gitkarken路径) 1.regedit,打开注册表 2.找到 如下两个路径,并且修改为自己本地的免费版本的路径的值 ①“计算机\HKEY_CLASSES_ROOT\Directory\B

 相关资料
  • 问题内容: 我的Flutter(Dart)RenderFlex像素溢出了。 渲染库的例外。 如何管理或应用滚动功能到我的应用页面视图,并避免Flutter出现诸如以下消息的渲染异常: RenderFlex在底部溢出了28个像素。 如果您有任何需要完整的日志来帮助我的信息,请在这里: 在热重装时,它会根据消息在底部显示黄色/黑色条纹。 我可以使用可滚动的小部件来管理吗?或者我可以声明其他方式来控制它

  • 渲染引擎用于渲染内容。 概要 hexo.extend.renderer.register(name, output, function(data, options){ }, sync); 参数 描述 name 输入的扩展名(小写,不含开头的 .) output 输出的扩展名(小写,不含开头的 .) sync 同步模式 渲染函数中会传入两个参数: 参数 描述 data 包含两个属性:文件路径 pat

  • WebKit是一个渲染引擎,而不是一个浏览器,它专注于网页内容展示,其中渲染是其中核心的部分之一。本章着重于对渲染部分的基础进行一定程度的了解和认识,主要理解基于DOM树来介绍Render树和RenderLayer树的构建由来和方式。 那么什么是DOM?简单来说,DOM是对HTML或者XML等文档的一种结构化表示方法,通过这种方式,用户可以通过提供标准的接口来访问HTML页面中的任何元素的相关属性

  • 字体渲染引擎的工作主要是字体文件操作和文字渲染,LCUI 将其抽象成了 LCUI_FontEngine 接口,使得 LCUI 的字体渲染引擎可被切换和扩展。 目前基于该接口实现的引擎有内置引擎和 FreeType 引擎,接下来我们再深入了解它们。 内置引擎 内置引擎是 LCUI 初始化的第一个引擎,它主要用于在无其它可用引擎的情况下加载预置的字体位图数据,以确保界面中的文字能够被渲染出来。 内置引

  • 所以我基本上已经一周大了,已经好几年没有写任何javascript代码了。所以请原谅我的无知。 问题我创建了三个不同的组件类 //其余的代码和函数 类似地,我有一个类似的类,叫做ClientSignedDate和验证日期,所有这些都包含基本相同的输入道具,但从同一个表的不同列获取数据。 在一个名为Filter的单独父类中,我在这个类中创建了这些组件的数组 const dateOptions=[Cr

  • 我试图让我的flutter应用程序在浏览器中工作,它依赖于Firebase_database。没有关于如何做到这一点的文档,但我根据firebase_core和firebase_auth文档做了一些假设: > https://github.com/firebaseextended/flutterfire/tree/master/packages/firebase_core/firebase_cor

  • 本文向大家介绍java基于OpenGL ES实现渲染实例,包括了java基于OpenGL ES实现渲染实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java基于OpenGL ES实现渲染的方法。分享给大家供大家参考。具体如下: 1. Run.java文件: 2. GlRenderer.java文件: 希望本文所述对大家的java程序设计有所帮助。

  • 包括以下渲染组件: Sprite 组件参考 Label 组件参考 Mask 组件参考