Linux 平台的 RAD:Omnis Studio 评测
制造商:Omnis Software, Inc.
电子邮件:us_sales@omnis.net
价格:149 美元
评测人:Nicholas Wells
我们开发 Linux 程序时所依赖的 gcc 编译器是整个 UNIX 世界公认的标准。它速度快、简单直接,并且编译标准 C 语言(或 C++ 语言,使用 g++ 编译器)。但是,任何编写过大型 makefile 文件的人都知道,它本身并不是一个完整的开发环境。随着 Cygnus 公司的 Code Fusion 和 Source Navigator 等一些强大工具的出现,多人协作开发大型项目变得越来越容易。
然而,许多专业的软件开发人员并没有使用这些工具,而是依赖于快速应用程序开发 (RAD) 产品来设计、原型化和编写应用程序代码。这些应用程序中有很多是围绕数据库访问展开的;很多是由组织机构为内部使用而创建,或是由顾问为垂直市场创建的。这些可能是计费或数据库访问系统、客户支持系统,或是集成现有 Web 服务的组件,以便所有员工都可以使用浏览器访问数据。这些内部开发人员面临的问题与那些创建“盒装产品”或最终供公众消费的标准开源项目的人员所面临的问题不同。这些问题包括非常紧张的截止日期、需要与现有 IT 基础设施集成以及需要在组织机构中运行的多个平台上运行。
完成一个内部项目的流程可能如下所示:
规划项目,包括制定开发时间表。
创建演示(如果进展缓慢)或原型(如果进展迅速)。
开发实际程序。
在将要使用的部门内进行测试。
部署程序,并根据需要开始修订阶段。
Java 是许多这些内部开发项目的建议解决方案。它是一种跨平台语言,可以与 Web 协同工作,而且似乎每个人都认为这是一个好主意。但 Java 并非总是答案,许多被放弃的项目的开发人员可以证明这一点。Microsoft Visual Basic 也被广泛用于这些内部项目。
这么多内部项目的问题在于,在规划步骤投入大量工作之后,原型设计和开发耗时过长且成本过高,以至于整个项目可能变得不可行(或至少远远超出预算)。部分问题在于将计划转换为原型,或将原型转换为可工作的程序。其他问题通常围绕缺乏合适的工具或人才,或者需要创建程序以便它可以在多个平台(或 Web,这带来了一系列单独的挑战)上运行。RAD 工具是许多开发人员寻求的解决方案。这些开发工具结合了图形界面、数据库访问和其他工具,以帮助编码、调试和部署面向最终用户的应用程序。
虽然一些高端工具已经在 Linux 上可用了一段时间——有些工具每个开发人员的费用为 10,000 美元或更高——但那些需要 RAD 工具的人通常不考虑 Linux。(一个很有前途的工具,Borland 的 Kylix,仍在 Beta 测试中。)
Omnis Software(http://www.omnis-software.com/)的 Omnis Studio 是 Linux 软件开发领域的新进入者。虽然这家公司和这款产品已经存在了二十多年,但他们去年才开始发布 Linux 产品。幸运的是,他们产品的成熟度和功能集的深度很好地延续到了 Linux 移植版中。Omnis Studio 采用类似 Java 的软件开发方法,在一个非常强大的图形开发环境中创建一个单一的跨平台程序。
Omnis 使用运行时引擎来开发和执行程序。如果在您的许可证中启用了“编辑”功能,您可以创建新程序;否则,您只能运行现有程序。令人惊讶的是,这个引擎(不包括您的程序可能需要的库)只有大约 1MB。考虑到这是一个解释型环境,Omnis Studio 应用程序的小尺寸和执行速度都非常出色。允许您创建和执行 Omnis Studio 程序的引擎在 Linux、Windows 和 Macintosh 上均可用。为了展示该产品背后技术的灵活性,请考虑您可以在 Linux 上开发一个程序,在 Windows 系统(运行 Studio 的开发人员许可证)上更改同一个程序文件,然后在 Macintosh 上运行新修改的程序。您可以将“程序”视为可以在任何平台上运行或编辑的脚本。图 1 显示了该产品的架构。

图 1. Omnis Studio 的架构
长期使用 Omnis 和其他工具(Java 或 Visual Basic)的用户告诉我,由于 Studio 包含的自动化功能,Studio 所需的开发时间约为 Visual Basic 的 20%。这些自动化功能包括在整个项目中标记化的自动类型变量,以及在一个地方收集所有相关信息的单文件项目。
Omnis Software 认为 Visual Basic 是 Studio 的主要竞争对手。好消息是,借助 Studio,原本需要 Windows 工作站或昂贵的 UNIX RAD 解决方案的内部开发项目现在可以在 Linux 上开发,并在任何装有浏览器的系统上执行。Studio 的界面如图 2 和图 3 所示。仅用一两个屏幕截图很难捕捉到许多功能,但您可以看到一些小部件调色板、属性、笔记本和方法编辑器。标准的工具(如按钮、列表、菜单和文本)都包含在内,所有这些工具都结合在一起以实现快速结果。一种名为“notation”的脚本语言用于向对象添加代码,但在我的经验中,与 Visual Basic 之类的工具相比,几乎不需要编码。整个产品是面向对象的,具有对象继承和强大的类库。
Studio 附带的最节省时间的两个小部件是用于数据库访问和基于 Web 的应用程序的小部件。
数据库小部件在您的应用程序中创建与数据库的连接,允许您查看、添加和删除记录。数据库可以驻留在多种类型的服务器上,包括 Oracle、Sybase、Microsoft SQL、IBM 的 DB2 或任何 ODBC 兼容的数据库服务器。所有细节都为您处理好了;只需为您想要显示的字段定义一个表单,并为最终用户处理的每条数据编写要执行的操作代码。
由于开发平台也是运行时引擎,因此您可以在开发应用程序时实时使用数据库小部件来管理数据库。您可以在表之间或程序中复制模式(记录布局),或者在位于不同数据库服务器上的表之间移动数据(即使服务器运行的是不同的数据库产品)。
Omnis Studio 还包括一个您可以添加到浏览器中的插件,这样您编写的任何应用程序都可以在 Web 上的浏览器中使用。要“Web 化”您创建的任何应用程序,只需向应用程序添加几个小部件即可。这确实需要您在运行 Web 服务器的系统(Linux 上的 Apache 或 Windows 上的 IIS)上包含 Studio 应用程序,并且您必须向每个客户端的浏览器添加 Studio 插件,但是将 Linux 快速转变为真正的应用程序服务器的能力可能足以让一些开发人员尝试使用 Studio。
我使用 Studio 所见过的最大优势是,我使用应用程序向导、标准小部件和少量脚本创建的原型是一个可以开始测试的工作程序。如果我的“原型”需要进行一些调整以适应项目描述或客户请求,我可以立即进行调整,甚至可以通过 Web 重新部署到已经在使用它的人员。自动更新并非所有开发人员都需要的功能,但创建一个稍加润色即可变成工作程序的原型是任何工作过度的开发人员都会欣赏的东西。
您可以花 149 美元获得 Omnis Studio 的完整副本。这不包括任何印刷手册,但所有文档(数千页)都包含在 CD 中。如果您需要,可以单独购买印刷文档集。Omnis Software 网站上提供了几个免费下载,包括额外的数据库支持模块、Omnis Studio 的评估版以及 Web 插件(因此您可以使用浏览器在网站上试用现有应用程序)。Caldera 的 OpenLinux 2.4 eDesktop 产品还附带了 Omnis Studio 2.4 的限量版。
好吧,我对 Omnis Studio 印象深刻。但也需要提出一些需要注意的地方。首先,这款产品的学习曲线可能很陡峭。也许最好将其表达为“易于理解,难以精通”,这当然很像 Linux 本身。Studio 使用专有的脚本语言和许多自行设计的“向导”和小部件。所有这些都类似于 Visual Basic 等产品,但 Studio 有自己做事的方式。如果您愿意投入一些精力来学习这款产品,您可以获得惊人的成果;如果您只是浅尝辄止,您不太可能触及该产品功能的皮毛。Omnis 正在努力使其产品更容易学习,并且他们拥有一群出色的经验丰富的开发人员,他们通过网络互相帮助。此外,文档编写扎实,并且包含完整的示例,包含在产品 CD-ROM 中。
另一个主要不足之处是,这是真正的商业软件。它拥有财富 500 强公司大型 UNIX 和 Windows 安装的传统。虽然 Omnis 在进入 Linux 市场后已大幅降低了价格,但该产品实际上是为中型到大型公司的内部或顾问导向型开发而设计的。为此,您必须为您部署应用程序的每台工作站支付运行时引擎许可证费。费用很小,大约 10 美元,但它肯定不是开源的。另一方面,当您在巨大的压力下要在荒谬的截止日期前创建一个强大的程序时,您可能会很乐意支付这笔费用。
电子邮件:nick.wells@lineo.com
Nicholas Wells (nick.wells@lineo.com) 是嵌入式 Linux 供应商 Lineo, Inc. 的技术服务主管。他出版了大约十本关于 Linux、KDE 和 Web 的书籍。