LeaferJS 1.0 重磅发布:强悍的前端 Canvas 渲染引擎


前言​

大家好,我是 LeaferJS 的创始人万超。

盛夏的绿叶在雨后阳光的照耀下熠熠生辉,正如 Leafer 的寓意:看见希望,不断成长。

网站封面

在此,我很高兴的向大家宣布,经过我们 3 年多开发的 LeaferJS 开源引擎终于打磨成熟,迎来了正式版的发布~ 🎉🎉🎉

这距离我们上次公测版的发布,已经过去了整整一年。

与用户相互成就​

在过去的一年里,无数的用户需求和反馈如潮水般涌来,不断地滋润和雕琢着这款产品,使其功能更加丰富,且更贴合实际使用场景,同时我们的文档也变得更加通俗易懂。即使期间产品还不完善,我们依然无法阻挡用户的热情!通过口碑传播的用户源源不断的涌来~

感谢每一位撰写文章、教程、传播、提 Bug、建议、开发产品、Demo、插件、慷慨赞助的用户~

随着正式版的发布,更多的企业可以将 LeaferJS 用于生产环境,其周边生态也将迎来蓬勃发展。

桑树

由浅入深带你了解 LeaferJS​

熟悉我们的朋友都知道,我们一直在朝着一个极具吸引力的伟大愿景迈进。我们的引擎能在短短的 1.5 秒内创建 100 万个可交互矩形,仅占用 350MB 内存。在继续保持这一优势的同时,正式版带来了众多实用的功能,拓宽了使用场景。

下面让我由浅入深,从前端开发的视角,带你看看 LeaferJS 可以如何应用在你的工作中。

首先,让我们通过代码看看 LeaferJS 是如何工作的:

代码

接下来,我们会从以下三个入门场景开始说起:

入门场景

最后,再聊一聊压轴的高级场景以及我们的愿景。

高效绘图​

相信每家公司的产品都有生成长图、产品海报进行分享的需求,尤其是在小程序中。

我们提供了易于上手的自动布局功能(类似 Flex 但更简洁),以及按中心点绘制的功能。这将为绘制海报带来一种全新的开发体验,应对频繁变化的需求,无需再手动测量文本进行布局。此外,通过简单易控的渐变、内外阴影、遮罩、擦除等功能,能够轻松实现各种专业的设计效果。

我们还提供了一支神奇的 Pen,可以像绘画一样,快速画出不同样式的路径和元素组合。

画笔

import { Leafer, Pen } from 'leafer-ui'

const leafer = new Leafer({ view: window })

const pen = new Pen() 

pen.setStyle({ fill: { type: 'radial', stops: ['#FF4B4B', '#FEB027'] } })
pen.roundRect(0, 0, 100, 100, 30)

pen.setStyle({ y: -5, fill: 'white' })
pen.moveTo(40, 30).bezierCurveTo(70, 30, 90, 60, 63, 80).quadraticCurveTo(50, 88, 40, 80).bezierCurveTo(10, 60, 50, 40, 40, 30)

leafer.add(pen)

此外,你还可以在我们官网的设计工具中提前编辑内容,将其导出为 JSON 文件,随后调整变量并导入,即可自动生成图片。更重要的是,我们支持在小程序环境中生成海报图片,并且支持多倍图导出。

UI 交互​

组态、流程图​

我们提供了丰富的箭头样式和元素状态,结合用户提供的连线插件,你可以快速的搭建一个组态、流程图软件。

箭头

UI 交互界面​

在 Canvas 环境中实现一套 UI 交互界面一直是业内的挑战,我们用极少的代码初步实现了这一目标,并提供了丰富的跨平台交互事件和手势,以及类似 CSS 的交互状态样式和光标样式。

结合自动布局的功能,使你能够快速在组态、游戏开发、数据可视化、富媒体和创意设计等场景中集成高性能的 UI 交互界面功能。未来可以朝着更高效的可视化编程方向发展。

以下是我们社区的用户正在开发的 element-plus-leafer UI 组件:

按钮

小游戏​

我们有丰富的绘图、交互功能,再结合你喜欢的动画库、物理引擎,可以将 LeaferJS 用来开发一些好玩的小游戏。

以下是我们社区的用户正在开发的小游戏合集:

箭头

图形图像编辑​

图片裁剪​

相信每家公司的产品都有裁剪头像和图片的需求。

我们提供了完善的图形编辑功能,并为图片裁剪场景准备了贴心的配置,例如裁剪遮罩、手机端手指缩放和旋转,让你可以通过最简单的代码搭建起一个属于自己的图片裁剪工具。

裁剪

图片编辑器​

相信你用过各种各样的图片编辑器,自己开发一套绝非易事,而我们让每个人都可以上手尝试。

我们为图片编辑器的开发,提供了丰富的功能和 自定义编辑器样式配置, 可移动、缩放、旋转、倾斜,支持多选、框选、打组、 双击进组,锁定、层级。支持自定义编辑工具和内部编辑器。

我们还与第三方开发者携手提供了开箱即用的插件,如标尺、视窗控制、滚动条、文本编辑,对齐吸附、SVG 导出插件也即将开发,这些插件可以节省你大量的开发工作。

短视频​

如今已是短视频横行的时代,可以通过开源的 canvas 转视频库,将 LeaferJS 的动画、编辑内容导出视频,帮助企业快速批量生成短视频。

深入了解 LeaferJS​

相信通过以上三个入门场景的了解,你已经对 LeaferJS 有了初步认识,但我们能做的事情绝对不仅仅于此,接下来我将带你了解一些高级场景,以及我们的愿景。

在线设计​

如果你希望打造一款专业的在线设计软件,如矢量设计软件、 UI 设计软件、白板软件、流程图设计软件,低代码编辑软件、矢量雕刻软件、CAD 建筑设计软件、EDA 电路设计软件、视频剪辑软件等, 我们可以帮助你节省这 3 年的创业时间。

我们的底层正是为开发专业级的图形图像编辑软件而架构的(因为它能创造出一切的场景),提供了开箱即用的功能和优秀的扩展能力,你可以站在 LeaferJS 的肩膀上前行,快速打造出可以改变人们生活方式的数字产品。

以下是我们官方收录的部分产品,期待未来你的产品也能出现在这里。

按钮

大型场景​

以下是我们官网列举的一些大型应用场景(远不局限于此),可以作为你启动新产品的参考。

常用场景

逐步开放​

我们通过核心包+场景插件的设计,来逐步满足不同场景的需求,每一个场景成熟后会集成为一个场景包,方便用户快速安装使用。第三方开发者也可以参与补充场景。

我们现阶段仍主要专注于绘图、编辑器场景(核心场景),之后会开始训练 AI 绘图和提升性能。

覆盖场景

使命与愿景​

我们致力于通过 LeaferJS 实现一套简洁、开放、现代化的 UI 绘图语言标准,便于 AI 理解,人类可视化使用,并为数字化产品开发提供跨平台、轻量化、高性能的运行时。

我们希望不同的软件之间能够沟通、协作、共享绘图数据与数字界面,通过不断革新的图形技术和配套支持, 吸引更多的开发者加入使用,建立起一个开放的生态环境,沟通有无,以推动行业的快速发展,并诞生出更多有创意的技术和产品,尤其是 AI + 可视化编辑方向的产品。

我们的性能优化目标是想实现流畅操作 百万级静态元素 和 十万级动态游戏元素( GPU 加速)。

种子

热爱与勇气,让梦想成为现实​

我们不仅在用心创造一款有意义的开源产品(降低创业者的研发成本,推进技术的进步,改变未来产品的开发方式),更是在践行传播一种人人所向往的、有人文关怀的卓越文化。

创业、创新的道路是艰难和孤独的,正是这样的文化和使命感,帮助我们度过了漫长的 3 年时光,日复一日的精进,并克服了重重难关,不断的凝聚起了更多的人,一起朝着愿景前进。

随着正式版的发布,我们找到了愿意在财务上持续帮助我们的人(非投资),这让我们可以心无旁骛的持续推动 LeaferJS 这个飞轮,共同打造我们喜爱的开源社区,设计可加速发展的上层应用商业模式,让 LeaferJS 能够走向世界,惠及到更多的人。

恭喜 🎉🎉🎉​

至此,你已完成了对 LeaferJS 全貌的了解,你又多了一个实用的提效工具,而我们也多了一位熟悉的朋友,欢迎访问我们的官网,还有很多好用的功能和有趣的故事等待你去探索发现。

www.leaferjs.com


相關推薦

2023-07-05

我们非常高兴地向大家宣布,历时 2 年开发的 LeaferJS 引擎正式面世! 欢迎来到 LeaferJS 的世界,一个激发创造力、开启无限可能的引擎!在这里,数字化产品开发不再是一项艰难的任务,而是一个令人愉悦的探索之旅。感谢所

2023-03-23

数据可视化引擎 G2 5.0 正式版本 “Spring” 现已发布。本次主版本更新包含更简洁和专业的可视化语法,更丰富的图表类型和图表特性,易于拓展的全新 API 和架构。在提高 G2 灵活性和易用性的同时,也为 G2 未来的长期稳定

2022-05-03

蚂蚁图形引擎 Oasis Engine 0.7 版本已发布,Oasis Engine 是一个移动优先的高性能 Web 图形引擎,被广泛应用在支付宝五福、打年兽等各种互动业务中的图形引擎。 0.7 版本在图形方面新增了文字渲染器,完善了 2D 的基础能力,同时

2022-06-30

构建步骤,可以将部署时间缩短一个数量级。近日,Fresh 发布了第一个稳定版本。 Fresh 使用了一种不同的模型:默认情况下,开发者会将 0 KB 的 JS 发送给客户端。因为大多数渲染在服务器上完成,客户端只负责重新渲染交互

2022-08-11

被翻译成 6 种不同的语言——包括中文。 近日,Astro 发布了 1.0 正式版。团队称 1.0 意味着 API 已达到稳定状态,并可用于生产环境。部分新特性: 图像优化:引入新的<Image />和<Picture />组件 支持 MDX:在 Markdown

2023-04-08

数据可视化引擎 G2 v5.0.2 版本现已发布,具体更新内容包括: What's Changed fix(animation):shape to shape 动画将 style.transform 转化为 ac… #4849 fix(axis):极坐标中的意外半径 #4850 fix(types):组合轴 4851 更新 size.zh.md&n

2023-05-06

Open 3D Engine(O3DE)是由亚马逊的 Lumberyard 衍生出来的开源、模块化、跨平台的 3D 引擎。它已经得到了来自 Epic Games、微软和其他许多知名公司的支持。该项目由开放 3D 基金会(Open 3D Foundation)托管。 新版本主要变化: 支

2024-09-24

前言​ 记得很早就有很多同学说:“LeaferJS 这么好用,很想用它来开发游戏试试”。 当时我只是笑了笑,心想:“我们离做游戏还早着呢”。 尽管我们没有为游戏开发做过专门支持,但用户的好奇心是挡不住的。陆续有

2023-02-11

近日,格兰菲智能科技有限公司(以下简称“格兰菲”)签署openKylin社区CLA(Contributor License Agreement 贡献者许可协议),正式加入openKylin开源社区。 在加入openKylin社区后,格兰菲正式加入社区GPU SIG,主要负责openKylin在显卡

2023-06-25

Grafana 10 近日正式发布,新版本不仅仅是引入了新的功能,还带来了更好的分析、协作、洞察、更高的效率,以及更美观的仪表盘。 Correlations Correlations 是现有数据链接功能的扩展,现在可以让你从任何数据源链接到任何其他

2023-10-12

Open 3D Engine (O3DE) 是由亚马逊的 Lumberyard 衍生出来的开源、模块化、跨平台的 3D 引擎。它已经得到了来自 Epic Games、微软和其他许多知名公司的支持。该项目由开放 3D 基金会 (Open 3D Foundation) 托管。 O3DE 23.10 主要变化: 改进

2024-03-03

Dlink 1.0.0 已经发布,交互式的 FlinkSQL Studio 此版本更新内容包括: 升级说明 Dinky 1.0 是一个重构版本,对已有的功能进行重构,并新增了若干企业级功能,修复了 0.7 的一些局限性问题。 目前无法直接从 0.7 升级到 1.0。建议

2023-06-06

ome 从 100 分提升到 300 分则是横跨了 Chrome 40(2014 年 11 月发布) 至 Chrome 101(2022 年 4 月发布),中间间隔了 7 年半时间。 上图是在 M2 Macbook Air 上,使用开启了 Maglev 编译器的 Chrome 116.0.5803.2 所测出来的分数。 Jetstream JetStrea

2022-06-20

Tauri 1.0 已正式发布。 Tauri 是一个桌面 UI 框架,可让开发者使用每个平台的 Webview 技术栈为所有主要桌面操作系统构建应用程序,目前支持 Windows/macOS/Linux 等平台。开发者通过 Tauri 几乎可以使用任何编译为 HTML、JS 和 CSS 的前端