1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2018 年 3 月 17 日 |
---|
#1 in #flow-between
在 4 个crate中使用(通过 flo_animation)
9KB
173 行
FlowBetween
FlowBetween 是一个用于创建动画的工具。它也是一个矢量编辑器,旨在提供一种“绘画式”的工作流程,与大多数其他工具不同,它更侧重于使用画笔进行绘画而不是调整路径。
运行 FlowBetween
如果您使用的是 OS X,您可以从 网站 下载预构建的二进制文件。
FlowBetween 拥有独特的架构,这使得其用户界面非常便携。在这个早期版本中,浏览器版本最容易尝试,因为它将在所有操作系统上工作。请注意,要使用平板电脑与 FlowBetween 一起使用,您最好需要一个完全支持指针事件或触摸 API 的浏览器。在 OS X 上,Chrome 或 Firefox 是您的最佳选择。在 Windows 上,只需 Firefox。iOS 上的 Safari 将与 Apple Pencil 一起工作。
要构建并运行 FlowBetween,请安装 Rust 并下载此仓库。在您的浏览器中输入
cargo run --features http --release
并连接到 localhost:3000。选择画笔工具开始绘图。
在 Linux 上,您可以尝试 Gtk 版本
cargo run --features gtk --release
或者,您可以通过将 gtk 和 http UI 合并到单个可执行文件中,展示 FlowBetween 架构的一个更有趣的特点
cargo run --features gtk --features http --release
虽然这目前有点像噱头,但它展示了几个方面:FlowBetween 拥有极其便携的架构(我知道没有其他应用程序可以在同一个可执行文件中同时运行两个独立的 UI 版本)。更重要的是,这是旨在发展成为允许在桌面和移动设备上无缝编辑(以及协作编辑单个画布)的功能。
一些技术细节
FlowBetween 的架构类似于大多数其他应用程序围绕对象构建的方式,基于流。任何在 SmallTalk 中编程过的人可能会认识到这个想法。还有一个将表示概念的库与提供具体实现的库分开的强烈原则。以一个重要的例子来说明:flo_canvas
库提供了所有矢量绘制的原语,但没有提供任何实现。 flo_gtk_ui
和 flo_http_ui
都有取这些更新流并使用它们各自的用户界面语言实际化的能力。
当您在这里时,不妨看看这个flo_binding
库,它非常值得一试。由于FlowBetween的分离原则,它可以在任何UI框架中重用,对于接触过Knockout或React等库的人来说应该很熟悉。它本质上是一种将事件流转换为状态表示,反之亦然的方法,这是UI设计中的核心问题之一。
有几个姐妹项目已经迁移到自己的仓库。 desync
提供了异步功能,使用在数据上调度操作的概念(通常在线程上调度数据的概念的相反)。 flo_curves
为FlowBetween生成矢量图形提供了所需算法库。flo_stream
为Rust的futures库添加了'pub-sub'机制,这是使用流在用户界面周围分发事件的好方法。