首页 > 基础设施 > 正文

Visual Studio2008的未来之路

2008-07-31 10:37:43  来源:IT168

摘要:对于Volta的将来,我们仍拭目以待,但LINQ取得的成功,让我们对Volta的将来也有了更美好的憧憬。这些与VS 2008相关的新的项目和那些商业应用,足够让.NET开发者在接下来的几年中有一阵忙碌
关键词: web Visual

    Visual Studio自发布后已经有6个月了,它对微软早先的.NET开发工具添加了许多新的组件和改进后的特性。而对于.NET语言以及object库所作的主要更改,往往要求通过完整版的升级,一些传统的功能则是通过网络发布的升级包来更新。当前,有相当多的产品、服务、技术、编程语言和平台,在世界各地的微软研究中心开发着,而它们中大部分都依赖着.NET。下面,我将会简要描述一下,当VS 2008发布RTM版后,这半年中体现出的一些与VS 2008和.NET 3.5相关的较为重要的东西。

    微软获得动态生机

    Silverlight是微软目前正在开发的最有趣的项目之一。这个插件能够跨浏览器、跨平台,将基于.NET的富互联网应用程序交付到IE、Firefox和Sarari浏览器中,并且无论你使用的是Windows还是Mac OS X操作系统。Silverlight 1.0主要是通过JavaScript用来交付WPF形式的内容,传输高质量的的音频、动画以及视频内容。当前,Silverlight 1.1的编程模式支持AJAX、VB、C#、LINQ、Managed Jscript和IronPython。Microsoft Silverlight 1.1 Tools Alpha将Silverlight开发工具整合到了VS 2008中。这项工具能够通过IntelliSense进行XAML标记编辑,支持bug排查工具,并且兼容Expression Blend项目,还能够让你用IntelliSense编写VB和C#代码。

    Silverlight 1.1全新升级为Silverlight 2.0后,包括了一些举足轻重的新特性。这个版本不仅加入了升级后的WPF UI框架,一套DataGrid丰富的控件集;联网后支持REST、RSS、POX和W-*协议且能够跨域访问;LINQ to XML及改进的HTML DOM集成。微软还为beta 1发布了GoLive许可,VS 2008 Express也能够使用它的工具集了。

    与此相关,“动态语言时”(DLR)也处于开发当中。DLR将会将一些新的特性添加到“通用语言运行时”(CLR)中包括共享动态类型系统的架构,标准托管模块,并且支持生成快速动态代码。DLR为静态CLR语言赋予了动态能力,让它们能够实现代码共享,同时为它们提供安全模块以及浏览器整合,使之能够运行在客户端上。微软首次发布DLR是在2007年4月的MIX08会议上,并且还发布了它的两个成员——IronPython和Managed JScript,而这二者都作为Silverlight 1.1 alpha的一部分。IronRuby和Dynamic VB之后也将会被添加进去。

    ASP.NET的扩展

    微软有两个重要的项目会对ASP.NET的程序员产生影响:ASP.NET Futures和ASP.NET MVC Framework,它们都合并到了2007年12月发布的ASP.NET 3.5 Extensions中。根据Scott Guthrie所说,这个Extensions包含了ASP.NET MVC Framework、Dynamic Data 支持、AJAX的改进以及Silverlight的增强,而Entity Framework和ADO.NET Data Services也将会随之发布。

    起源于上世纪70年代Smalltalk的MVC架构模式,由于它能够迫使关注点分离,且能够简化单元测试,从而作为Web应用程序的框架,如今变得越来越重要。ASP.NET不希望由于Ruby on Rails、Monorail、SubSonic或者是其它MVC样式的Web开发平台的兴起而黯然失色,目前所以Scott Guthrie在之后的一篇文章中,更加详尽地对ASP.NET MVC Framework作了具体的描述。

    就像DLR团体一样,ASP.NET也在招募着一些社区领袖们。他们于2007年9月雇用著名的博客撰写者Scott Hanselman作为资深程序负责人,而同月,Phil Haack成为MVC的程序负责人。开源SubSonic的开发者Rob Conery在11月中也加入了MVC团队,专职开发SubSonic数据和微软新的MVC Framework工具。Dynamic Data提供了丰富的支撑代码支持,并且能够通过WebForms和MVC自动生成数据密集型的网站。

    PLINQ和Parallel FX

    多核微处理器为执行负责的数据密集型应用程序提供了可能,特别是对于银行业务以及金融相关的行业,当然还有科学研究事业。时钟速度的提升是以电源消耗为代价的,因此,多核处理就需要计算机性能的提高。如今,双核处理器在台式机和笔记本上都已经渐为普遍,甚至四核的处理器如今都已经应用到了一些高端的台式机上。而问题在于,要充分利用多核所带来的提升的性能,编写出多线程的应用程序,就成为了一项艰巨的任务。

    PLINQ为同时处理LINQ查询提供了快捷而简单的方法,对于那些由数据库、XML文档等合并的混合查询,它则特别有效。一些第三方的LINQ工具,例如Oren Novotny的LINQ to Streams,它们能够用于传感网络、网络监视器或者是金融服务,作为同时处理的逻辑候选。PLINQ对独立的LINQ转换到SQL或者是LINQ到Entities查询则没有什么效用,它们是依赖一个数据库作为它们的数据源的。为了能够使用PLINQ,你必须添加一个项目到System.Concurrency.dll传递名称集中,并且让System.Linq.ParallelEnumerable.AsParallel扩展方法输入你的数据源为IParallelEnumerable。

    PLINQ是Parallel FX Library的一部分,并且它包含了VS 2008的TPL和.NET Fx 3.5或者更高版本。根据MSDN杂志的作者Daan Leijen和Judd Hall所说,这些库没有办法使用共享的内存同时准确地处理代码,这仍然是程序员的责任,他们必须要确保某段代码能够同时安全地被执行。

    ADO.NET

    ADO.NET Data Services为相关的数据提供了一个RESTful界面,简化Web客户端数据访问以及更新程序编辑。REST是“Representational State Transfer”的首字母缩写,这种架构类型通常用于URIs描绘局域网或是互联网上的资源,通过HTTP协议无界地传达信息。在这种情况下,REST使用HTTP POST、GET、PUT和DELETE的方式来执行对一个或者是多个资源创建、恢复、更新、或者是删除的操作。

    发布在Astoria在线服务上最初的Astoria,示范了四项面向Web的数据资源。DataServices是通过Entity Framework实例连接到SQL服务器数据库上实现的。Northwind和AdventureWorks则是将传统数据交付为分等级的XML文档,以URI的形式回应查询公式。Encarta服务是用来反馈XML解码的百科全书查询,而TagSpace则发送社会网络书签标签。2007年9月,Astoria团队发布了Astoria Toolkit,它能够用VS 2008 beta 2来创建你自己的局域网数据服务。这套工具还能够连接到你在微软为开发者所建立的网站上创建或托管的DataServices。

    平民化的Volta

    Eric Meijer正在忙于开发LINQ 2.0。这个代号为Volta的项目的目标在于,让普通的程序员能够专注于开发分发版本及移动应用程序的必需方面,例如数据跨越、部署、安全等方面,而不需要陷于一些低级细节的泥沼。Volta是本文中所描述的所有项目中距实现期最远的一个。第一个具体的Volta程序在2007年12月诞生在微软的Live实验室的Volta网站。Meijer说,他们将会尽一切努力将构想写进代码。

    未来的开发

   微软的开发项目向来是恶名昭著,这是因为它们总是由于这样那样的原因,在开发的过程中一些特性被削弱。而最近一次惨重的失败就是WinFS,比起原先的描述,它似乎失去了很多东西。然而,在我看来,上述的这些平台、组件和技术还是可持观望态度,因为Astoria确实在几个月之内,通过一个管理架构,从一个孵化中的项目成为一个产品。而Volta技术也 提前与大家见面。对于Volta的将来,我们仍拭目以待,但LINQ取得的成功,让我们对Volta的将来也有了更美好的憧憬。这些与VS 2008相关的新的项目和那些商业应用,足够让.NET开发者在接下来的几年中有一阵忙碌的了。
 


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。