VFP真的就一文不值吗?请留意:《Visual FoxPro 漫谈6》
Visual FoxPro 与.Net
Visual FoxPro 能够很好的支持XML、Web Service、COM。通过它们,Visual FoxPro就能与.Net整合在一起,并能开发.Net中最最热门的话题:Web Services。
客观上,有利于Visual FoxPro 的发展
Visual FoxPro作为Visual Studio的一员并不能很好的发展"Fox的事业",这个观点是各国狐友的普遍共识。作为Visual Studio的一员,Visual FoxPro更多的像其他Visual Studio产品看齐,忽视自身特色的发展,忽视用户的需求;产品升级、服务包的提供周期变长(要等其他产品的完工),如果Visual FoxPro 7不分离出来,发布期起码要晚半年。将Visual FoxPro从Visual Studio.Net中分离出来,最起码以上两个问题会有很好的改观,特别是Visual FoxPro会更重视用户的需求。
独立面对挑战
Visual FoxPro从Visual Studio.Net中分离出来最大的坏处是:必须独自面对市场。说白了就是:能不能卖的好?如果Visual FoxPro 7.0的生意还不错,那么Visual FoxPro就会发展的很好--这是很简单的道理。
在微软所有的开发环境中,Visual FoxPro是唯一内嵌数据引擎的??VC、VB都必须外挂数据处理引擎,如:DAO、ADO等,当然VC可以使用底层API调用来完成数据库处理方面的任务??这就是Visual FoxPro的特色--为数据处理而生,但是如果现在盲目的把Visual FoxPro并入Visual Studio.Net的话,Visual FoxPro的这一特色必然不能保存,这对微软、对用户都是损失。VB、VC则没有这个问题--反正它们不内置数据引擎,只要.Net可以调用数据处理组件就可以了!
Visual FoxPro 7 的特性
前面已经提到多次,Visual FoxPro 7 已经在2001年5月中旬正式发布的,6月份在美国上市。现在不少网友已经得到了Visual FoxPro 7的英语正式版,使用之后,产生了种种评判。在美国人们认为,Visual FoxPro 7是继 Visual FoxPro 3以后 Fox 发展史上最具有“革命意义”的版本,评价是很高的;而在国内,不少尝鲜者感叹:这是微软不好意思说SP的产品,简直就是Visual FoxPro 6+SP6……两种评价相差这么大,谁是谁非呢?
笔者在2000年底就得到了它的Bata 1版,2001年7月得到了英语正式版。初次见面确有失望之处??界面改观太小了??除了几个窗口可以停放、菜单上多了几个图标之外,几乎与Visual FoxPro 6没有区别,最无法容忍的是可视化控件一个也没有增加……
我耐着性子读着帮助了解Visual FoxPro 7的新特性,慢慢的我有了这样的感受:有了Visual FoxPro 7我决不用Visual FoxPro 6,这也是我对Visual FoxPro 7的评判,虽然它不完美,有的地方不尽如人意,我还是觉得给它打个80分总是应该的。接下来笔者就谈谈使用的感受:
巨好的开发环境,这主要体现在六个方面:
IntelliSense(智能感知输入提示)、Object Browse、Document View、Task List(任务列表)、最近使用过的文件记录、窗口停放。
IntelliSense。我以前常常羡慕VB程序员,他们在VB 5时就拥有了IntelliSense工具,于是他们不必要记忆大量的命令、函数、在对外来的ActiveX、COM编程时也能轻易的得到对象的方法、属性、事件。
在Visual FoxPro里,如果说记忆Visual FoxPro本身的东西还没有什么困难的话,对ActiveX、COM得属性、方法、常量就头疼了。现在Visual FoxPro 7支持IntelliSense了,并且提供了强大的用户定义功能,在Visual FoxPro里这是一个可组态的工具;现在Visual FoxPro 7不仅支持对内部对象、命令、函数的智能输入导航,更支持对ActiveX、COM的智能输入导航,令人兴奋的是:Visual FoxPro的IntelliSense还支持最新的Web Service。完全可以自豪的说:Visual FoxPro的IntelliSense是最棒的,是可以由用户定义的。
Object Browse。与IntelliSense一样,在其他开发环境中早就有了,但并没有因此降低我对它的兴趣。首先,对COM对象、ActiveX的观察工具确实很有用;最重要的是:Visual FoxPro 7的Object Browse与Visual FoxPro开发环境紧密结合在一起--可以很简单的从Object Browse中拖逸COM对象接口到程序中,很简单的就可以“实作”COM对象的接口。
Document View。这是一个程序编辑的辅助工具,它可以列出文件中所有的过程、方法、函数、宏定义、头文件,帮助程序员在大量代码中快速导航。
Task List(任务列表)是一项贴心设计,它的功能有点像“书签”。但比“书签”强大的地方在于:一旦关闭文件“书签”就释放了,而Task List 不会。任何时候点击Task List 项目就可以快速打开相关文件,导航到相关的地点。
就像Word那样,Visual FoxPro 会记忆用户最近使用过文件,这样就能减少用户查找文件的时间。
窗口停放。显示器越来越大、分辨率越来越高,程序员的桌面空间越来越小??开发环境对内部工具窗体的管理很要紧??合理组合,提供更大工作空间。在我用过的开发工具中,我最喜欢Visual FoxPro的环境配置,不满意的是:命令窗口、数据工作期窗口、属性窗口的凌乱。现在好了??Visual FoxPro 7支持了工具窗口停放,达到了节约空间的目的。
Visual FoxPro 7 对开发环境的改善有细微之处的变化、更有大部头的作品。它吸收了各种开发环境的优点,融入了Fox自己的特色,值得称道。
数据库事件
Visual FoxPro 7 最亮丽的特色是60个左右的数据库事件,这是自Visual FoxPro 3以来一次最大的对数据库引擎的改善。这些事件对管理整个数据库有很重大的意义,我们可以把维护数据库的代码写在事件中,只要有相应的操作就会触发,这样就网罗了所有的相关动作,而不是像以前那样写在应用程序中!数据库的事件应用面可能很广,发挥它的作用还得靠大家的智慧!
XML与Web Service
Visual FoxPro 7 支持 XML 文档与 Fox 光标的转换,真是一件令人兴奋的事情,以前我们开发COM应用程序时总为数据集合传递感到头疼??本人的解决方案是??模仿ADO的做法,让客户程序以循环的方式得到记录集;当COM组件要得到记录集时,好像就更麻烦了……现在好了,业界新标准??XML可以文本(字符串)的方式传递数据集合,真是一件美事!
Visual FoxPro 7 支持XML,同时对SOAP也有内置的支持,这样就使得Visual FoxPro 7成为.NET构架下的工具了,我们可以使用Visual FoxPro7轻松的开发、发布Web Service,这样我们的应用程序就可以在任何时间、任何地点被任何支持Internet的设备调用,为它们提供服务。
Web Service可是当前业界最最热门的话题,Visual FoxPro是微软公司推出的第一个能开发Web Service的工具。支持 Web Service,使得Visual FoxPro 程序员具备了开发新型分布式应用程序的能力。
COM以及COM+
COM组件开发的感觉特爽,不仅是开发效率的提高,更是COM组件运行的效果明显改善。Visual FoxPro 是从5.0开始支持COM组件的开发,6.0版本开始走向成熟,6.0的SP3以后支持多线程组件的开发,7.0版本中开发COM组件明显比6.0版本运行效果好,可以说是成熟、完美的技术了。
我以为Visual FoxPro 7对COM的支持可以分为两个部分:Visual FoxPro充当COM的客户程序、Visual FoxPro作为COM服务程序。
Visual FoxPro 7 支持COM组件的“Interface”实作,支持早期绑定。这都是伟大的革新,我们知道COM本身不支持“继承”,所以我们无法写出基于某个COM组件的“子类”,但我们可以通过“实作”COM组件的“Interface”,来实现多重“继承”……
同时用Visual FoxPro 7编写的COM组件,比以往任何一个版本的Fox都可靠,并且完全支持Windows 2000的COM+规范。微软在宣传Visual FoxPro 7时指出:Visual FoxPro的COM组件可以被用作工业现场的无界面数据处理,可见其稳定性。
最后,我想告诉大家一个好消息:2001年9月24日,微软的CEO Steve Ballmer 发表了关于 Visual FoxPro 7.0的讲话。他除了介绍Visial FoxPro 7的新特性之外,还代表微软承诺:微软将继续推动Visual FoxPro的发展,为全球开发人员提供更好的支持!
原文如下:
Hi, I'm Steve Ballmer from Microsoft, and it's my great pleasure to be able to talk to you about a newly released version 7 of Visual FoxPro. Visual FoxPro 7 is a great tool for building database solutions of all sizes. From multi-tiered database applications, to data-intensive COM components, and XML Web services.
I hope you've heard by now about .NET, Microsoft's platform for next generation XML Web services. Visual FoxPro 7's support for XML standards, such as SOAP and WSDL, make it easy to create .NET Web services in the same environment you know and love today.
Along with full support for WindowsXP, Visual FoxPro 7's XML support allows integration with .NET Enterprise Servers such as SQL Server 2000 and our BizTalk Server. And XML support in OfficeXP makes it easier than ever for Visual FoxPro 7 developers to import and export spreadsheets. Microsoft is committing to improve Visual FoxPro and continue to serve the needs of FoxPro developers worldwide.
The developer community is core of us. We value the bet you're making on us. The time and energy you put into building great Visual FoxPro applications for Windows, and we won't let you down.
We're committed to continually improving our tools to match your evolving demands as application builders. We think we've got exactly the right line up with Visual FoxPro and Visual Studio .NET, allowing you to continue to innovate and do incredible things for the customers we all serve.
I hope you agree with us that Visual FoxPro 7 is an exciting release. And I hope you join me in supporting Ken Levy and the rest of the Fox team here at Microsoft as we build a bigger, and better, and