BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

2008年中国.NET技术应用趋势分析

| 作者 赵劼 关注 4 他的粉丝 发布于 2008年2月1日. 估计阅读时间: 12 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

目前全世界已经有数不胜数的项目使用了.NET平台进行开发,中国自然也不例外。如果从2001年的诞生算起,微软.NET平台已经走入了它的第8个年头,并且成长地愈发迅速。在不久之前,微软最有价值专家罗江华撰文对2008年中国.NET技术应用趋势提出了自己的看法

到目前为止,微软已经推出了多个版本的.NET框架(1.0,1.1,2.0,3.0,3.5)以及多个版本的Visual Studio开发平台(2003,2005,2008),框架的特性越来越多,开发人员也能够以能更快速、便捷地构建应用程序了。在罗江华看来,作为.NET平台中开发框架的代表,也是最著名,应用程度最广的开发框架,ASP.NET在Web开发领域可谓有着里程碑式的意义:

在.NET平台上,ASP.NET的出现给原有的软件开发模式带来了一场全新的技术革命,顿时,新的B/S(Browser/Server)架构开发模式铺天盖地,也解脱了无数奋战在前线的ASP程序员。真可谓是一个跨时代的产品, 解决了很多以前ASP中没能解决的问题……ASP.NET 2.0 将常用的 Web 任务封装到应用程序服务和控件中,这些服务和控件可方便地在网站之间重用。利用这些基本生成块,较之以前的版本,现在实现许多方案所需的自定义代码要少得多。实践证明,它能将Web编程代码数量减少到70%或者更多。这真是一件激动人心的事情!

在对2008年进行展望之前,罗江华首先回顾和总结了.NET框架所度过的前几年时光。

作为.NET的主要竞争对手之一,Java的起步比.NET早了6年,不过目前无论从语言设计,框架设计,还是开发工具等方面,.NET已经成长为一个完全能够和Java相抗衡的开发平台了。不过就目前.NET的应用状况而言,国内总是要比国外慢半拍,在.NET 3.5已经正式发布的今天,.NET 2.0才成为国内开发人员最常用到的版本。而.NET 1.x已经被Vista抛弃,也预示着.NET 1.x已经完成了它的历史使命。虽然使用新的.NET版本进行旧有项目的开发,在过渡上可能会出现一定麻烦,但是罗江华在文章中认为使用新版本进行开发是利大于弊的:

下面以.NET2.0中的ASP.NET 2.0为例简单论述下。 ASP.NET 2.0对于ASP.NET 1.x来说,包含了许多体系结构的升级,其设计也是为了提高开发人员的工作效率。它不但改进了代码模型来减少冲突,而且还扩展了编译过程以为编译和部署 Web 应用程序提供更广泛的选项。ASP.NET 框架的扩展性再次通过新的 HTTPModules 和 HTTPHandlers 显示,它们支持建立在 ASP.NET 中的许多新功能,包括个性化、母版页和管理站点。缓存已经改进以允许数据库依赖项和缓存后替代。从内部来看,ASP.NET 2.0 包含了对它以前版本的显著改进。这些新实现结合了许多开发人员驱动的实现,同时沿用了业界的最佳做法。ASP.NET 2.0 提供一种世界一流的 Web 开发平台,该平台是为处理复杂的企业 Web 应用程序开发而构建的。

不过罗江华也同时认为,.NET目前还无法完全胜任所有企业软件的开发:

任何开发工具或平台都有它自己的优势和劣势…….NET对于构建中小型企业应用程序有很大的优势,以快速开发而著称。这对于一些既想提高开发速度又想降低成本的企业来说,.NET无疑是首选。对于一些需要达到高安全性、高伸缩性、跨平台等要求的企业来说会选择JAVA。这就是目前市场企业应用的两大方向。

时间已经证明.NET平台是一个优秀的开发平台,.NET框架易用而不失强大,甚至只要拖拖控件就能够开发出一个“像模像样”的应用程序,这使的“程序员”这个职业的门槛越来越低。不过就目前的现象看来,此类程序员往往很快就会遇到职业瓶颈。由于.NET封装地越来越智能,实现同样的功能与过去相比变得越来越简单,只有领会到框架的精髓,以及程序设计的本质,才能在职业道路上走得一帆风顺。在这一问题上,罗江华对开发人员,尤其是即将步入.NET开发殿堂的初学者提出了自己的建议:

对于现在一些一上来就使用最新版本学习的朋友来说确实没有什么好处。毕竟微软.NET版本确实太多了,并且每个版本之间的差距也是很大的,这也限制了很多中国程序员的发展,必须得不断的学习更新自己的技能。所以对于一些初级程序员或正要步入这个门槛的朋友们来说,在选择学习哪个本本上一定要根据自己的实际情况进行选择,当然这也是微软的初衷。

在.NET的众多版本中,2007年IT技术人员开发.NET应用主要使用的是.NET框架的2.0版本。经过了.NET 1.x的成功,.NET 2.0已经形成了一个非常成熟而高效的体系结构,也成为了.NET 3.0和3.5等后继版本的基础,因此它无疑是企业新系统开发的首选。与.NET 2.0相比,.NET 3.0和3.5提供的更多是新的功能与特性,而并没有对.NET 2.0所形成的体系结构有多少改变。.例如NET 3.0中的WPF、WCF、WF提供的强大的企业级特性,让一些大型的企业,尤其是跨国企业的业务实现变得更加容易,成本更加低廉。不过在国内依旧有大约三分之一的企业还在使用.NET 1.1进行开发,按照罗江华在文章中的说法,这主要是由于:

……之前系统是在.NET Framework1.1下面构建的,完全重构对一个企业级软件来说很困难,首先成本控制是一个显而易见的因素。

.NET 1.x的远去,.NET 3.5的到来意味着技术的新旧交替,意味着新开发技术和开发平台将成为开发人员手中新的利器。.NET 2.0所带来的范型、匿名方法等特性让原本在.NET 1.x下优美的实现显得多余而丑陋;而.NET 3.5中LINQ所带来的Lamda表达式语法,更可以在某些情况下将代码量缩减为原本的几分之一甚至更少。再加上ASP.NET AJAX与Silverlight,以及已经出现社区预览版本的ASP.NET MVC框架与.NET并行库,让摆在微软开发人员面前的大餐变得前所未有的丰盛。关于这一点,罗江华认为:

优胜劣汰是社会发展的规律,我们一起见证着微软的无数产品,以及第三方产品不断被淘汰,毫无疑问,作为微软产品跟随者的我们,需要不断的学习,一不小心就会被远远被抛弃在后面。或许在N年以后,当我们回过头来看看自己走过的路的时候,会发现其实在微软.NET的道路上我们已经走了这么远。

现在.NET平台下的开发选择余地更多,技术更新更快,它们所带来的问题之一就是对于技术的选择上。笔者热衷于新技术使用与体验,经常希望在尽早的时间内总结出一套关于新技术的开发实践,因此无论是VS 2005 + .NET 2.0,还是VS 2008 + .NET 3.5,都是在产品仍处于Beta阶段时就开始使用了。不过罗江华并不推荐这种做法:

前段时间我在博客园就看到有人再拿Visual Studio 2008 Beta2开发项目……说实话我很佩服他们的胆识,Visual Studio 2008正式版本里发生了一些变化,比如Linq部分,里面很多函数名称在正式版里都改变了,其学习和使用成本可想而知。但就目前来看,大多数企业还是比较理性的,比如我现在所在的企业,整个集团拥有开发人员接近500人,而且全部是基于微软.NET平台构建的应用系统。现在公司使用的有ASP、. NET1.1、.NET2.0、.NET3.0,但仅仅是部分新项目在使用。我想理由很简单,企业在选择某个版本时不仅仅是关注这项技术有多新,开发效率有多高等问题,而更关注的是成本有多高,风险有多大的问题,毕竟第一个吃螃蟹的人不是那么好当的。

他建议,如果您的企业要上新的项目,则推荐使用.NET 2.0平台,因为它已经有无数的成功案例,相对来说风险系数降低了,开发人员的技能也提高了,学习成本也降低了。

目前微软已经推出,或即将推出新一代的开发平台:Visual Studio 2008、Windows Server 2008以及SQL Server 2008。Windows Server 2008是微软在Windows Server 2003之后研发多年才推出的服务器操作系统,其受关注程度之高不言自明。它的一些新特性,例如Server Core、PowerShell集成、虚拟化技术(Windows Server Virtualization)等,也早已成为各媒体新闻里的常客;而SQL Server 2008作为SQL Server 2005的后继者,其性能、扩展性、安全性、可管理性都变得更好。SQL Server 2005的普及率正在以令人瞩目的速度增长,笔者有理由相信SQL Server 2008会比SQL Server 2005表现的更好。至于Visual Studio 2008,作为VS系列的最新版本,

这也是目前所有开发人员相比其他两个产品最感兴趣的一个,到处都能看到分享.NET3.5,C#3.0新特性的文章,因此就目前这一趋势来看,2008年中国.NET的应用状况,会有更多的企业将原有的.NET1.x版本升级到.NET2.0或.NET3.5。因为.NET2.0会降低成本,开发人员的技术能力也逐渐成熟,会有更多的企业在新项目中使用.NET2.0甚至.NET3.5。就目前的情况分析,如果企业项目中有对WPF,WCF, WF等技术的应用,那么企业考虑直接使用的是.NET3.5而不是.NET3.0,因为.NET3.0必须依托于Visual Studio 2005来实现,这样就必须安装一些微软的扩展包以支持.NET3.0,而Visual Studio 2008 IDE中已经集成了.NET2.0, .NET3.0, .NET3.5多个版本,企业可以任意选用需要的版本进行开发,此时不需要安装任何东西。因此,2008年.NET1.x和.NET2.0的使用幅度会大大降低,.NET2.0/.NET3.5的使用幅度会大大提高。

罗江华在文章的最后作了总结,可以看出,他对于微软的.NET平台充满了信心:

诚然,随着微软.NET平台功能的不断完善,开发人员所专注的方向也会不断的改变。让每个开发人员轻松完成自己的任务是微软一直在不懈努力的目标,让他们仅仅专注或更多的专注于业务而不是某个技术细节。就目前微软.NET战略发展的趋势来看,.NET真正的魅力也许离我们越来越近了,无论何时,无论什么地方,无论使用什么设备都能轻松实现数据用户的需求。让我们拭目以待。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

小问题不少 by 刘江 图灵

“NET 3.0中的WPF、WCF、WF提供的强大的企业级特性”
WPF好像不是主要局限于或者说针对企业开发的吧。

.NET方面在企业级开发方面,和Java还是有很大差距的。这方面好像谈得很不够。

好的产品——不假,似乎有些措施良机。 by 麦 书

微软最初也喜欢Java,但一开始跟在别人后面走,所以错失了3年左右的时间。

by Yan Jason

因此,2008年.NET1.x和.NET2.0的使用幅度会大大降低,.NET2.0/.NET3.5的使用幅度会大大提高。
--根据这句话,.net2.0的使用究竟是降低还是提高?

Re: 小问题不少 by Chu Kevin

我和罗江华比较熟悉,他的这篇文章,我觉得总体构思和观点还可以,但是小错误确实不少。罗江华应该在技术方面多下些功夫。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

4 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT