.NET十年:技术梦想的两极
今天,.NET对于我们而言可能早已司空见惯。在十年前的这个星期,也就是2000年7月7日,微软在阿姆斯特丹技术大会上公布了全新的.NET架构设想。然后,在接下来的一周里,微软在奥兰多、佛罗里达州召开的开发者专家会议中透露了更多关于该架构的详情。
微软的竞争对手VMware的现任首席执行官Paul Maritz,时任微软集团的副总裁。是他最早宣布了为建设、整合和运行下一代基于XML的网络服务而进行.NET架构和Visual Studio.NET开发的实用性。
很难想象,如果没有.NET和C#语言,微软平台会变成什么样子。尽管如此,在这十年里,有些事情还是没有能够按照预选设想的进行。下面,让我们一起来看看来自.NET故事中的酸甜苦辣。
遗漏:代码访问安全策略
代码访问安全策略起初是为了通过给予管理员权限来控制使用.NET库和应用程序的权限来确保Windows的安全。但不幸的是,就像微软已经承认的那样,成功地进行这项策略的配置对于普通人而言过于复杂。所以,它基本上已经从.net 4.0架构中被移除。
实现:APS.NET模型-视图-控制器
微软的ASP.NET网络窗体在当时来看可以说是一个辉煌的进步。你可以给网络应用程序编码,就像给桌面应用程序编码那么简单。随着时间的推移,ASP.NET已经变得不是那么有吸引力了,原因显而易见:它有着复杂的页面使用周期,不怎么雅观的隐藏变量和让人头疼的单元测试。于2009年首次面世,ASP.NET模型-视图-控制器为人们提供了一个更简洁、更快速、更可测并且与网址向导表述性状态转移(REST)更为一致的的替代方案。
遗漏:JScript.NET
Jscript.NET是JaveScript的网络版。它出现在Ruby和Python让动态语言变得新颖之前。就像Adobe的ActionScript试图推行命运不济的ECMAScript4.0一样,JScript从来就没有能够找到进入网络浏览器的方向。51CTO向您推荐《JScript、Java、JavaScript和JSP总结》
IE脚本增加?
谈到浏览器,从2000年就有关于Visual Basic.NET的评论:“我们打算在发布下一版本的时候将这些功能加回到Visual Basic.NET语言中去,这样我们就能够赶上与微软IE进行整合的步伐。”
这意味着微软打算将.NET的运行时作为IE的脚本引擎。如果微软开启该功能,或许IE脚本就不会比现在的Firefox、Safari或者Chrome慢了。
尽管没有人提,但是Jscript在.NET 4.0架构中依然存在。
实现:C#
创造一门新的语言不是件容易的事情,但是微软的C#无疑是成功的。它的首席研发设计师Anders Hejlsberg从Turbo Pascal和Delphi中汲取了大量的经验,让C#把.NET从Visual Basic的繁冗和C++的复杂中解救出来。从它的首次发布以来,微软已经为它增加了很多强大的语言功能,包括泛型、语言集成查询(LINQ)、隐含类型和动态类型等。
遗漏:XBAP
XBAP是一款XAML浏览器应用程序,它基本上属于一个完整的WPF应用程序,但是必须以浏览器为载体。它的初衷是打算让Windows窗体的应用程序也这样工作,但是安全问题意味着这一功能从未真正被开启,直到有一天.NET 3.0架构中XBAPs的到来。现在的问题是:为什么夸平台的Silverlight拥有这么多与XBAP相同的功能但是更为简单的部署?
实现:Silverlight
高呼着“WPF无处不在”的口号,Silverlight作为一个Windows和MAC浏览器插件面世了。它的性能很好,最新版本还可以支持桌面脱离浏览器的应用程序,进行更为安全的本地资源访问。微软最终推出了跨平台.NET,但是苹果公司的产品比如iPhone和iPad对插件始终嗤之以鼻。同时,鉴于Adobe Flash在用户中的根深蒂固,Silverlight的普及前景并令人担忧。
遗漏:Roter——Unix的开源.NET
在.NET的早期,微软曾经有过跨平台的构想,标准化的.NET将超越Sun的Java。ECMA对C#和通用语言基础结构(CLI)进行了统一标准,但是这些标准不包括.NET架构库。微软也发布了针对Windows和BSD Linux的源代码,通过Rotor实现共享源码公共语言基础。最后一个版本于2006年只针对Window发布,现在,一切都趋于平静。
实现:PowerShell
PowerShell于2006年面世,开发代号为Monad。这是一个.NET命令外壳脚本系统管理工具。它对于没有图形用户界面的Windows服务器核心尤为有用。2.0版本与Windows 7和服务器2008 R2同时问世,拥有能够打开远程机器上PowerShell会话的功能。由于PowerShell的易扩展性,微软的Exchange Server能够实现目前最好的PowerShell管理和使用。51CT0在2008年也关注过PowerShell的发展,还请大家注意我们的《10月TIOBE编程语言排行榜发布 PowerShell跌落谷底》和《七月开发语言排行榜出炉 PowerShell有望成为年度黑马(图)》
原文标题:Microsoft's .NET at ten: big hits, strange misses Alert Print Post comment Retweet Facebook Silverlight, C# and, er, JScript.NET
作者: Tim Anderson