首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

FlexGanttFX 正式开源

摘要

Dirk Lemmerman 已将 FlexGanttFX 开源 ",这是一个用于生成甘特图的资源调度框架。Lemmerman 在开发 15 年后选择开源该库,一方面是为了提升代码的可获取性,另一方面通过采用 AGPL 许可来解决项目的维护问题。 该库基于 JavaFX 运行,因此既可用于桌面端,也可用于 移动设备 "。项目提供了 可运行的演示程序 ",展示了图表创建和渲染技术。 甘特图 "可用于...

AGPL Lemmerman FlexGanttFX Canvas iText Dirk 这是一个用于生成甘特图的资源调度框架 在开发 年后选择开源该库 一方面是为了提升代码的可获取性
2026-09-06 1 阅读 约4分钟阅读 作者:Erik Costlow
分享:
字号:
Dirk Lemmerman 已将 FlexGanttFX 开源 ",这是一个用于生成甘特图的资源调度框架。Lemmerman 在开发 15 年后选择开源该库,一方面是为了提升代码的可获取性,另一方面通过采用 AGPL 许可来解决项目的维护问题。 该库基于 JavaFX 运行,因此既可用于桌面端,也可用于 移动设备 "。项目提供了 可运行的演示程序 ",展示了图表创建和渲染技术。 甘特图 "可用于展示多项任务随时间推移的进展情况,这些任务可以是并行的,也可以是串行的。它们通常被应用于项目或资源规划,用于分析各项工作之间的相互影响,覆盖物流、航空、医疗以及软件项目规划等多个行业。 FlexGanttFX 将 Canvas 渲染与标准 FX 节点结合使用,实现了高性能图表。这使得应用程序可以将整个图表渲染为单个 Canvas,无需为图表中的每个元素重新应用全套渲染效果。这样一来,复杂图表就能以可接受的速度完成渲染,不依赖生成成百上千个独立节点。 该框架基于四个基本元素构建。行(Row)构成资源的树形结构,活动(Activitie)是放置在行上的带有有时间边界的项,层(Layer)对活动进行分组并控制层级顺序和可见性,链接(Link)用于表示活动之间的依赖关系。框架统一使用 java.time.Instant 来建模时间,时间轴可以支持从毫秒到十年范围的任意渲染粒度,时区、夏令时转换、周末和工作时间都被视为模型的一部分,而不仅仅是展示配置。每一行可以有自己的布局:标准布局可绘制经典条形图,图表布局可将活动渲染为折线图或面积图,容量曲线可以与约束条形图并列显示,池布局可将重叠的活动打包成堆叠线条。编辑采用了直接操作的方式,并提供约束钩子,由应用自身业务规则来判定哪些移动操作是允许执行的。 Lemmerman 选择 AGPL " 许可开源,与其他开源但维持商业运营的项目保持一致。Bruno Lowagie 曾在知名老牌 PDF 库 iText 上也做出过类似的选择。他出版的著作 《Entreprenerd》 " 详细阐述了其将 iText 采用 AGPL 协议开源背后的考量以及该决策带来的影响。 与 Apache 2 等许可不同,AGPL 包含一项关于修改后的软件在网络上使用的条款。修改该库的公司必须向公众公开其源代码,即使他们没有重新分发修改后的版本。尽管这为双许可软件业务创造了收取不同许可费用的条件,但也导致许多 SaaS 公司 完全避开 AGPL " 项目。 不少大型厂商也做出过类似的决定,例如 Elastic 的 回归开源 "以及 Grafana 在 2021 年做出的许可变更 "。其他厂商如 MongoDB 也曾选择 AGPL,随后在 2018 年 迁移到其他许可 "。 查看英文原文: https://www.infoq.com/news/2026/08/flexgantfx/ "
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱