Apache Isis是基于业务领域驱动而自动生成SpringBoot界面的开源RAD工具:
- 生产力- 该应用程序主要是业务逻辑,消除了昂贵的 UI 代码。
- 发现——业务领域专家和技术人员可以携手合作,了解问题空间,然后了解解决方案空间。
- 易于使用- 业务用户会发现该应用程序易于学习,因为业务概念是前沿和中心
- 清洁Clean架构- 该框架确保在您的应用程序的内部架构中分离关注点
- 简单集成- 自动发布用于异步集成的通用域事件和用于同步集成的 REST API。
工作原理:
- Apache Isis直接从底层领域对象动态构建通用用户界面和丰富的超媒体 REST API。这使得原型制作速度极快,反馈周期短,非常适合敏捷开发。UI 也可以针对特定用例进行扩展,并且可以使用 Bootstrap 进行主题化。
- Apache Isis应用程序的核心是领域对象,可以是持久实体,也可以是视图模型。业务规则可以直接与域对象相关联,也可以分解为单独的服务。Apache Isis 到处执行依赖注入,以确保应用程序保持解耦和可测试。
- Apache Isis 包括大量用于安全、审计、命令分析、邮件合并和其他横切关注点的附加模块。它还具有许多用于地图、日历等的 UI 扩展。所有这些都是开源的,专为开箱即用或根据需要进行修改而设计。
适合中小公司业务需求的 crud 应用程序的最佳方法,目标是尽可能快地开发并可靠地启动和运行可能带有小型仪表板的 crud 应用程序。
Python的django是第一个显而易见的选择:开箱即用的出色工作 ORM 和管理界面。然而,构建简洁的用户界面的需求可以通过构建模板来解决,以创建一种内部“crud generator”;但是添加表单验证和其他东西往往会很快耗尽所需的工作量(以及这种情况下的时间)。
Apache Isis可以加入任何需要的业务逻辑;免费得到一个漂亮的用户界面;如果有一天我的粗糙的应用程序需要统一成一个成熟的商业应用程序,也不会有太多 "代码浪费"。
另外一个RAD工具是JHipster,它使用了 Java 和 Angular 中的许多最佳实践,虽然一开始并不是很快,但它有很多细微差别和技巧,JHipster是数据库表驱动的,没有领域对象作为核心,直接从数据表导出API,以后希望用Java增加一些业务规则或ifelse语句,找不到适当的地方,它且不是Clean架构,没有实现业务逻辑和技术基础设施分离。