qq在线咨询杨老师 qq在线咨询王老师 qq在线咨询韩老师 qq在线咨询张老师
 
您当前位置:主页 > net解读 >

微软.NET各子技术领域的应用前景——(1)
2016-03-01 17:24

                                                          微软.NET各子技术领域的应用前景——(1)



       从2002年微软发布.NET 1.0,其间历经了8年的发展,再到.NET 4.0,其已经成为一个庞大而复杂的软件开发与运行平台,架构日益复杂,应用领域也在不断地扩展,包容了“一堆”的子技术领域。

在.NET 4.0即将发布之际,回顾一下已发布的各项.NET技术,看看哪些技术用得很火,哪些被打入冷宫,再猜猜.NET 4.0中可能会有哪些技术会得到“青睐”,是件有意思的事。

.NET Framework 4.0

1 桌面应用程序开发技术(WindowsForm和WPF)

        在.NET桌面应用程序开发领域,WindowsForm是“前辈”,相比以前的MFC,其开发效率高得多,即使比一向以“高效率”著称的VB、Delphi之类,也不逊色,因此在很长的一段时间内,WindowsForm成为.NET桌面领域的主流技术,而且有一大批各式各样的第3方控件,其功能可谓应有尽有,使用方便,WindowsForm的问题是“千人一面”,要想做出“与众不同”的界面,真得费不少力气。

.NET 3.0中出现的WPF,在界面设计和用户体验上比WindowsForm要强得多,比如其强大的数据绑定、动画、依赖属性和路由事件机制,都非常棒。然而,WPF最头痛的是性能,另外,在需要快速开发原型的场景,WPF暂时还比不上WindowsForm方便。

       .NET 4.0中,WPF在性能上有较大的改进,这点在使用WPF开发的Visual Studio 2010上体现极为明显,Visual Studio 2010 CTP和Beta1只能用“惨不忍睹”一词来形容,Beta2就有一个性能上的飞越,但还时不时地玩点“崩溃”、“挂死”的把戏,而当前的RC版本,我觉得其使用体验已经超越了Visual Studio 2008,我认为,WPF取代WindowsForm是必然的。

2 数据存取技术

      (1)ADO.NET。这不用多说了,在实际开发中用得太多了,事实证明了它的成功。

      (2)LINQ。

        这也是个很大的领域,里面最牛的是LINQ To Object,我一用就喜欢上了,LINQ To XML也很好,它把程序员从代码中解放出来,可以完成大部分XML存取功能,让大家很高兴有机会能和原先.NET所提供的“一堆”XML相关类说声“不见”,LINQ To DataSet。作为一个ADO.NET技术的补充,这是一个无足轻重的小卒子,在开发中可以用,也可以直接忽略。

         LINQ To SQL和ADO.NET实体框架。这两个技术功能重叠,基本上让人怀疑其中有一个是不是“没有存在的必要”,所以曾有“LINQ To SQL已死”的传言。当然,后来微软公司表态说仍然会继续开发LINQ To SQL的后续版本,争论平息。

         但我个人觉得,在实际开发中还是使用ADO.NET实体框架更合适。LINQ To SQL有的功能它都有,而且用起来更为灵活,难得的是它的使用并不比LINQ To SQL复杂多少,ADO.NET实体框架还延伸到了其它的技术领域,是一项重要的基础数据存取技术。

因此,ADO.NET实体框架VS LINQ To SQL,前者胜出。

(3)WCF Data Service。

        这是一项非常值得关注的技术,原先叫ADO.NET DataService,它体现了“数据是一种服务”的思想,让数据可以通过HTTP请求直接获取,它设计了一套URI模式,可以完成投影、选择、分页等功能,用起来方便灵活,我觉得在SOA大行于世的分布式系统时代,WCF Data Service应该会得到应用。

         但这一技术问题在于性能,由于数据需要走互联网,所以如果网速很慢的话,基于此技术搭建的应用程序其用户体验将“惨不忍睹”。而且,互联网服务安全问题非常关键,保证基于WCF Data Service技术搭建的应用程序数据安全,想必将成为开发者最费脑筋的地方。

(4)WCF RIA Service。

        这个技术与Silverlight密不可分。我还没有系统地了解这一技术领域,不予评说。
3 Web开发技术

       这一领域,没说的,ASP.NET中的WebForm是当之无愧的主流。经过多年的发展,WebForm已高度成熟。Visual Studio 2008中加入的Ajax系列组件,如ScriptManger、UpdataPanel之类,再配合一堆的应用了Ajax技术的控件,让WebForm更是如虎添翼。基于这种成熟技术开发Web网站,不管是用户还是开发企业,都比较放心,而且从.NET 3.5 SP1开始,Web领域多了些新东西。

      (1)ASP.NET MVC,MVC这一设计模式已有多年的历史,也有很多的成熟的框架,但在.NET“官方”平台上,却是个新加入的“成员”,并不算成熟,我觉得其应用前景要看看再说。我不知道业界是否已有基于此技术开发的实际项目,有这方面项目经验的朋友,不妨谈谈自己的看法。

      (2)ASP.NET DynamicData,这是一个看上去很酷的技术。当使用它来创建网站时,Visual Studio 2010会帮你创建一个DynamicData文件夹,里面放了数十个模板文件,构建了一个网站的“脚手架”,几乎不用编码,就可以生成一个全功能的“CRUD”数据驱动网站。

        它的设计思想很好:底层使用ADO.NET实体框架或LINQ To SQL构造数据模型,通过提取数据模型中的元数据,动态选择合适的模板生成网页。这就避免了真实项目中不得不为每个数据存取任务设计不同网页的负担,而且这一技术提供了很多的方式去允许你定制网站。

        我当初刚一接触时,也很兴奋,这是个好东西啊!但后来我改变了看法,这一技术的问题在于它过于“自动化”了,而且需要包容数十个文件,让其与现有的ASP.NET网站集成相当不便,配置起来麻烦。

        我个人认为,在现有.NET Web开发技术应用现状之下,任何一个与现有的ASP.NET网站(以WebForm+Ajax为主体技术)集成麻烦的技术,都很难有“美好”的前途。很不幸,ASP.NET DynamicData是这样的例子,ASP.NET MVC也有同样的问题,但没有ASP.NET DynamicData严重,而且ASP.NET MVC架构清晰,还是比较易于维护。

      (3)Silverlight。这实际上是另一种Web应用架构的代表技术,其立足点在于充分利用客户端的计算资源,可以大大地降低对服务端的依赖,而且易于构造良好的用户体验,我个人认为其发展大有可观。是一个需要重点关注的技术。


相关信息:
·如何减少.NET应用程序内存占用 ·微软.NET各子技术领域的应用前景——(2)
青鸟热门课程安卓工程师
青鸟热门课程网络营销师
青鸟热门课程网络工程师
青鸟热门课程JAVA工程师
青鸟热门课程.NET工程师
.NET行情
 
Copyright © 2002-2015 北大青鸟北京北方华腾技术培训中心 版权所有 地址:北三环中路马甸桥东北角商房大厦(国美电器)626 招生热线:010-82011433/32
京ICP备05043413号 京公网安备 11010802023056号