2003年已经是.net开始真正普及应用的一年了,已看到有N多个软件产品是使用.net开发,不过似乎多数都还是限于asp.net应用,作为以前不太适合企业应用软件开发的ASP技术的替代品。
一些java平台已被广泛应用的高端技术,比如OR Mapping,MS官方还没有成型的支持技术,有的只是一些第3方的Mapping技术,据说据说的Object Space会在下一版本的.net framework中推出。就在这个.net真正起跑的时刻Borland终于为Delphi社区带来了一张能够搭上.net快车的车票--Delphi 8 for .net。
由于Borland对.net的支持并不怎么早,而且先前的C# Builder已是Bug满天,所以本人已在2个月前开始学习.net技术并试图使用Vs.net,以防Delphi 8有所不测。但是现在看来我的这个担心稍显多于,从我几小时前下载了Delphi 8到现在大体使用了一下感觉,这个Delphi 8 for .net(或者说是Delphi for .net 1.0 )将来在打了第一个补丁后,还可以试着在项目中使用的。下面就说一下试用的一些情况,和一些起法与大家分享。
A 新的更稳定的IDE
Delphi8的IDE和C# BUILDER的IDE是一样的,这个IDE的环境的稳定性相对于C# BUILDER的来说,要好多了,速度也明显比C# Builder的快,看来是Borland在C# Builder后做了一些优化。我的机器配置是:P4 2.0+5400rpm hdd+256mb+win2000 adv server(并非新装的系统,已有sqlserver等大程序)这样的配置运行起来速度基本可以让人接受。不过同时要运行其它大程序的话最好还是512mb内存,另外看到网上论坛有很多人说这个IDE风格与原来的不一样,其实不然,要想与原先的IDE一样只要自定义一下就可以了(方法和D7一样),也可以使用SDI,或MDI风格,所有的工具条和dock窗口都可以移动定位,并且和原先一样还可以保存自已的IDE设置。我个人对这个IDE的满足度是80%
Delphi 8的 IDE
点击观看大图
IDE中发现的一点不足:
1、我没找到PRoject 菜单的Sytax Check,不知为什么给去掉了,在C# builder中也是没有的。
2、在代码编辑时假如想要回到窗体设计状态似乎并不轻易,Project Manager中在窗体上点右建选open是不管用的,双击窗体也没反应,只有在代码编辑器中点右键然后选Show Designer才能回来窗体设计器。
3、我曾发现有时点Windows菜单会出一个错误提示。
4、当我打开一个有3000多行的pas文件浏览时整个Delphi IDE就不见了(当然不是每次都这样)
5、有时打开大的工程文件会有一些速度延迟(也可能是我机器太慢?)
6、那个Model View的东西,个人感觉不实用(似乎挺慢),我已把它关掉同样的位置换成了原先的Code EXPlorer。
更多内容请看.NET开发手册 .NET移动与嵌入式技术专题,或B VCL.net 控件一览
Borland曾经说过可以将原先的基于VCL工程用D8打开并顺利编译成基于.net的程序,于是我打开Demos目录的一个drp然后编译,的确是这样没有问题。
但是Demos目录中的工程太过简单了,实际上我们的软件项目或是产品中已大量使用了第3方VCL控件,那么想要顺利的将这些复杂的win32的程序转变成.net程序看来一时半会是不太可能的了,比如我用Delphi8打开我的一个使用了Devexpress公司的vcl控件的工程,结果可想而知(Tcx xxxxx控件找不到),另外值得注重的是,Delphi8当前不再支持ADO控件了,那些在Delphi6和7中的Ado控件已取消,所以我想在这里提醒正在用以前Delphi版本的朋友,假如你现在用了Ado控件那么在Delphi8里你就不得不把所有Ado的程序改成DBExpress或是BDE。要是现在已经用了Ado控件了(本人就是L),以后就得改成DBExpress了(之所以用DBExpress,是个人感觉它似乎和Ado那些控件使用起来差不多,可能改起来还好一些)。另外BDE还可以在Delphi8里接着用,这到是意外的事,原先Borland都说过不再支持BDE的了。
下图就是VCL控件面板:
如图中所示,你可能惊呀你正用的Vcl控件已没有了。
Dataaccess页:xml相关控件,DataSnap页的SockeConnection以及WebConnection等几个控件都不翼而飞。另外Borland对Indy系列到是很好,它们都呆在那里呢^_^,可惜本人很少用它们。(另外本人也没尝试是否可以用手工方式添加消失的控件,也许Borland根本就没提供那些控件的.net实现)
C .net控件一览
说明一下,在Delphi8里VCL.net的可视化控件(可能是Tcomponent以下)与.net的可视化控件并不能混用。要么建立VCL application要么建立WinForm Application或是Asp.net Web Application,你建立VCL Application与建立WinForm Application后在控件面板中的可用控件是不同的。一个Tform或是Tedit不能用于WinForm Application中,反之同样,据说这是VcL.net可视化控件与Microsoft.net控件的消息机制不同的原因(在台湾深度论坛中看到过有类似讨论)。另外除了与VS.net相同的.net组件外,Borland自已还提供了一些.net组件可用于WinFormApplication和Asp.netWeb Application。
新建工程菜单(VCL,WinForm,Asp.net)
下面是Borland提供的几个可用于WinForm或Asp.net的.net组件:
BDP可以当作Ado.net的替代品。不过不知道好用不好用。
DBWeb 越看越像IntraWeb,是不是IntraWeb卖给Borland了? 就像那个Bold for Delphi一样之后就出现了ECO?
ECO之前在C# Builder里就有所闻名,据说是来自于Bold for Delphi技术,用这个东东可以实现神奇的MDA开发方式,以及OR Mapping,这也是Borland的.net开发工具比Microsoft的工具的一个暂时的优势。
D 用Delphi Language 进行Asp.net 开发
现在的.net应用我个人估计多半都是Asp.net的Web应用。那么能够使用熟悉的Delphi Language来进行Asp.net开发真是荣幸之致,最少你在短期内不用忙着学习C#语言了,虽然长远看C#还是要学的,但暂时可以放一放,用熟悉的语言直接着手实际的项目了。Delphi8在Asp.net开发环境以及功能基本和Vs.net相同,该有的输入感知功能以及编辑功能一个不少。
更多内容请看.NET开发手册
.NET移动与嵌入式技术专题,或