从1.0开始,.NET这几年发展的速度异常惊人,全新平台的.NET1.0、改良的.NET1.1,迈向成熟的.NET2.0,大跃进的.NET 3.0,2008年将正式站上舞台的.NET3.5,每一次的改版,都带来了不同程度的惊喜,然而,更好的功能,更具生产力的工具,一切的一切,带给开发人员的不是喜悦,而是追赶新技术的疲累与茫然,今天当红的技术,转眼成为明日的黄花,不如归去,或许已经成为开发人员的共同心情写照。
如果你有这样的无奈,这篇文章,或许可以给你不同的想法,即便无法让你在一波波技术浪潮的冲击下,重拾对技术的热情,至少也能让你未来的.NET学习之路,走得比较顺遂。
.NET 从1.0发表之后,它的框架便已固定,与微软之前的技术最大的不同点,在于它的发展以渐进式的演化取代了破坏性的革命,仔细检视.NET的架构,你会发现每一次的改版都只是在旧的框架上,堆叠新的软体元件,而非如.NET1.0创造一个全新的技术平台,这样的好处在于,开发人员既使面对新版本,使用的依然是熟悉的技术,想要新的功能,只要针对新版释出的部份,进一步作学习即可。
.NET1.X 跳到 .NET 2.0 的时候,BCL新增了一些类别,语言本身作了一些改良,ASP.NET则嵌入了一些新的机制,除此之外,所有的东西都是旧的,观念亦没有改变,.NET 3.0则单纯的加入了四个新的软体框架,.NET 3.5则比较复杂,但是基本上,还是在.NET 2.0与.NET3.0上面,堆了一些新的功能上去。
是的,你在.NET 1.0开始所作的投资,不会被浪费掉,几乎所有的东西都能够延用,某些功能,新版本或许有更好的作法,但是并不代表你就必须丢掉旧版本,相反的,在原来的基础上,你可以更快速的学好新的东西。
有了概念,我们现在知道改版不是件坏事,但这是一回事,.NET究终是只技术巨兽,如何驯服它,又是另外一回事,如何找到正确的学习方向,将是你的.NET之路是否能够顺利的关键。
学习.NET没有密诀,务实、不求速成是重点,.NET的开发工具,包装了很多好用的东西,导致开发人员(尤其是入门的程式员)天真的以为,开发.NET应用程式,无论WinForm或是WebForm,都可以轻易的用工具搞定,忽略了语言与API才是关键,导致.NET的学习之路愈走愈窄,本来可以愉快的学习经验,最后成为可怕的恶梦。
无论是初学者或是已经有一般基础的程式员,接下来我们列举一连串的步骤,作为你学习.NET的参考。
1. 了解.NET语言:在你开始学习.NET之前,选择一个语言,C#或是vb.net,学习相关语法,例如迴圈,宣告等等,了解类别设计,OOP的基础概念,在你熟悉这些东西之前,不要去碰所谓的WinForm或是ASP.NET,当然,这是建议,如果你不觉得这会模煳学习焦点,如果你打算就语言本身下去学习,从Console模式作练习。
2.探索基础的.NET Framework类别库:了解何谓命名空间,类别如何被组织归纳,如何引用现有的类别库实作所需的应用程式功能,学习一些基础的核心类,例如Math、Exception等等。
3.选择所使用的UI:传统的视窗应用程式(WinForm),或是Web应用程式(WebForm),也就是ASP.NET。
4.深入类别库:学习特定领域的技术,例如资料库的ADO.NET,绘图技术的GDI+,网路与串流技术,甚至大型应用程式的发展等等。
.NET 程式设计师一旦过了初学的门槛,有一大部份的时间,都会在类别库的类别功能上打转,无论你所开发的是ASP.NET的Web应用程式员,还是传统视窗应用程式,都脱离不了类别库的应用,强化类别库的知识将是最主要的课题。
.NET 的架构设计得非常出色,因此很容易学习,按步就班很快的就会成为一个堪用的.NET应用程式开发人员,有了好的基础,无论是目前的.NET3.0,或是明年蓄势待发的.NET3.5,对你都不再会是困扰,因为它们都只是堆叠了一些新的东西上去,只要在需要的时候,针对这些新增功能继续下功夫即可,至于那些新功能,我们用一些简单的数学式来说明。
.NET 2.0 = CLR +BCL+ C#(vb.net) + Win Form + Web Form
.NET 3.0 = .NET 2.0 + WCF + WPF + WF + WCS
.NET 3.5 = .NET 3.0 + ASP.NET AJAX +Silverlight+LINQ
如何,是不是比较好受了,从这几条数学公式当中,我们得到了一个很重要的结论,如果没有.NET2.0的基础,你是不可能学好所谓的.NET 3.0,甚至迎接明年即将到来的.NET3.5,也因此,除非你已经准备好了,否则学好你的.NET 2.0 逺比关注目前的新技术来得重要。
至于.NET 1.0或是.NET 1.1,试着摆脱它吧,.NET 2.0相较于.NET 1.X的改变尽管并非革命性的,但是.NET 2.0在某些方面的确作了一些变动,语言的功能亦作了不少的加强,编辑器的档案架构同时也有一些不小的调整,跳到.NET 2.0是比较合适的选择。
至于2008年中即将释出的VS2008,它同时允许开发人员选择所要开发的版本,你可以选择.NET2.0、.NET3.0或正.NET3.5进行开发,就如同我们上面说明的,除非你要新的功能,例如WPF,否则不用可虑新版本的问题。