无需编写代码的可视化开发环境
Javastudio

张嘉路 尤晋元

在当今的软件开发中,可视化的和基于软件构件的编程环境已经得到广泛的应用。典型的软件构件有大家熟悉的JavaBean和ActiveX构件。由于大部分软件构件提供用于编辑其属性的GUI界面,因而很多的可视化编程环境都支持对软构件的使用。典型的环境有Visual Basic、Visual C++、Delphi和PowerBuilder等。但是,现有的基于软构件的可视化编程环境还有很多不理想之处:
1. 多个软构件之间的互联操作仍然需要大量的手工代码来完成,不能做到完全可视化。而且,这部分手工代码非常容易出错。
2. 各种编程环境采用了不同的编程语言来描述,这常使得程序员往往要重新学习一门程序设计语言,才能熟练使用一个新的基于软构件的可视化编程环境。
3. 程序设计时间(Design Time)的改动要经过重新编译和联接在运行时间(Run Time)运行调试时才发现错误。这样,大多数程序员往往会进入这样一个循环:编辑(设计时间)->编译和联接->运行出错(运行时间)->编辑。当一个应用开发很大时,设计时间和运行时间的来回切换的代价是很大的。
而JavaStudio 可以在很大程度上弥补这些不足。Java Studio是由SUN微系统公司开发的基于软件构件的一个具有鲜明特色的可视化开发环境。与其说它是一个成熟的产品,还不如说是一个未来的软件开发环境的小模型。
目前的JavaStudio具有如下的特点:
它是一个基于JavaBean的可视化开发环境,但是这个环境又是零代码的(Codeless),开发者不需要写入代码,也就是说,这是一个没有自己的程序语言的开发环境。
它还提供了一个直观的、可视化的程序逻辑的设计环境。在一般的可视化集成开发环境中,像IF-THEN-ELSE和WHILE-DO那样的程序逻辑是没有可视化的表达,必须用手工代码来写。但是,在JavaStudio中,程序逻辑的描述也是可视化的。

JavaStudio的应用开发环境

一个典型的JavaStudio的应用开发环境包括3个窗口:构件窗口、程序逻辑设计窗口(Design Window)、界面设计窗口( GUI Window)。
1. 构件窗口(如图1)
构件窗口是JavaStudio开发环境的主窗口,窗口中下排的每个图标都代表一个JavaStudio环境中的JavaBean构件(JavaBeans For JavaStudio)。这些JavaBean构件可以被拖动进入程序逻辑设计窗口和界面设计窗口。

图1

2. 界面设计窗口(GUI Window)(如图2)
这是在几乎任何一个可视化编程开发环境中都具备的设计窗口。开发者可以在这个窗口中设计可见的软件构件在窗口中的位置、大小和颜色等等。图2就由一个标签(Label)、一个文本输入框(Textfield)和一个按钮(Button)组成。

图2

3. 程序逻辑设计窗口(Design Window)(如图3)
程序逻辑设计窗口是JavaStudio中很有特色的部分。一个JavaStudio的软构件在程序逻辑设计窗口中由一个方框形象地表示出来。通常这样一个构件可以由用户选中来编辑它的属性。一个构件可以通过端口(Port)和其他构件来进行通信。在图3中有3个构件,分别是一个标签(Label)、一个文本框(Textfield)和一个按钮(Button)。这与用户界面设计窗口(GUI Window)中的3个构件是一一对应的。在这个例子中,可以看到按钮的输出(一个按下的动作)将导致用户把输入框中的内容发送到标签。

图3

JavaStudio的一个简单开发实例


一个简单的实例可以更好地说明如何用JavaStudio来进行软件的开发。我们要实现的程序功能是:首先要求用户在文本输入框中键入一个数字,然后按OK按钮。如果该数字大于60,则把用户键入的这个数字在标签中显示出来。
具体的步骤如下:
(1) 在JavaStudio的主窗口——构件窗口(参见图1)的File菜单下选择New ;
(2) 从构件窗口分别选中一个按钮构件,一个文本输入框构件,一个标签构件拖入界面设计窗口(GUI Window);
(3) 在界面设计窗口中,安排被拖入的3个构件的大小位置等属性(参见图2);
(4) 现在,我们要作的只是把程序的逻辑在程序逻辑设计窗口中表达出来;在我们把按钮构件、文本输入框构件和标签构件拖入界面设计窗口的同时,它们也被自动加入到程序逻辑设计窗口中。它们具有如下特性:
· 标签(Label)
标签构件有一个输入端口,往其中输入信息就可以把输入的内容显示出来。
· 按钮(Button)
按钮构件有一个输出端口,用户按下按钮将导致该输出端口向外输出一条消息。
· 文本输入框(TextField)
文本输入框有一个触发端口和一个输出端口。触发端口是一个输入端口,其作用有如IC芯片的触发引脚。一旦收到触发消息,文本输入框构件将把用户的输入发送到输出端口。
(5) 为了实现程序的功能,我们还需要向程序逻辑设计窗口拖入下面3个软构件:
· 分流器(Distributor)
分流器的作用是把一个从输入端口输入的消息复制到两个相同的输出端口中。
· 关系比较器(Relational)
关系比较器的作用是对输入端口输入的消息进行关系比较,比如大于、小于和等于某个常数。比较的结果由输出端口输出。
· 条件判断器(If)
条件判断器有两个输入端口(条件输入端口、数据输入端口)和两个输出端口(T输出端口、F输出端口)组成。由条件输入端口输入逻辑值,当逻辑值为真时数据输入端口的数据从T输出端口输出,为假时,从F输出端口输出。
(6) 我们用鼠标把相应端口之间用线联接起来(参见图4),一个JavaStudio程序的设计就完成了。

图4

现在,对整个程序的逻辑设计进行解释:
用户按下按钮后,按钮消息通过输出端口被传递到文本输入框的触发端口。由此,触发文本输入框把框中用户键入的数字通过输出端口。输出的消息经过分流器被分流,其中一路到达关系比较器,关系比较器监测输入的大小,大于60则往输出端口发送true信号,否则,发送false信号。
该信号输出到条件判断器的条件输入端口。与此同时,从分流器被分流出的另一路信号到达了条件判断器的数据输入端口。条件判断器判断条件输入端口的输入,若输入为true,则将数据输入端口的数据输出到标签。最终显示在标签所在窗口的相应位置上。
在运行了上述的例子以后,对JavaStudio有进一步兴趣的读者,可以从SUN的JAVA站点www.javasoft.com去下载JavaStudio 1.0的测试版来试用。

(作者单位:上海交通大学计算机科学与工程系)  

摘自电脑技术
Next-->page>>回上一页,看更多资料