Saturday, August 28, 2004

今天拿到了VS2005的DVD

激动啊.花了我20美金呢,迫不及待的就安装上了.下面就初步的体验给出一些我的看法:)

1.安装
2.初次运行
3.部分新特性体验
4.安装MSDN

5.展望正式版

总的来说,真的是不错那.


 

1.安装


因为是Beta版本,而且是DVD版的,所以安装非常的简单.基本上只要选择一个安装路径(如果你的C盘够大,你甚至可以略过这一步)和安装内容.Beta版本的连序列号都已经写好了,不需要你关心,点击安装以后,泡上几壶茶,这样才能好(这也许和我的笔记本硬盘速度比较慢有关系).这里对于安装就不多赘述.

2.初次运行


初次运行,看到了2005的Loading界面,眼前除了"Codename: Widbey"有点扎眼以外,还没有什么出众的地方呢.转眼跳出一个窗口告诉我这是第一次运行VS2005,让我选择一个IDE的模板,已经有一些设定好的模板,适合于不同类型的开发人员.可能微软得出这样的模板也是花了不少精力的呢.我选择了C# Developer.然后就正式进去了.看惯了Windows和Office 2003的风格,VS2005还真没有什么让人眼前一下子一亮的东西.除了每个文件的tab形状有变化,其他的还真的没有什么特别的.只是感觉比2002和2003精致了一些.


图1 精致却无新意的IDE

创建一个新的项目,不一样的第一眼就来了.因为ASP.NET2.0已经和前面的版本相比有革命性的变化,所以在创建一个新项目的时候,咋一下还找不到怎么创建ASP.NET的项目呢.因为ASP.NET的项目已经被提升到了超越一般项目的高度,它有专门的一个创立子菜单:


图2 创建ASP.NET应用程序的地方.

而在Project菜单中创建的是WinForm的应用程序和其他非ASP.NET的程序.事实上ASP.NET的功能甚至语法上都有不小的变化,有空的时候一起探讨一下.

关于内存的消耗,毕竟是Win32平台上的应用程序比Java的IDE要好很多.在没有什么大的动作(例如大程序的编译啊,调试啊,发布啊)发生的时候,IDE的内存消耗量控制在50M之内(不包括VM),这已经不知道比Java的IDE(例如JB,Eclipse,Sun JavaCreator之流)要好太多了.

 3.部分新特性体验

 在今年一月份的时候,我就翻译过一篇文章"程序员眼中的VS.NET Whidbey".在那篇文章中,我们就已经初识了Whidbey的"最激动人心的十个特性".今天我们就来对比一下,是否那么让人激动.

a. 重构 Refactor


 我们假设存在一个private的String变量 ok, 我们想将这个变量包装变成一个Property,Get/Set方法都很简单,这么简单的事情难道还要自己来做?不,你现在只需要点击不超过5下鼠标就可以完成了.


图3 Step 1 Refactor第一步

选择了这个"包装Field"选项以后,就是一个Refactor第一步就迈出去了.

 
图4 Step 2 弹出的向导指引如何设定这个新的Property

简单的第三次鼠标动作:点击OK


图5 Step 3 这是一个预览的窗口,告诉你什么地方要发生变化了.

第四次鼠标动作: 点击Apply,大功告成.


图6 Step 4 看到结果

而且这张截图中显示了VS2005IDE功能方便的另外一个改变.就是可以分辨在上一次保存文件之后修改过的代码,左边行前有绿色小条子的就是,而正在修改尚未保存的代码,默认是用黄色显示.这个功能也非常贴心.

上面是一次简单的Refactor的演示,实际上Refactor的内容很多,包括

  1.  抽取一段代码为一个方法;
  2. 对一个变量或者方法进行改名;
  3. 包装一个域变量为一个Property;
  4. 对一个Class抽取出Interface;
  5. 提升一个方法内的变量为方法的一个参数;
  6. 删除一个参数;
  7. 交换参数的顺序;

等等功能.这些重构的功能基本上已经完成常用的重构工作.但是对比JB中的重构,应该说考虑到语言上的差异以外,微软做了一些概念上的调整,将一些重构转移到了IntelliSense中去了.例如"包围代码块(Surround With..)",对比下面的JB中的重构菜单,就可以看到,有了提高,也有不足.


图7 JBuilder X中的重构菜单

相信这样的安排既有语言特性上的考虑也有IDE菜单安排逻辑上的考虑.在未来,我将对这两个重构作出一个详细的对比.

b. 编辑后直接运行 Edit and Continue

 这一直是一个VB6中的优异特性,相信微软在2002和2003中没有实现这样的特性是有其内在的困难存在的.现在既然已经重新在VB.NET中实现了这样的功能,但是却没有在其他的语言中实现这样的功能,想必也是有其考虑在里面,但是个人认为,对于.NET Framework而言,C#和VB.NET在本质上的差别已经没有了,不是因为时间紧张就是因为战略上的考虑而不在 C#上添加这么一个讨人喜的功能.最后的结论就是,不得不说是一个遗憾,但是相信所有的开发人员都会适应这样的一个缺憾的.因为我们没的选择.

c. 一次点击 Clickonce

 2002和2003刚出来的时候,当我看到可以在IE中运行一个WinForm的应用程序,给我的惊讶不亚于一颗原子弹.因为这样的功能整合和BS和CS结构的优点.可以开发出以往CS一样漂亮的界面,又可以通过Web的方式部署/运行,虽然没有Web Service那样横跨所有的异质平台,但是对于那些只需要在Windows平台上运用的系统的,对于以往积累的众多的CS开发人员来说,简直就是一个比Web Service还要好的选择,因为他们只需要如何将一个写好的CS程序发布到IIS上去就可以了,而这一切只是需要几个简单的操作而已.

但是两年过去了,看到ASP.NET流行了,并没有看到这项技术的流行.不流行,那么肯定是存在其不可接受的限制(具体的分析可以参看我的翻译文档).现在有了Clickonce,相信这项技术将普遍的推广开来.

d. 智能标签 Smart Tags

在我翻译《十大特性》的时候,一直没有很好的理解智能标签是什么意思.当我开始试用2005的时候,我开始明白了.


图8 ASP.NET中的智能标签

以前的Grid控件已经更名为GridView.在GridView中点击右上角的小三角后看到的Common GridView Tasks就是智能标签,他能为你做很多的工作,尤其是在制作界面的时候,能为你定制很多的常用外观属性和动作特性,特别有用,包括数据源的定义等等.开发速度大大提高.

这样的一个特性,相信在MSDN中也有详细的介绍,相信对于ASP.NET的开发组而言,也将是非常值得骄傲的一个特性,因为ASP.NET真正走入了RAD开发的时代.

(to be continued.)

 

 




No comments:

Post a Comment