起始页面

首页 > 系统架构

概述

Script.NET不仅仅是一个脚本语言开发的IDE,更是一个通用开发与运行平台,整体设计思路借鉴了 Eclipse的架构。整个平台采用完全的组件化开发方式,平台的内核比较小,大部分功能都是由一个个 组件提供的,有三种类型的组件,分别是没有界面的VCI组件、有界面的OWM组件和脚本解释器组件。

返回页首

VCI组件

VCI组件是一种没有界面的Script.NET组件,这种组件比较类似于COM组件,但没有复杂的注册过程, 每个VCI组件会对外暴露一个接口,创建一个新的组件实例就会获取到一个接口指针,通过接口指针 可以调用组件内部的功能。每个VCI组件都放在平台的plugins目录下的一个单独目录中,目录的名字 一般为org.vci.name,其中name为组件名,例如SMTP组件的目录名为org.vci.smtp,在每个组件目录 下会有一个或两个配置文件以及组件的执行体动态库,配置文件区分中英文,英文名字为plugin.xml, 中文名字为plugin_cn.xml,如果平台语言设置为中文,又没有中文配置文件,则直接用英文的配置文件。 另外组件目录下还有可能存在一个接口头文件,用于外部调用此组件的功能使使用,Script.NET平台 一个独特的技术就是通过脚本可以直接调用VCI组件的接口函数,此功能目前仅在Tcl解释器中支持, 后续会逐渐增加到其他解释器中,起始页的VCI组件管理中就是用的此功能来直接执行任意组件的功能。

组件的配置文件为xml形式,存放的有组件名、版本、厂商、执行体、头文件等信息。

返回页首

OWM界面组件

OWM组件是一种有界面的组件,每个组件一般会提供一个或多个窗口,可以是平台的文档窗口 的形式,也可以是可停靠窗口的形式,平台的大部分界面都是由一个个OWM组件提供的,例如 编辑器组件、控制台组件、导航树组件、浏览器组件、UML组件、Tk窗口组件等。每个组件都 可以对平台的一些功能进行扩展,例如可以添加菜单项、可以增加状态行、可以增加属性页。 其中的Tk窗口组件还可以通过Tk脚本进一步对平台界面进行扩展,每个Tk窗口实际上就是一个 特殊的脚本,运行之后会创建一个平台的窗口,并在这个窗口中创建Tk界面,音乐播放器工具 就是用内嵌Tk窗口实现的。

OWM组件实际上也是一种特殊的VCI组件,满足基本的VCI组件规范,并在此基础上进行了一些 扩展,OWM组件也放在plugins目录下,目录名字为org.owm.name,其他的配置文件等都和VCI组件 相同,不过配置文件中增加了一些可配置项,例如停靠窗口信息、菜单信息等。

返回页首

脚本解释器组件

解释器组件是一种专门用于封装脚本解释器功能的组件,每一种脚本语言的解释器都有一个单独的 目录,在平台的interps目录下,解释器组件也是一种特殊的VCI组件,在VCI组件的基础上扩展了一些 功能。解释器组件有标准的接口定义和组件框架,按照此框架实现的完整的解释器可以具有运行、 调试、编译、生成可执行文件、帮助等多种功能,也可以只实现其中一部分功能。

返回页首

工程组件

工程组件是一种特殊的VCI组件,每个工程组件实现一种工程类型,按照工程组件的标准开发新的工程组件就可以增加新的工程类型。 工程组件放在平台的PrjPlugins目录下,其中每个子目录都是一个组件,工程组件的描述文件对应工程组件目录下的plugin_cn.xml文件。 工程组件支持的工程描述则在组件目录中的new_cn.xml中说明。

返回页首

扩展工具

扩展工具在平台的tools目录下,其中的每个子目录就是一个工具,工具可以用脚本来编写,也可以是 一个OWM组件。每个工具都有一个或两个配置文件,名字为tool.xml和tool_cn.xml。工具可以对菜单、 状态栏等进行扩展,例如FTP工具、控制台工具、音乐播放器工具都在状态栏扩展了一个图标, 点击相应图标就可以启动工具,工具一般都会在平台的工具菜单下扩展一个菜单项,因此可以从工具菜单 来启动工具。

返回页首

返回