当前位置:编程学习 > C#/ASP.NET >>

NET的目标只是个传说

  通过拥抱云计算和开源,微软正在试图不落后于竞争对手,使自己仍然是开发者的首选厂商之一。实际上,早在2000年微软已经通过引入.NET开始了一场巨大的平台转移行动。.NET最初在2000年阿姆斯特丹举行的TechED大会上被宣布,然后在后来的微软专业开发者大会上更多信息得以披露。在此后的10年中,.NET是否实现了微软所承诺的东西?

  微软推.NET背景

  如果你考虑一下微软推出.NET时的处境,就会更好的理解它这么做的原因。当时,Windows的核心地位不仅正在被互联网所侵蚀,而且受到了Sun的Java语言和运行时的强力挑战。使用Java编程更轻松,它具有现代化的设计和自动内存管理,而且具有自己的跨平台运行时,当时已被IBM和甲骨文等IT巨头大力支持。

  微软曾试图增加诸如COM组件等Windows特定功能到Java中,但得到的是来自Sun公司的10亿美元法律诉讼,称其做法破坏了跨平台兼容性。

  微软的开发者工具也看上去疲态尽显。Visual Basic存在不足,明显动力不足,受初学者欢迎却不为专家级开发者所接受。Visual C++和Windows类库却又对很多人较难。同时,使用COM和ASP的Web开发又显得非常杂乱和不堪一击。

  针对上述情况微软给出的解决答案非常大胆。微软.NET解决事业部总经理迈克尔点里斯(Michael Risse)在2000年TechEd大会上表示,“我们计划推出一个名为Microsoft .NET Platform的全新平台。”它由三部分组成。首先,它有一个新的“公共语言运行时”,它除了支持Visual Basic和C++等现有语言外,还支持一个名为C#的新语言,该语言由Borland Delphi著名的Anders Hejlsberg设计,拥有许多来自Java的类似概念。

  其次,它有众多组件块(Building Block)服务,是通过互联网借助于XML网络服务进行访问的一整套服务,其中微软Passport是早期的一个例子。

  最后,所有微软现有的服务器产品被重新加工为.NET服务器,使用XML作为统一协议。里斯将下一代应用称为“世界性的画布,由不同单个Web服务合适的搭配在一起的集合。”在他宣布了.NET之后,服务器产品BizTalk作为示范被演示,里斯希望它可以合理协调这些服务。

  .NET十年得失

  如果.NET的目标是赶走Java,那么它至少取得了一定程度上的成功。Java虽然没有灭亡,但企业版Java却身陷过于复杂的泥潭,从而使得.NET成为一个更富有成效的选择。C#在不断的变得更加普及,现在已经是多数Windows应用开发的首选语言。ASP.NET则已经成为一个倍受欢迎的Web框架。公共语言运行时则证明了自己的稳定性和灵活性。

  据分析机构提供的数据显示,市场对C#人才的需求一直在稳步增长,在英国IT编程领域,与C#相关的招聘职位数量所占份额已经达到32%,超过了Java的26%。

  尽管如此,.NET的发展并非一切按微软的预定计划进行。其“组件块服务”理念在提出后次年即遭到打击,在2001年微软专业开发者大会上微软推出了HailStorm理念,但它无法推广把自己定位成全球性服务提供商的理念。两年后在2003年微软专业开发者大会上,该公司宣布了 “Longhorn的三大改进”,试图实现一个具有.NET用户界面的Windows版本,此举也遭遇失败,后来仓促被Windows Vista所取代。

  其它事情进展的缓慢程度也超出了所有人的预期。尽管C#取得了成功,但现有Visual Basic开发者发现,很难移植它们的项目到一个名称相同但实际完全不同的语言。.NET框架中的Windows Form部分占用资源极大,而且.NET运行时的部署也时而出错。

  微软又花了8年时间提出了一个Client Profile的理念来实现精简安装。.NET控件在浏览器中安全替代Active X的理念从未实现,部分原因是其运行时不够普及,部分原因是以合理方式实现这一点的技术在2008年Silverlight问世之前从未真正到位。

  如果微软使用它会怎样?

  一个长期的抱怨是微软本身也一直迟迟未能采用.NET。微软的Tony Goodhew在2000年TechEd大会上曾表示,“微软未来将使用.NET框架。”但是,该公司一直继续使用本机代码和C++作为Windows和 Office的主要开发平台。COM从未真正离去,对那些希望使用新Windows 7 API的.NET开发者来说,必须使用了一个包装函式库来实现这一点。

  换句话说,微软逐渐将.NET定位成一个企业应用平台,而非它原先所说的创建所有东西的基础平台。

  2000年,微软骄傲的宣称,C#和公共语言基础架构将被ECMA标准化,矛头直指Sun,后者已决定在它自己的Java社区化进程中来维护Java,而不是将其交给一个公共标准组织。

  尽管这带来了诸如开源Mono等一些有趣的项目,该框架的类库和ASP.NET依然徘徊于标准化进程之外,而且便携式.NET应用的理念从未实现。微软不可能把这一点看作一个失败,但实际这就是一个失败。

  现在即将进入新的十年, 尽管.NET的成功之处要大于失败之处,如果微软希望减少未来十年其平台面临的威胁,它至少需要提出某些大胆的新战略。 --------------------编程问答-------------------- 标记! --------------------编程问答-------------------- 我一向不怎么看好微软 --------------------编程问答-------------------- 学习一下 --------------------编程问答-------------------- 还是没有明白 --------------------编程问答-------------------- 我还是比较看好微软的,但.net还是存在很多不足。我一直没有想通,为什么.net那么容易反编译,为什么微软自己的系统都不集成.net组件,而是要让用户自己去安装,这两个问题一直困扰着我。哎。。。。 --------------------编程问答-------------------- 不错的文章,顶顶。 --------------------编程问答-------------------- 想想每个用.NET开发的 都要安装.NET类库,就怕... --------------------编程问答-------------------- 插入…… --------------------编程问答-------------------- mark --------------------编程问答-------------------- 坚定地跟着MS --------------------编程问答-------------------- net=哥 --------------------编程问答--------------------
引用 4 楼 cq_alex 的回复:
还是没有明白


那里不明白
说白了就是NET不是很成功,   就象后面的兄弟说的,微软自已也没有用.NET组件来构造自已的产品,如Office,Windows --------------------编程问答--------------------
引用 5 楼 geaim 的回复:
我还是比较看好微软的,但.net还是存在很多不足。我一直没有想通,为什么.net那么容易反编译,为什么微软自己的系统都不集成.net组件,而是要让用户自己去安装,这两个问题一直困扰着我。哎。。。。

XP和.NET 发布时间相差不远。
当时还是1.1,坦白说,就算集成了。。。。。。。。
至于反编译——混淆。只不过…… --------------------编程问答-------------------- 很多共享软件都不是用.net写的,因为要求安装.net framework,XP系统可没有自带这个。而且性能上不是很好,但是开发方便,圈圈画画,一个窗体就出来了。ASP能减少70%的代码。之xp以后就有带.net framework了


微软的,总是出新的技术,这个winform还没学完,wcf就出来了,要是跟着M$跑,累都累死,永远也学不完。

说不定以后再出个什么框架的,到那时,.net说不定也就淘汰了






--------------------编程问答-------------------- .net 的真正本质吸引不到人

逼得微软做些花俏的来吸引

果然行. --------------------编程问答-------------------- 晕,楼上的都懂点耐特了? --------------------编程问答-------------------- 呵呵!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,