
| 出版日期:2002-09-02 总期号:527 本年期号:32 |
|
.NET中VB和ASP的进化
范晓炬 .NET是微软推出的一种全新的计算平台,它简化了在高度分布式Internet环境中的应用程序开发。VB6和ASP是两种完全不同的开发语言,VB6用作Windows程序设计,而ASP则用来开发Web应用,语法是VBScript或者JScript。在.NET中,这二者被统一成一体,并且有了非常大的改进。 从VB到VB.NET的升级 你可以使用VB.NET以同样的语法编写Windows和Web的各种应用,下面就让我们从VB.NET开始看这些变化吧。 Visual Basic.NET是.NET框架的支柱,同时更是语言演变过程中的又一个进步。对.NET框架而言,它是一种高级的编程语言,并为Microsoft .NET平台提供了最简单的入口点。 Visual Basic和Visual Basic.NET主要的差异表现如下: ◆数据类型Variant不再存在,它已被类型Object取代。Object类型必须被显式地强制转换为其它基元数据类型; ◆在默认情况下,参数通过“值”传递,而不是像在早期版本的Visual Basic中那样通过“引用”传递。如果要通过引用传递参数,则必须在该参数前使用ByRef关键字; ◆大多数对象不再具有默认属性,必须显式引用所有的非索引属性。分为多个部分的布尔表达式将作“短路”处理; ◆应当始终将数据类型显式强制转换为其它数据类型。例如,如果需要字符串,则始终应将数值强制转换为String。类属性语法已更改,并且不再包括Property Let、Property Get和Property Set。新的属性语法与C#中的属性语法相似; ◆串联字符串时,在“&”运算符的两边必须始终有空格。VBScript允许编写“a&b&c”这样的代码。而在Visual Basic.NET中,必须将其编写成a & b & c的形式来避免语法错误。 原来具有Visual Basic编程经验的用户,可以很快地适应Visual Basic.NET以及编程环境。不仅如此,他还能从.NET平台中获得更多的收益。 从ASP到ASP.NET的升级 凡是用过ASP的人都会对几件需要不断重复的事情印象深刻。在开发数据库应用的时候,数据的显示是非常麻烦的问题。实现数据的分页很困难,需要手工编写大量的代码,调试也比较麻烦。而在ASP.NET中这已经不是难题了,使用DataGrid、DataList和DataRepeater控件可以很容易地实现各种以前难以想象的显示效果。用户甚至可以使用Ctystal Report工具将数据库表格转化成为各种报表,以Microsoft Word或者别的形式输出。而做这些事情用户很可能不需要自己动手写一行代码,只要动几下鼠标,拖几个控件就可以完成。 尽管在创作用户控件时需要选择一种语言,但也可以将多个用户控件包含在用多种语言创作的一个Web窗体页中。例如,用户可以用Visual Basic创造一个用户控件,导入来自XML文件的数据,再用C#创建另一个用户控件,该控件包含一个订单窗体,然后在同一个Web窗体页中包括这两个控件。 此外,用户还可以独立于包含用户控件的Web窗体页中删除该控件以外的部分来缓存该控件的输出,这一技术称作片段缓存,适当地使用该技术能够提高站点的性能。 在传统的ASP应用中,安全问题一直受到开发者的指责。在ASP.NET中这一点得到了很大的改进。多数Web站点需要有选择地限制对站点某些部分的访问,因此也可以认为Web站点与艺术画廊有些类似。画廊对公众开放,允许观众进入并参观,但该设施的某些部分(如业务办公室)便只允许具有某种凭据的人(如职员)进入。例如,当Web站点记录用户的信用卡信息时,必须确保公众无法访问存储这种信息的文件或数据库,从而保证这种信息的安全。 由于ASP是在服务器端被解释执行的语言,软件开发商在出售自己的软件的同时必须提交自己全部的ASP源代码,这使得开发人员的程序得不到应有的保护。而在ASP.NET中情况就完全不同了,由于ASP.NET是编译的后执行,所以可以仅仅将二进制库发布出去,再也不用担心算法以及设计思想外泄的问题。 体验VB到VB.NET的进化 以前总是有人称Visual Basic为玩具,那是因为Visual Basic的功能实在是太弱了,没有指针等稍微复杂一点的语法特性,如果开发企业应用仅仅靠Visual Basic是绝对不够的,必须要用Visual C++辅助开发。另外,由于Visual Basic不能生成真正的机器代码而是采用解释执行,也大大影响了开发的效率。Visual Basic.NET就不同了,它在.NET中处于和其它语言平等的地位,与C#能力相同。 VB.NET一个引人注目的变化是它的窗体引擎。微软放弃了原来的窗体引擎,而提供了现在的Windows Forms窗体引擎。所有基于CLR的语言都使用Windows Forms引擎。与VB 6的窗体引擎相比,Windows Forms有许多突出的优点。例如,Windows Forms支持创建那些自动改变组件大小的窗体,允许把控件锚定到窗体的特定位置,也就是说,完成这些特殊任务时再也不需要第三方的工具了。Windows Forms还有一些有趣的技术,比如创建透明窗体等。 除了Windows Forms新引擎,.NET还包含了一个专门为构造Web窗体设计的窗体引擎,称之为Web Forms,用它来开发ASP.NET是再合适不过的了。这个引擎的目标在于让用户能够像创建传统Windows桌面应用的窗体一样方便地创建Web窗体。 VB.NET中另外一个面向Web的重要特色是Web服务。Web服务被称为是要采用.NET技术的重要理由之一。从根本上来讲,Web服务是一种类似.COM、通过Web服务器和标准协议发布的对象。如果各类公司都以Web服务方式提供服务,未来创建应用时只需简单地“粘合”各种服务,就像今天借助Office和VBA构造新应用一样简单快捷。 总之,在.NET框架中Visual Basic和ASP有了巨大的进步,或者应该称为进化,这种进化的结果就是使现有的Visual Basic和ASP程序员可以获得更惬意的体验和保持永久的创造激情。 名词解释 ASP ,也即Microsoft Active Server Pages,其实是一套微软开发的服务器端脚本环境。ASP 内含于 IIS 3.0 和 4.0 之中, 通过ASP,我们可以结合 HTML 网页、 ASP 指令和 ActiveX 元件建立动态、交互且高效的 Web 服务器应用程序。有了ASP,你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。 VB,Visual Basic,最早的1.0版本是由微软公司于1991年推出的,目前用户广泛使用的是Visual Basic 6.0。它是完全集成化的编程环境,集程序设计、调试和查错等功能于一身,而且Visual Basic 6.0加强了对ActiveX控件的支持。使用Visual Basic 6.0不仅可以设计标准的Windows程序,也可以进行数据库的设计和编写多媒体方面的程序,最难能可贵的是使用ActiveX控件和VBScript还可以编写基于Internet的网络实用程序,为广大用户提供了一个崭新的编程天地。 |
|||||||||||||||||||||||