.NET在蹉跎中一路前行1

原创 2005年04月25日 16:17:00
.NET的激情起航

  2000年6月22日,这是一个所有“微软人”都应该记住的日子,因为从这一天起,微软公司将下一场赌注,一场押上全部身家的世纪豪赌——这一天,比尔.盖茨向全球宣布其下一代软件和服务,即Microsoft .NET平台的构想和实施步骤。新一代的Microsoft .NET 家族产品和技术替代了此前“下一代Windows服务(NGWS)”的提法,它涵盖了帮助软件开发商构建下一代互联网服务和给予新一代智能互联网设备强大功能的软件。此外,微软还宣布了基于.NET 平台的新产品计划,其中包括新一代的微软Windows操作系统、Windows DNA服务器、微软Office、MSN互联网网络服务、Visual Studio开发系统。

  这样的决定对于当时已经全球领先的微软而言,无疑是“押宝”,将未来十几年内的发展押给了他们构筑的.NET,当然也正是从那一刻开始,这家全球最大的软件公司也会不会遗力的去推进这个“伟大的梦想”。

  那时的.NET

  什么是.NET?.NET有什么?有人也认为是微软故意模糊概念,实际的.NET是Windows DNA(Distributed Network Architecture)和COM+的一个延续,在本质上没有改变。虽然这样的理解有时偏频,但是问题是明显的,我们不是那么容易的理解“什么是.NET”。

  2000年微软的白皮书这样定义.NET:Microsoft? .NET 是Microsoft XML Web Services 平台。XML Web Services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。 我们可以清楚的看到微软对于.NET的理解是XML Web Services的平台,一切皆是服务,下一代的Internet应用将是依赖于Web Service来构建,Microsoft .NET 平台由以下技术构成:

   .NET用户体验

   .NET基础设施和工具

   .NET服务构造块

   .NET设备软件

  用户永远是上帝,脱离用户讨论战略没有实际意义,为此除开倡导的平台核心技术以外,微软还承诺对于个人用户提供.NET用户体验,其中包括:

  Windows .NET

  MSN .NET

  用户订购服务

  Office .NET

  bCentral for .NET

  Visual Studio .NET

  从这些文字我们可以看出,微软几乎可以将自己的全部产品加上“.NET”的字眼,但是那是不是因为着这就是“.NET”?

  Everything is .NET

  大概是为了强化.NET在人们心目中的印象,微软此时开展了一场dotnetialization(.NET化)运动,几乎所有传统的、创新的和虚构的产品都被打上“.NET”的标签。

  为了扩展.NET战略的宣传,微软将其很多仍使用传统技术的产品都加上了“.NET”字眼。最典型的莫过于2000年底发布的.NET Enterprise Server系列。这套服务器软件虽然打上了.NET标签,但与.NET技术没有任何关系。

  真正创新的思想是Web Service。微软当时极力推动Web Service从概念走入应用的最核心。

  此外,微软还虚构了、或者至少是过早描绘了一些新的、以“.NET”命名的产品与服务。

  一切都是.NET,微软这样做的结果就是将.NET这个品牌叫得路人皆知,而其实质概念则几乎没有人了解。除了提供一些开发工具的支持,其他方面的.NET推进有点做作的感觉,更加实际的来说.NET战略只是一个CLR的平台,其他方面的概念解释都让人牵强。

  艰难晦涩的.NET改变终于带入微软走入了一个尴尬的境地,.NET Enterprise Server就如同水中望月,而Office XP的推出除了绚丽的图形表现界面以外,也没有太多东西让人发现和.NET有关,这是一段迷惘而痛苦的岁月。

  迷惘

  经过一年多的喧嚣,.NET已经渐渐热起来,越来越多的人开始使用.NET,至少开始关注这个平台,C#的正确发音已经尽人皆知。但是,看得出来,微软自己对于.NET的态度已经发生了微妙的变化。原来的计划太庞大,即使微软这样的巨人也无法掌控。前面的路应该怎么走?微软也产生了迷惘。

  2001年5月31日Office XP正式发布,它显然不是“传说”中的Office.NET。微软强调这个XP版本加大的是“体验”(experience)及其网络的整合,而“用户体验”和与网络的融合都是“.NET战略”的一部分。但是,实质的改进有什么呢?除了返璞归真的平面图形菜单(戏剧性的是这样的界面成了日后众多软件界面模仿的对象),和内建支持了SOAP工具包及其联机搜索能力,我们发现和当初预想的Office.NET有天壤之别。

  Office开发采取滚动方式进行,也就是在发布Office XP之前,下一版Office已经在开发中。据说部真的正在开发一个雄心勃勃的Office.NET。在这一激进的计划中,所有的访问都是通过Web Service来完成的,应用程序与网络的融合史无前例。不幸的是,这个产品最终流产,并且直接导致一个副总裁的辞职。究竟是技术上太不现实,还是微软意识到这个产品无法被用户接受?我们已经不得而知。 如果说Office曾经太激进,那么那些支持IT应用基础架构的应用服务器又是如何呢?在商业应用中的Commerce Server 2002,Biztalk Server 2002,Content Management Server 2002等等,虽然在一定程度加上了.NET Framework的支持,但是感觉有点是被微软强行联姻的“亲家”罢了,Visual Studio .NET对于其开发的支持依然是一种有心无力的感觉,并且这写服务器提供的并不是完整的托管类库,很大一部分功能仍然需要通过COM的方式来完成访问。.NET是一个庞大的战略,但是在短短的时间内希望完成到一个新的平台的迁移不是那么容易的事情,而此时.NET Enterprise Server系列的2002版本虽然在一个.NET的名头下依然是一个服务器群集,但是根本无法体现出.NET曾经的设想。

  此时的VS.NET有点孤军奋战的感觉,毕竟和其他应用服务器的结合不是那么尽如人意,并且在Managed C++方面的表现也不足以作为系统级开发的利器,因此还是有些人在等待,而不会去考虑将已有的应用全部迁移到.NET平台上来。

  所有这些情况,不仅体现了,同时也导致了微软的困惑。一个技术概念,如果不能与切实可用的产品结合起来,就会变成空中楼阁。

  对于用户而言,最重要的是能够实际带来什么,而不是仅仅带来概念,经历了那段迷惘,微软对于.NET的理解终于“尘归尘,土归土”,穿过水花镜月,一路坚定的走来。

  务实

  2002年7月24日,比尔?盖茨在一个内部讲话中承认说,2000年9月推出的.NET企业服务器称作.NET“是有点草率”,也正是从这个时候开始微软真正开始反思.NET战略是否太过泛滥,是否超出了他们所能够控制的范围。

  在反思中摒弃浮躁,在务实中前行,经过两年时间的喧嚣和反思,.NET正在一点一点地走进现实应用。

  2003年4月25日,曾被命名为Windows .NET Server的Windows Server 2003正式发布。Windows Server 2003此前曾四易其名,它是第一个内置支持.NET Framework 1.1的Windows操作系统,因此有资格戴上.NET的标签,但最终确定的名称中并没有包括“.NET”字样,出乎很多人的预料。

  同日,微软发布了基于.NET Framework开发工具的第二个版本,也就是Visual Studio.NET 2003,经历了一年的发展,2003版本终于被越来越多的开发人员所接受,除了修正了2002版本的一些细节性错误,在类库方面也更加强健和良好的兼容。 也也就是从此刻开始,VS.NET成为一个最强大的开发平台,多语言集成的开发环境,开发人员不仅可以开发传统的Windows应用,能够开发Web应用程序,同时在移动开发,企业级组件方面都提供了良好的支持。

  Office.NET已经渐渐淡去,此刻的微软也明白一相情愿设计一个完全以Web Service为中心的Office版本至少在今天是不可行的。2003年10月27号的时候发布最新版本的Office 2003中,启用了一个比较保守的命名——Office System 2003。从此Office不再是一个纯粹的客户端软件,而是一个完整的企业信息应用平台,不过相对于神话般的Office.NET,还有很长的路需要走,不过我们可以肯定,神话仅仅是神话,这个时候的微软已经知道.NET对于用户意味着什么。

  在服务器系统方面,.NET Enterprise Server有点盛名难负,更加直接的来说是一个虚构的名字。为了更加贴近实际情况,微软将新版服务器系统命名为Windows Server System,旨在建立一个深度集成的服务器基础结构,而从使IT专业人员能够将精力集中到满足业务需求方面。

  这一切表明,微软在.NET的推广策略上已经趋于务实。事实上,一项新技术,必须有现实的产品支撑。微软一向的做法,是将新技术与自己的强势产品结合,从而让最终用户的需求推动开发者转向微软技术。然而,在.NET推广之初,这一策略并没有很好的贯彻。只是经过了这个务实阶段之后,微软才重新回到了自己的正确路线上。将.NET技术与Windows和Office两大拳头产品结合,这表明.NET已经迈上稳健发展之路。

  未来展望

  Longhorn需要到2006年才能够发布,我们完全可以认为,这个就是四年以前微软提出的.NET战略时希望达成的梦想之一,集成互联,同时拥有一个非常出色的用户体验。微软当初承诺在三年内实现这些基础架构的建设,现在看来这个时间恰好需要多一倍,也就是整整六年的时间。这个号称完全重新构建的操作系统才能够称得上.NET操作系统,关于其中的Avalon(图形渲染技术)、Indigo(通信子系统)、WinFS(文件存储系统)还有纯粹的.NET编程接口WinFX。

  相信2006年的Longhorn发布的时候,.NET应该已经得到业界的认同,并且已经出现了相当部分基于.NET的成功案例,对于.NET的FUD(Fear/Uncertainty/Doubt,恐惧/不确定性/疑虑)也已经烟消云散,.NET和J2EE真正意义的站在同一个水平线上去对话。

  而在Longhorn中的Indigo子系统,则以一种更加透明的方式来实现系统的部署,于是“一次编写,多次部署”也成为可能。随着.NET提出微软一直倡导的Smart Client技术也得到完美的体现,这个时候已经可以不去考虑桌面和浏览器的区别,如果说有,那么只是一种部署方式的差异,而解决这个问题的核心在于XAML及其和Win32 API等同的WinFX技术。

  “一切皆是Web Service”,那个时候的确可以做到当初.NET战略希望的所有子系统都通过Web Service通信(当然了,那个时候的Web Service不再是今天的效率)。期待总是期待,毕竟还有两年的时间去观望,也许到了日后一切全部变了样。

  但是我们相信,未来的.NET会成功,就如同微软一贯以来的成功,于是今天我们不是考虑是否使用.NET而是考虑何时选择.NET,当然,每一次的选择和放弃都是一种痛苦。

  不知道是刻意或是纯粹出于偶然,营销名词和技术名称以及通用词汇竟然都在同一个时间点代表了同样的意义:过去与现在,传统与流行。

asp.net mvc3的静态化实现1

为了提高网站性能、和网站的负载能力,页面静态化是一种有效的方式,这里对于asp.net mvc3 构架下的网站,提供一种个人认为比较好的静态话方式。 实现原理是通过mvc提供的过滤器扩展点实现页面内...

微软ASP.NET站点部署指南(1):部署介绍

1. 综述 该系列教程指导你如何将一个ASP.NET web 程序部署到第三方的主机提供商机器上。部署的方式用的是Visual Studio的one-click发布。首先部署到开发环境的IIS上进行...

vb.net 教程 1-5 运算符 2

其实之前的教程都有过使用运算符,像一般的加减乘除等,这里介绍一下经常用到运算符: +:加 -:减 *:乘 /:除 \:除后取整 mod:取余数 ^:幂运算 一个简单的例子: Sub main(...

【原创】.NET读写Excel工具Spire.Xls使用(1)入门介绍

在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种: 1.Office Com组件的方式:这个方式非常累人,微软的东西总是这么的复杂,使用起来可能非常不便,需要安装...

分享安装VS2010 SP1与ASP.NET MVC4详细步骤

说来惭愧,用VS2008一直用到上周,因为PC上面最开始装的就是VS2008,卸载也比较麻烦,因为太多了组件了,担心卸载不干净的话后面的新版本又安装不了就麻烦了,毕竟上市公司里面管理的比较严格,总不能...
  • CsethCRM
  • CsethCRM
  • 2014年01月22日 13:51
  • 11976

vb.net 教程 1-6 数据类型:数值数据转换2

不同于上一节的一般数值到字符串的转换 本节谈谈进制间的转换,主要涉及十进制转到二进制、八进制和十六进制以及二进制、八进制和十六进制转到十进制。 之前在vb6中对进制间的转换是比较麻烦的事情,但是vb....

从零开始高阶.Net Mvc5 EF6 WebApi2 Angular2项目开发(Ch01——1)

本系列文章主要教大家如何使用.Net 创建比较热门的Single Page Application,使用到了MVC5 EF6 Angular2 WebAPI2等较新技术,从浅入深,步步进阶。...

【开源分享:入门到精通ASP.NET MVC+EF6+Bootstrap】月薪过万不是梦,从这里开始,一起搭框架(1)开篇介绍

这几年一直在做ASP.NET开发,几年前做项目都是老老实实一行行的写代码,后来发现那些高手基本都会有自己积累起来的代码库,现在称之为开发框架,基础代码不用再去堆,主要精力可以集中在业务逻辑实现上。这样...

深入浅出.NET代码生成系列(1):概述

Visual Studio之所以强大,就因为它能为开发者尽可能地生成一些代码,免去了我们经常性去做一些无意义的,机械化的操作,从而使开发者不必把时间和精力都花在细枝末节上,能更专心于程序的核心部分,开...
  • tcjiaan
  • tcjiaan
  • 2012年06月27日 11:09
  • 4643
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.NET在蹉跎中一路前行1
举报原因:
原因补充:

(最多只允许输入30个字)