中国门户网站,网站开发的硬件设备,行政机关单位网站建设,seo搜索规则回想起来#xff0c;2001年发布的.NET已经是距离最近的一次软件开发技术的整体创新了#xff0c;后续的新技术就没有在各个端都这么成功的了。.NET是Windows平台下软件开发技术的巨大变革。在此之前#xff0c;有VB、C#xff08;MFC#xff09;、JSP#xff0c;在此之后… 回想起来2001年发布的.NET已经是距离最近的一次软件开发技术的整体创新了后续的新技术就没有在各个端都这么成功的了。.NET是Windows平台下软件开发技术的巨大变革。在此之前有VB、CMFC、JSP在此之后都整合到.NET。甚至.NET还不能完全算整体创新因为.NET是全面模仿Java体系的。所以软件开发技术的整体创新真的是太久没有了。 .NET基础是CLI标准定义了中间语言和虚拟机的规范在此之上.NET提供了编程语言C#、VB.NET、C等、基础库和框架FCL和运行时CLR。FCL包含WinForms、ASP.NET、ADO.NET、Enterprise Service等分别支持C/S架构、B/S架构和Web service、数据访问、事务处理等企业级特性。 标准微软在2000年.NET推出之前就向ECMA提交了CLI标准包括类型系统Common Type SystemCTS、程序元数据、语言规范Common Language Specification (CLS)为CTS的子集、虚拟机Virtual Execution SystemVES和标准库。VES定义了一门中间语言MSIL。2003年微软又提交了ISO标准。 语言.NET定义了中间语言MSIL标准支持单继承、方法重写、垃圾收集、异常处理、多线程、attribute类似Java annotation等现代化语言特性。通过标准的中间语言不同语言的程序可以实现高度的互操作如子类和父类可以用不同语言。支持CIL的语言最主要的是微软为.NET全新设计的C#然后是为了原有开发者群体的VB.NET和C扩展。微软也设计了JScript即基于CLR的JavaScript但很不成功。几年后微软又推出了函数式语言F#。 .NET最初的愿景中很重视Web service为此制定了WSDL、UDDI、SOAP等一系列标准协议ASP.NET也在原ASP的基础上增加了对开发Web service的支持。 .NET的发展大致可以从C#的使用率看。根据TOBIE统计.NET发布后C#语言的使用率在2012年之前一路增长在2012年初达到近9%的使用率排名第3。同期Java的使用率一路下滑。当前全球约有600万.NET开发者。 在.NET发布的2002年Java的使用率高达25%C/S架构技术Swing 1997年发布B/S及企业级架构技术Servlet、J2EE、JSP于1999年之前也已经发布现在最流行的Spring也即将在2003年发布。.NET能够在Java体系中突围获得不错的市场份额整体而言算是比较成功的。 成功的原因 微软有非常好操作系统和开发者的基础。在2002年左右Windows在桌面市场绝对领先在服务器市场也处于优势地位在VB、C、ASP和Visual Studio上也处于优势地位有很好的开发者基础。对于在Windows平台做应用的开发者来说.NET是官方主推的技术不得不学类似于苹果可以强推Swift。产品技术能力全面、强大。.NET一发布提供的库和框架就非常完整在支持Web service上比Java更好企业级功能比EJB的设计更好。在Windows平台上的性能远超Java。支持attribute比Java annotation早。在早期就制定了ECMA和ISO国际标准。不过因为Java没有制定标准而是采用JCP社区组织来形成事实标准所以标准也不是必须的。 但.NET整体还是相对Java处于守势未能获得更大成功的原因 绑定Windows虽然也有开源社区做的Mono但一直不成熟受到Windows在Server端失势影响。虽然制定了标准但没有引入有影响力的别的厂商来做企业级和应用服务器生态缺乏Java系的WebShpere、WebLogic和JBoss特别是巨头IBM的WebShpere。没有做好开源没有像Java那样培育出Spring、Struts、Hibernate、MyBatics、MySQL、Tomcat等开源生态。 今天要做软件开发技术的创新要先研究清楚Java和.NET的成功失败经验。