浅谈.NET

浅谈.NET

 

一、.NET是什么

 

.NET是微软下一代的操作平台,请区别于win32平台(对于win32都不了解的话,请百度一下什么是微软的win32平台!!)。

对于这点,笔者是这样认为的,在.NET出现之前,我们使用c++在windows的环境(win32)下编程,但是随着各种平台各种技术的出现,微软觉得win32已经满足不了广大人民群众的需求,所以千辛万苦自己又研发了一个新一代的软件开发平台,也就是我们现在说的.NET平台。但是这样诠释.NET其实也不够全面,对于.NET的理解,很多人都有不同的解释,就连微软官方好像也没有确切的解释!!有的人就认为.NET是一种编程语言(这是十分错误的观点),也有认为.NET是一种开发工具(这个更加离谱!),反正就是,这么说吧,微软的野心很大,它想通吃所有的软件,所有的平台,它想以后所有人开发啊,使用啊都是用.NET平台。.NET是微软的一套整体战略,一般我们说的.NET主要是由几大模块组成。

n        .NET Framework(.NET框架),它是整个.NET的运行支撑平台(类似java的JDK)。

n        VisualStudio系列开发IDE,VS系列的集成开发环境一直都是最好的,不管是对于c++,c#还是vb。

n        XML web Service,这是微软战略的一部分,是什么internet 无缝连接和沟通的服务总和,一般不是大神级的人物都不用太了解。

 

 

二、.NET的发展

 

n        .NET1.1:2003微软推出的比较早的版本。同时发布VisualStudio .NET 2003,Windows Server 2003系统中集成。

n        .NET2.0:2005年推出的经典的历史性的版本,一并推出了Visual Studio .NET 2005,一直很受欢迎。早一点的公司,现在应该都还在用。。。

n        .NET3.0:2006年推出的比较坑爹的版本,同时集成于windows Vista中,和vista一起over!!

n        .NET3.5:2007年推出的算是弥补了.NET3.0的缺陷,算是非常好的版本了,同时发布了VisualStudio2008,集成于win7.

n        .NET4.0:这是非常新的东西了,应该是2010年才出的新技术,有很多的神一般的特性。

n        .NET今后的版本笔者认为都会在不断地更新中,所以啊,要跟着微软混,永远不会过时!!!

 

三、.NET的优点

 

n        快速开发,不用老是像c++那样纠结于界面的制作美化等繁琐的工作,是开发者可以更多地专注于功能的实现。

n        跨语言,传说.NET是支持20多种语言的,但是目前微软官方公认的只有c#,c++,vb,f#,jScript,而c#住.NET Framework的主力开发语言,也是微软力推的开发语言。

n        .NET是两次编译的语言,先编译成IL中间语言,运行时由CLR负责管理,十分安全

n        没有指针,没有复杂的垃圾回收,内存释放过程,这些都由CLR处理,主要是没有了指针,这些都不用做了,编程人员算是彻底从指针中解脱了,这也是.NET比较安全的原因。

n        .NET的工具和功能模块都很丰富,一般的开发都可以找到很全面的实例和代码,容易学习和开发。

n        强大MSDN作为开发后盾,有什么不懂的,直接上MSDN,有非常详细的开发文档,所以自学是非常容易的。。。

n        ……还有非常多的优点笔者就不一一列举了,有兴趣的去学一下,就会发现更多的关于.NET的特性。

 

 

四、关于c#语言与.NET的关系

 

笔者认为,c#语言是微软为了与sun公司(被oracle收购了)的java进行对抗二自己创造的一门语言,现在也算比较火吧。基本有很多性质和java差不多,语言上的东西其实都差不多,就是多了一些自己的特性,所以笔者很不爽那些看了一下基本语法,就说某某语言很简单之类的话,这些不是我们做程序的人说的话,其实语言的东西都是相通的,只要学过一门语言,并了解深入,其他的都可以触类旁通,而我们要学的是它的特性,就是高级的东西,比如说c#的委托,LINQ,还有GC等等。这些东西在非c#的程序员来说肯定听都没听过!!!所以,请不要说c#很简单,因为当你说这话时,懂c#的人都会当你是白痴。

不难看出,c#是.NET的开发语言(主力语言),我们要学.NET,最好是先学习c#语言,因为我们一般来说都是用c#来开发.NET的应用程序。现在知道什么是.NET,什么是c#了吧???那就不多说了,很有兴趣的话,自己找书研究。。。。

 

五、.NET与ASP.NET的关系

 

这个就不用讲太多了,相信看完上面的讲解,都应该有所了解,那我就简单再说一遍。ASP.NET是.NET的一部分,现在出了WP7以及别的新技术后,也可以说,ASP.NET只是.NET的一小部分,如果你学的是整个.NET的框架和底层,那么将来你可以走asp.net方向(就像你学c++,然后可以走MFC方向一样),实际上,很多人都是这么干的,因为相对来说,做asp.net不是很难!所以啊,笔者也不喜欢那些本身学的是仅仅是ASP.NET,但是老是说自己学的是.NET方向,这完全就是不了解!!

 

六、c# 与ASP.NET的关系

 

    这么说吧,ASP.NET也是主要用c#进行开发的,也可以用vb、vb.net,但是微软说推荐用c#,所以就用c#开发ASP.NET了,所以一讲到c#大家都自然而然的想到做网站(这是不对的),只能说,c#可以做网站,但是c#不像PHP那样只能做网站,其实,c#很强大,笔者强烈认为,c#只拿来做网站简直是浪费!!!

 

七、.NET(一般是用c#)可以做什么?

 

n        Winform:即windows桌面应用程序,开发快速,容易上手,比win32下的windows传统窗体好很多!!!

n        Webform:一般来说,就是用asp.net开发的网站,也是比较主流的技术,因为.NET在web方面是非常擅长的(由于.NET框架类库对套接字、TCP、HTTP等协议的支持,C#的网络编程功能也相当强大)。

n        ***C#可以直接调用GDI+进行绘图、图形和多媒体编程。而GDI+的强大功能绝对让你大吃一惊。

n        C# DirectX游戏编程:C#进行游戏编程一直受到一些C++程序员的怀疑和猜忌,但是笔者告诉你,C#也能进行游戏编程!!!并且,软软还会加以支持,毕竟人家自己推的平台和语言,肯定是大力推崇了。。。。自DirectX7.0诞生以来,就有了基于VB编程的DirectX库DxVBLib,同样,DirectX9.0C诞生及DirectX9SDK开发包的推出,在C#中使用DirectX进行多媒体及游戏编程变得简单易行。。至于现在directX出到什么版本了,笔者也没有了解,对于.NET游戏编程感兴趣的可以找资料研究下(别说不懂怎么找资料,图书馆,网上大把,如果连找资料学习的能力都没有,那干脆别学计算机了!)笔者附上c#DirectX浅谈一片,算是仁至义尽了!!!

n        XNA游戏开发(高级):XNA 的目标是用 C# 在 .Net Framework 上开发跨平台游戏,前期仅指 PC 和 XBox360 两个平台。Xbox上这么多大型的游戏都是XNA下的产品。这里就不多说,有兴趣的就详细了解吧。(附上XNA简介一篇)。

n        WindowsPhone7开发(2010年新出):这算是非常新的技术了,目前还在不断更新中,就是做wp7的移动应用开发,所以,想做移动开发,不仅仅局限于android的!!!而且,它是新出的技术,大家的起点都是差不多的,只要潜心钻研,说不定也会成为一代大神哦!!!

 

八、.NET的学习历程

 

要想学习.NET,如果是入门的话,可以去图书馆借一些有“c#入门”,“c#程序设计”之类的书看下,然后跟着学习,和学习c++的过程差不多,但是学过了c++的话,这个过程会很快。笔者就只花了一周的时间。一般来说,要做到熟悉基本的c#语言,能写一般的程序,形成大脑中的整体构架、程序观念,可以把握在两周到三周(可以下载VS2008作为学习的开发工具,虽然已经有了VS2010,BS2011,但是笔者不建议使用,因为IDE越高级,对于学习来说,就越不利,使用VS2008算是比较好的)。

然后语言级别的高级特性,比如前面说的LINQ,GC,包括整个.NEET Framework的原理,这个就要从今后的学习中,不断积累,不断学习,这需要一个过程。。。

如果是说到开发应用级别的,笔者认为是应该先把基础至少都过三遍,高级特性可以跳过。然后着手做应用开发是比较好的,因为这样的话,你的开发会非常快,因为原理都明白了,开发就会比较轻松,如果你基础都不牢固,就跑去做应用程序,我觉得会不断遇到一些很无语的问题,然后自己也不会解决,这就是基础不牢固的后果。。。

学完了基础,就可以去图书馆找带有“案例开发”、“实例”字眼的书研究下,一般就可以了,做了一段时间,应该就算是入门了吧。

 

PS:以上仅仅是笔者针对自身学习.NET的经验来谈一下关于.NET的认识和学习,也许会有认识的不足之处,技术知识有限,请见谅。。。。。

                                               2012-04-25

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值