走在前沿
VMware 提供培训和认证,以加速您的进步。
了解更多我代表团队很高兴地宣布 Spring Cloud Data Flow 1.3.0 的第一个里程碑版本发布。
本地服务器:入门指南。
可用性是我们团队的一个主要关注点,在 1.3 版本线中,我们的目标是使用升级的客户端技术栈、改进的工具和文档来现代化仪表板。重点是提高可读性、用户体验和整体性能。
Spring Cloud Data Flow 的第一个里程碑版本包含了基于新版 Angular 4 的仪表板 UI 的初始版本。旧的基于 AngularJS 1.x 的 UI,特别是工具和辅助框架/库的选择,开始显露出其老化迹象。
因此,我们决定对整个栈进行现代化改造,并利用 Angular 4 提供的功能。此外,我们正在使仪表板的样式与 Pivotal UI 保持一致。
一个主要的改进是使用了 TypeScript,它是 JavaScript 的超集。与 Angular 4 结合使用,TypeScript 非常适合 Spring 开发人员,并减少了服务器端和客户端代码之间的摩擦。
熟悉 Spring(Web)的开发人员会欣赏 TypeScript 的类型支持、对类和接口的支持,以及 Angular 4 使用 TypeScript 的 装饰器(可理解为注解)和基于构造函数的依赖注入。
在基础层面上,我们使用 Angular CLI 来构建和管理项目,这大大减少了基础设施样板代码。在这方面,Angular CLI 将一些 Spring Boot 的风格融入到您的客户端开发流程中。
作为 UI 现代化流程的一部分,我们还希望提供更好的文档。到 M2 版本发布时,我们应该使用 JSDoc 实现近 100% 的文档覆盖率。然后,我们使用 Compodoc 作为工具来分析和创建最终文档。最终,每次 CI 构建都将生成并推送源代码文档到
http://cloud.spring.io/spring-cloud-dataflow-ui/
遵循其他 Spring Cloud 项目的脚步,我们使用 Codecov 来跟踪 Spring Cloud Data Flow UI 的单元测试覆盖率。代码覆盖率报告的链接可以在 此处 找到。Spring Cloud Data Flow UI 项目的 README 提供了一个显示当前覆盖率的图标,以及指向当前覆盖率报告的链接。
这仍然是进行中的工作,因此预计覆盖率数字将在 M2 版本发布时大幅提升。此外,我们计划在下一个里程碑版本中纳入全面的端到端测试,并确保仪表板在所有现代浏览器中都能正常工作。
新仪表板的一个主要关注点是一致地使用正确的域模型类。在旧的 UI 中,我们基本上会将返回的 JSON 数据直接传递到 UI 模板代码中,这使得维护正确状态变得很棘手。通过定义良好的域模型和有状态服务,我们现在可以对应用程序的状态进行更细粒度的控制,例如在从分页列表到详细信息页面以及返回时。
在旧版仪表板中,我们依赖 RequireJS 来支持模块。但是,这破坏了 AngularJS 1.x 的生产捆绑,导致了缓存清除问题。我们现在通过 Angular CLI(底层使用 Webpack)使用正确的生产捆绑,这会为生成的文件添加缓存清除哈希值。
虽然我们已经完成了“关于”、“应用”、“运行时”、“流”和“任务”选项卡的重构和移植,但我们非常希望获得您的反馈。请随时在 GitHub 上提交问题,告知您的发现、错误和功能请求。“流和复合任务设计器”、“作业”和“分析”选项卡将在即将发布的里程碑版本中提供。
您是否曾经想过在流中编辑流、对流/任务数据管道进行版本控制、升级或回滚流/任务数据管道中的应用程序?一个新的灵活模型正在积极开发中,用于补充 Spring Cloud Data Flow 中的持续交付故事。敬请期待下一个里程碑版本!
反馈很重要。如果您有任何问题或功能请求,请通过 StackOverflow 和 GitHub 与我们联系。我们也欢迎您的贡献!任何有助于改进 Spring Cloud Data Flow 生态系统 的帮助都将不胜感激。