现代 RAD 平台通过使用高级别抽象的全栈框架集成主流开发技术,从而解决这些技术之间的底层复杂性。这种高级别的框架为使用框架构建的所有应用定义了统一的坚实架构。了解这个架构非常重要,因为您应用程序中所有的边界和限制都源自于此架构。比如,您应用程序的扩展性怎样?是否模块化?可以用何种数据存储?能部署在什么样的环境?向后兼容性如何?还有很多其他的问题......
作为引入限制的回报,这种预定义的架构通过提供高级别的 API 加速 LOB 应用程序的开发,因为这些 API 都是贴近业务的。简单来说,框架将开发人员从底层技术中抽象出来,以便他们更专注解决业务问题。
这种使用高级抽象级别的方法在现代 RAD 框架中大量使用。其中有五个著名的玩家:Ruby on Rails、Grails、Django、CUBA Platform、Zend Framework。
通用基础功能
如上所述,RAD 平台主要用于 LOB 应用程序的开发。这种类型的应用程序有一些通用的需求,比如用户验证、数据访问限制、审计、文件存储、全文搜索、业务流程管理等等。RAD 平台满足这种需求是通过提供可重用的开箱即用功能或者扩展插件。
这种方案在现代 RAD 平台广泛使用。所以 CUBA 平台提供了扩展市场, Ruby on Rails 提供gems,Grails 使用插件, Django使用包。
开发工具
开发工具是最重要的部分,它不仅能保证高效的开发,还提供了更低的进入门槛、更平滑的学习曲线,当然,还有舒适的开发体验。事实证明这是可行的,因为这些工具仅集中在平台的预定义体系结构上:编程语言、使用的库和底层框架以及应用程序的结构(模块、附加组件、程序包)等等。
基于对采用的架构的广泛和深入的理解,RAD 工具可以为开发者提供终极便利。为了大致了解它们到底带来了什么便利,我们看看最常见的功能:
l 直观的可视化编辑器 - 用于新项目启动、项目配置、领域模型,UI 开发......
l 强大的代码生成 - 自动化最常用的脚手架代码和模板代码片段
l 智能提示 - 避免错误的使用元素,包含代码自动修复
l 高级导航 - 切换应用程序部分和配置部分
l 向导方式的版本升级过程 - 帮助迁移到平台的最新版本
l 分发准备 - 使方案易于部署
这里最生动的例子应该是 Embarcadero(前 Borland Delphi) 的 RAD Studio。另一个例子是 JHipster,RAD 家族的非典型成员 - 提供了命令行工具(CLI),主要关注项目的启动引导,为初始化 Java 项目配置提供非常多不同的选项。CUBA 平台提供了两种 RAD 工具:CUBA Studio 和 CUBA CLI,前一个是功能全面的强大 IDE,后一个是轻量级命令行工具。
低代码开发平台
如果您关注现代 RAD 市场及其发展,您一定听到或了解到大量关于所谓低代码开发平台(LCDP)的宣传语。各种口号表达出的低代码平台的理念是 : 不远的未来将不再需要专业的开发人员。只需要雇佣业务主管,不需要再雇佣专业的软件开发人员。这就是我在之前的章节中都没有提到任何一个低代码平台的原因。但是,如果我们说到 RAD,不可能忽略 LCDP,因为这些平台造成了一个非常有趣的现象 - 使开发工具成为开发人员的竞争对手。
在售卖给业务主管之前,他们强调的主要商业价值是:便宜、更快、更高质量。没错,虽然需要您每年支付数十万美元的许可费用,但是由于不需要专业的开发人员(非常贵且头脑灵活),也不需要对本地设施进行维护,最终您会取得理想的收益 。他们通过演示使非技术人员感到惊讶,在演示中,销售经理仅通过单击鼠标即可创建出基本的业务应用程序……给人的印象是,业务人员(即非专业开发人员)就能够自动化(数字化)自己的业务需求。