10月25日参加“微软新一代开发平台 Visual Studio 2008 Jumpstart新特性纵览及开发应用起步培训”的一些心得:
由于官方的PPT还未上传(请关注http://sharepoint.microsoft
一、版本的说明:
1.发布时间
Visual Studio 2008,现在内部处于RC1状态,约明年2月发布,现在有Beta2可用。而更全的team system更晚发布。
Windows Server2008 年底发布,默认包含.net framework 2.0
2.特性说明
Team Foundation Server,能够实现文档管理、工作流、跟Project集成、跟SharePoint集成、比VSS更强大的源码管理(用SQL Server,支持临时Check in的“书架”功能等)。我们公司的管理如果有此方面的想法
vs2008可支持.net 2.0,3.0,3.5,不支持.net framework 1.1。创建工程时可选择framework的版本。对于有代码,项目属性中可修改平台版本。从2.0到3.0/3.5的升级可完全不更改代码,降级可能要删除代码和命名空间。
这里对比一下两次framework的升级:
由于.net 1.x设计得不够完善,推出.net 2.0的时候做了很多核心的更改。导致1.x的代码到了2.0上有5%不能用(编译不通过)。这个数字算是很大的比例,因此微软也遭到诟病。
而这次升级,从.net 2.0到3.x(3.0/3.5),框架只是做了补充(内容后面介绍),换句话说,2.0是3.x的一个子集。因此2.0的代码拿到3.x中100%可用。
从3.x降级到2.0的话,需要移除3.x额外部分的代码,比如说System.LinQ{}命名空间的代码,还是可以用的。
微软的主讲人鞠海洋强烈建议我们至少升级到2.0,因为1.x已经不再受支持了,以后会渐行渐远。
操作系统支持情况:
1.x: win98, win 2000, win xp, win 2003
2.x: win2000, win xp win 2003, win vista (注意没有了win98)
3.x: win xp, win 2003, win vista (注意没有了win 2000)
开发工具支持情况:
Visual Studio 2003: .net 1.x
Visual Studio 2005: .net 2.0,装扩展包可支持.net 3.x
Visual Studio 2008: .net 2.0,.net 3.x
结合我们公司的情况,我个人建议:
l 新的WinForm程序,采用.net 2.0开发。因为要照顾到win2000的桌面用户
l 新的WebApplication程序,采用.net 2.0开发,有可能的话尝试一下3.x。因为Web程序不可能再采用win2000服务器,而3.0带来的便利可以事半功倍(见后文)。
l 旧的WebApplication程序,在开发进度不紧张的时候,尽快升级到2.0。因为1.1已经没有人关注,为了项目可持续发展,这一步必须做。
l 新的WinCE程序,要看机器内置的操作系统,尽可能用.net 2.0。
二、LinQ简介
LinQ是.net 3.0推出的最重要特性!Language Integrated Query的缩写,意为语言集成查询。
感性的认识:避免拼凑大量的SQL语句字符串,面向对象化地操作数据库。大家可以把数据表中的每一行
public static void Main()
{
// The most active list on CP
var mostActive = new string[] {
"Christian Graus",
"Paul Watson",
"Nishant Sivakumar",
"Roger Wright",
"Jörgen Sigvardsson",
"David Wulff",
"ColinDavies",
"Chris Losinger",
"peterchen",
"Shog9" };
// Get only the people whose name begins with D
var namesWithD =
from poster in mostActive
where poster.StartsWith("D")
select poster;
// Print each person out
foreach(var individual in namesWithD)
{
Console.WriteLine(individual);
}
}
注意文中的红字部分,采用和SQL类似的语法(但不是SQL),它是强类型的,而不是一个普通的字符串,也就是说在敲每个词的
这样做的好处是避免了大量的SQL语句拼凑操作,LinQ作为中间层,使得程序员不必直接对具体的数据库操作。LinQ和Java中的Hibernate类似。但LinQ是语言级别的,所以比Hibernate更强。
这样做的代价是,读取时有0%的性能损失,写的时候有10%的性能损失。但由于LinQ带来的条理性,将和Java的Hibernate一样被普遍接受。
以后会有很多这方面的资料,可以带着以上的感性认识进行更深入的学
三、有好多具体的语法和IDE新特性,在此略过(我们是先对VS2005熟悉起来;-))
四、网络方面
WCF框架是专门为了解决传统网络编程复杂性而设计的框架。
举个例子,采用传统的TCP/IP,要实现可靠的传输、安全认证、用户自定义协议的封包解包组包校验
而采用WCF,需要书写不到10行代码:D,并且配置文件充分可定制。如果用户想裁掉一些功能,如可靠性
可支持tcp/http/命名管道等底层协议,我们需要做的也只是改变一下配置文件即可。
它的大概原理和Web Service、RPC相近。例如服务器上编写了一个Calculate()方法,要让客户端远程调用。那么它只要把这个方法发布出来
结合我们公司的项目,记得以前税控服务器写了大量的代码
五、多媒体方面
主要体现在WPF、SilverLight。一言蔽之,采用XML作为矢量数据存储,采用C#语言来操纵对象和实现后台逻辑,以实现和Flash一样的用户体验。基于文本的工程(Flash是一个二进制文件)有利于源码管理和多人协作,有C#语言和.net库的支持,技术上打败Flash没有问题。
如果采用的话,对我们公司的自助有很大意义。
六、CardSpace
大概是管理n张卡,以及用户认证的一套解决方案,我觉得这个目前应该成不了气候

没有评论:
发表评论