您的位置:寻梦网首页编程乐园Java天地小龙亭之JSP实践之旅
灏忛緳浜箣JSP瀹炶返涔嬫梾
涓婚〉锛�鍏ラ棬锛�EJB锛�J2EE锛�骞冲彴锛�JSP缂栫▼锛�璇戞枃锛�宸ュ叿锛�Java锛�AppServer锛�Web锛�鏁版嵁搴�锛�XML锛�鎵嬭锛�灏忎涵

小龙亭亭长的手记
小龙亭过去现在和将来
FrontJSP纪念篇
21世纪的FOX
春日午后的灿烂阳光
记一次散步
HR软件启示录
IT行业的各种境界
风中传奇
无奈的告白(带小龙亭12-6纪念版下载)
愚人节的礼物
圣诞节的回忆
春天的游记伤感的记忆
心太软
郁朝阳的海底花园
江湾游乐场游记
热带丛林历险记
月圆之夜
动物园印象

 

Visual FoxPro 7.0预览篇


内容提要

 Visual Foxpro 7.0将于今年春末正式推出。本文点评了Visual Foxpro的现状,全面列举了7.0版的主要新增功能,分析了Visual Studio.NET套件的原因,并介绍了Visual FoxPro在internet上的应用前景等。


  小龙亭主 Blueski编写

  2001/4/24 

}


21世纪的Fox


留恋好莱坞电影的朋友一定知道20世纪Fox电影公司的大名,她出品的许多经典影片曾使之声誉鹊起、显赫一时,但目前却已经越来越少听到了。无独有偶的便是FoxPro,从FoxBase到FoxPro,再到Visual FoxPro,期间走过的道路也充满光彩。记得以前书店里满眼都是Visual FoxPro的参考书,如今还是有很多,但可能大多还是以前的那些版本,只不过依然还没有售完而已。Visual FoxPro正悄悄退出主流开发工具的行列,这似乎已是一个不争的事实了。而在另一方面,由于以前曾用FoxPro和Visual FoxPro做过很多的软件,因此对笔者来说,这将一直是我值得怀念和关注的开发工具。
现在有很多朋友在关心Visual Studio.NET,而Visual FoxPro.NET是Visual Studio.NET Bata 1中的一员。只是相对于其它成员来说,Visual FoxPro并不很引人注目。出人意料的是,目前微软已决定将Visual FoxPro 7.0脱离Visual Studio.NET而独立地以Visual FoxPro 7.0进行发行。根据微软的宣称,Visual FoxPro 7.0已进入Beta 2阶段,并将在今年春末正式发行。这比预期的要早,并且肯定要早于Visual Studio.NET。Visual FoxPro Beta 2是其最后一个测试版,因此广大的FoxPro程序员将可以提前获得新版本的Visual FoxPro,可以从许多新增功能中受益并且提高他们的工作效率。此外,微软还作了继续发展该产品并将满足全世界范围内大多数用户需要的承诺。
鉴于目前开发人员已经面临同过去相比更加多样的开发工具的前景,它一方面带来了挑战和问题,同时也扩大了丰富的可能性和更多的机遇。因此或许我们还是有理由相信,FoxPro在新世纪中仍具有不断发展的空间。


Visual FoxPro 7.0的新增特性


Visual FoxPro提供的一系列新特性大多在于对开发环境的改进和完善、提高开发者的工作效率和对Windows 2000操作系统的完全支持上。主要体现在以下方面:
开发环境
· IntelliSense 使用了强大的智能化提示工具,如自动列出成员、快速信息提示和自动显示值等; 
· 可停靠界面窗口 常用到的窗口如命令窗口、数据段和调试窗口等都已成为可停靠的窗口。 
· 编辑器 增加了书签和快捷方式等辅助工具,以及大小写转换、文档导航等辅助功能。 
· 文档视图 视图和导航功能可以在程序和方法代码之间快速切换。 
· 对象浏览器和任务列表管理器 任务列表管理器可以在打开的文档中为各任务提供快捷访问,并可随时增加或删除列表项。
· 菜单、工具栏、对话框和向导的改进 这在第一次打开Visual FoxPro主界面时就可发现。
实际上以上这些是借鉴了其它常用的RAD工具开发界面的某些长处,这将显著地提高开发人员的工作效率。
 
程序功能的增强
· 数据库事件 为数据库常见的操作增加了多达近60个触发事件,例如打开数据表或者修改一个视图的触发事件。 
· OLE DB Provider 为开发人员在其它开发环境和语言中存取 Visual FoxPro数据提供了一种通用而有效的途径。 
· 服务器功能的改进 增加了一系列的服务,提供了强类型支持等 
· COM+ 服务 创建 Visual FoxPro COM组件,用以同常见的 COM+ 服务如 COM+事件和队列组件一起工作。 
· 执行接口 提供来自其它 COM组件的执行接口,用于充分的交互,包括回调等。 
· 事件句柄 将 Visual FoxPro代码绑定到外部客户端事件,例如 ADO数据集事件。
Web支持
· XML 可以很方便地将 Visual FoxPro数据转换成为 XML,反之亦然。并且可以生成 XMLUpdateGrams 来和 SQL Server 2000协同工作。 
· Web服务 在internet上的很多地方发布和支持Web服务。
· 文本合并 可以和任何种类的文本相互协作,包括 HTML, XML和ASP,可以直接嵌入代码。
语言的增强
· 命令、函数和类的增强 在例如,AMEMBERS()函数现可支持COM对象;Text…ENDTEXT命令现可支持ADDITIVE和TEXTMERGE子句从而使HTML可包含于受保护的代码中。
· 新增命令、函数和类 例如CursorToXML()函数可将临时表转换成XML;又如EXECSCRIPT()函数可允许在运行期执行多行命令。
其它的改进
· 灵活的可存取性 使应用程序可被第三方工具存取,例如屏幕阅览器、语音识别装置等。
· 通过OLE方式引入更多的ActiveX控件 例如TreeView、ListView和ImageList等。其中有些已经在Visual FoxPro的service pack中提供了,只是不一定引起用户的注意而已。但这些控件的使用已足以改变Visual FoxPro应用程序的外观了。 
· 部署工具 为客户应用程序快速创建安装程序,并满足在 Windows 2000上发布的需要。


独立的产品


Visual FoxPro早已经是一种非常强大的应用开发工具。它是以数据为中心的面向对象语言,具有无可比拟的内置数据库处理功能,为开发人员提供了健壮的工具套件来构建应用程序,这些程序可以部署在桌面,或者作为客户机-服务器解决方案,或者通过组件和 Web服务建立Web应用解决方案。 Visual FoxPro是被优化用来构建快速数据库应用程序或组件的。
Visual Studio.NET则为在 Microsoft .NET框架上进行建构提供了开发环境。它提供了一种公用的运行时语言MSIL和类库(包括 Windows Form,ADO.NET和ASP.NET),通过组合以后可以为微软的下一代 Web应用开发平台提供完好的解决方案。
根据MSDN的介绍,将Visual FoxPro.NET加入到Visual Studio.NET将可以在Visual Studio Shell中使用Visual FoxPro。而作为Visual Studio.NET套件的一部分,可以使得Visual FoxPro趋于语言中立化、具有相对的平台对立性,并具有更广泛意义上的可伸缩性,而以上这些改进还可以和Visual FoxPro独有的以数据为中心的特性更好地协同一致起来。通过在Visual Studio.NET中建立VFP Solution Project,可以建立其中间层组件,还可以充分利用Visual Studio各种通用的工具如debugger工具等等。只是最后经过慎重考虑,并广泛听取各方意见后,微软的Visual FoxPro小组还是决定为 Visual FoxPro保留目前的应用模式,而不使之成为运行于公用运行时语言MSIL之上的.NET语言。而多年以来开发人员所熟悉的 Visual FoxPro以下优秀特性将得到保留:
· 一种以数据为中心的语言,一种快速强大的本地数据引擎,可以简单而快速地处理大量数据。 
· 一种面向对象的编程模型,既包含了可视化成分如表单和控件,也包含了非可视化的具有完全的可继承性的类。 
· 一个熟悉的开发环境,具有自身特有的建立数据库应用和组件的一整套高效率的工具。
或许,与Visual Studio.NET保持一定的相对独立性以后,Visual FoxPro会有更多的发展机遇也未可知。


Web上的FoxPro


值得一提的还有Visual FoxPro 6.0所引入的Active Document技术。Active Document实际上是一种Visual FoxPro的.app文件,其主文件包含的是一个基于ActiveDoc的类,并且是一种特殊的OLE文档,可以和Visual FoxPro应用程序一样操作数据、使用表单、报表和实例化的类,运行程序、响应各种触发事件等。现在的Active Document菜单和工具栏已经可以和IE相互合并,但客户端仍必须是Windows和IE,还需要安装一些Visual FoxPro运行时刻库文件,所以目前仍更适用于intranet中。
还想顺便一提的是Oracle的WebDB,这是在Oracle内部的程序开发工具,已越来越多地用于internet上的数据库应用,可以提供表单应用、数据库视图和报表等,不过看上去颇有些类似于网站。但由此可见的是将程序直接应用到internet应该是未来发展的一种趋势。目前可能只有微软有这样的条件和机会去做,实际上这也就是.NET要做的。而在Visual FoxPro 7.0中,已经可以利用Automation Server或新的FoxISAPI.dll实现internet服务器的功能,Visual FoxPro程序可在支持ISAPI的服务器(如IIS或PWS)上运行。Visual FoxPro 7.0系统本身提供了两个范例,FoxWeb和FoxIS,这样的程序有三种执行方式:
· 一以独立的Windows应用程序方式直接访问和运行。
· 在Automation客户端带OLE控制器的软件内部运行,如在Excel或VB等软件中。 
· 以Web浏览器方式运行。在这种方式下,可运行于Unix、Machintosh或PDA等任意的客户端上。
真正实现简单易行的安全的与客户端平台无关的Web上的FoxPro将是我们可以期待的。当然,这也许仅仅只是笔者的一种期望而已。

以上所述,主要参考了Visual FoxPro.NET Beta 1和近期微软MSDN提供的资料。本文旨在以及抛砖引玉,提供信息交流。欲知最终的Visual FoxPro 7.0究竟如何,还是让我们--

 

拭目以待