WF4.0开发——WF在.NET平台中的位置

       微软今年发布了VS2010 Beta1版本,许多微软新技术的Fans都抢先体验,在微软中文技术论坛上也有较多的介绍。总的来说,这次微软对于VS变动较大,这对开发人员来讲既是一件好事,新的工具可以提高工作效率,更加容易的创造出新的软件产品。另一方面,这又增加了开发人员的学习时间,也许计算机技术就这样的,学习是一直不变的事情。不论曾经多么辉煌过,面临着新技术的挑战,大家就都到一条起跑线上了,这个没啥说的。相信大家都看过《士兵突击》吧,为什么热播?其实就是因为这样的电影反映了真正生活,不管你是在红三连也好,在钢七连也好,在老A也好,挑战总是存在的,在一个地方呆着什么都不干那就跟在草原守着油库的那个五班了。

      VS2010都有哪些变化呢?首先我们来看一下开始页面。VS startpage

 

 

 

 

 

 

       开始页面变得很清爽,VS2008开始页面以开发者新闻居多。新的VS2010重要功能是可以自己定制开始界面,这个是基于WPF做的,自己点击Customize the startpage可以进入自定义设置说明,Step by Step. 我的习惯是把自己最近的工程放到启动页。

       说道workflow就不得不提一下.net平台,这个是不可避免的。平时在和一些微软技术爱好者聊天的时候对于.net平台不是很清楚,相信有了下面的一张大图就一目了然了。

.net framework

在.net平台上,最底层是Winodws Operation System,在它之上是通用语言运行时,这个东东大家可以理解成一个程序集,因为微软的.net平台是可以跨语言开发的,不同的语言所创建的对象,类型在这个平台上相互可以调用,通信。所以不论你是用vb.net还是C#开发都可以在.net环境中执行调用。那过去是怎么样的?过去没有统一的平台,面对多种语言,程序员需要掌握不同的框架,应用程序之间相互调用是采用的COM,COM+或者DCOM技术,COM成为了程序相互通信的方式,随着web技术的发展,越来越多的应用程序不再孤立于自己本地的应用,更多的需要web来实现服务或者调用。于是请看下图:

 COM

在传统的应用程序之间相互调用多复杂,COM只是一个解决方案,如果加入的应用程序多了怎么办?如果其中一个break down怎么办?COM的局限性就展现出来了。

在统一的.net平台下,将不同的语言创建的对象在通用语言运行时环境下就可以解决技术上的问题。通用语言运行时可以简单的理解成一个程序集,安装.net Framework之后可以在\windows\Microsoft.NET目录下找到安装了哪些文件。从这个目录你可以看到,其中还包含了.net Framework1.0,1.1,2.0,3.0以及.net Framework3.5程序集,因此运行对于在原有.net Framework平台上开发的产品没有问题。

在CLR之上是所谓的FLR,就是.net 框架类库,在不同的框架类库中你可以完成不同的开发任务。比如在.net Framework3.0以后推出的WF,WCF, WPF,可以完成工作流设计,网路服务,以及表现层设计。.net 框架类库+通用语言运行时就是.net Framework.在.net Framework之上是各种APP,比如silverlight,他是wpf的一个子集,silverlight3发布之后功能上又有极大的扩展,在丰富互联网运用上有很大的。

从这个图大家对于WF在整个.net平台上所出的位置有个了解,这对于开发WF是很有意义的,理由很简单:WF不是孤立的,他需要一个宿主程序,也许还需要调用WCF或者ASP.NET类库。