ASP.NET编程:举一反三:我看微软.NET各子手艺范畴之使用远景仓酷云
c语言的编译器,几乎是所有新平台都有的。因此从这点上看,c语言的程序,比其他任何语言更加容易跨平台。从2002年公布.NET1.0,历经8年开展,.NET开展到了4.0,已成为一个复杂而庞大的软件开辟与运转平台,其架构日趋庞大,其使用范畴也在不休地扩大,包涵了“一堆”的子手艺范畴。在.NET4.0行将公布之际,回忆一下已公布的各项.NET手艺,看看哪些手艺用得很火,哪些被打进冷宫,再猜猜.NET4.0中大概会有哪些手艺会失掉“喜爱”,是件成心思的事。1桌面使用程序开辟手艺(WindowsForm和WPF)。
在.NET桌面使用程序开辟范畴,WindowsForm是“先辈”,比拟之前的老祖宗MFC,其开辟效力高很多,即便比一直以“高效力”著称的VB、Delphi之类,也不减色,因而在很长的一段工夫内,WindowsForm成为.NET桌面范畴的支流手艺,并且有一多量形形色色的第3方控件,其功效可谓包罗万象,利用便利。
WindowsForm的成绩是“千篇一律”,要想做出“不同凡响”的界面,真得费很多力量。
.NET3.0中呈现的WPF,在界面计划和用户体验上比WindowsForm要强很多,好比其壮大的数据绑定、动画、依附属性和路由事务机制,都十分棒。但是,WPF最头痛的是功能,别的,在必要疾速开辟原型的场景,WPF临时还比不上WindowsForm便利。
.NET4.0中,WPF在功能上有较年夜的改善,这点在利用WPF开辟的VisualStudio2010上表现极其分明,VisualStudio2010CTP和BETA1只能用“惨绝人寰”一词来描述,BETA2就有一本性能上的飞越,但仍是不是地玩点“溃散”、“挂逝世”的幻术,而以后的RC版本,我以为其利用体验已超出了VS2008。
我以为,WPF代替WindowsForm是一定的。
2数据存取手艺
(1)ADO.NET。这不必多说了,在实践开辟顶用得太多了,现实证实了它的乐成。
(2)LINQ。
这也是个很年夜的范畴,内里最牛的是LINQtoObject,我一用就喜好上了。
LINQtoXML也很好,它把程序员从代码中束缚出来,能够完成年夜部分XML存取功效,让人人很乐意无机会能和本来.NET所供应的“一堆”XML相干类说声“不见”。
LINQtoDataSet。作为一个ADO.NET手艺的增补,这是一个举足轻重的小卒子,在开辟中能够用,也能够间接疏忽。
LINQtoSQL和ADO.NET实体框架。这两个手艺功效堆叠,基础上让人嫌疑个中有一个是否是“没有存在的需要”,以是曾有“LINQtoSQL已逝世”的传言。固然,厥后微软公司亮相说仍旧会持续开辟LINQtoSQL的后续版本,争辩停息。
但我团体以为,在实践开辟中仍是利用ADO.NET实体框架更符合。LINQtoSQL有的功效它都有,并且用起来更加天真,可贵的是它的利用其实不比LINQtoSQL庞大几。
ADO.NET实体框架还延长到了别的的手艺范畴,是一项主要的基本数据存取手艺。
因而,ADO.NET实体框架vsLINQtoSQL,前者胜出。
(3)WCFDataService。
这是一项十分值得存眷的手艺,本来叫ADO.NETDataService,它表现了“数据是一种服务”的头脑,让数据能够经由过程HTTP哀求间接猎取,它计划了一套URI形式,能够完成投影、选择、分页等功效,用起来便利天真。
我以为在SOA年夜行于世的散布式体系时期,WCFDataService应当会失掉使用。
但这一手艺成绩在于功能。因为数据必要走互联网,以是假如网速很慢的话,基于此手艺搭建的使用程序其用户体验将“惨绝人寰”。并且,互联网服务平安成绩十分关头,包管基于WCFDataService手艺搭建的使用程序数据平安,想势必成为开辟者最费头脑的中央。
(4)WCFRIAService。
这个手艺与Silverlight密不成分。我还没有体系地懂得这一手艺范畴,不予评说。
3Web开辟手艺
这一范畴,没说的,ASP.NET中的WebForm是当之无愧的支流。经由多年的开展,WebForm已高度成熟。VS2008中到场的AJAX系列组件,如ScriptManger、UpdataPanel之类,再共同一堆的使用了AJAX手艺的控件,让WebForm更是为虎傅翼。基于这类成熟手艺开辟Web网站,不论是用户仍是开辟企业,都对照宁神。
从.NET3.5SP1入手下手,Web范畴多了些新工具。
(1)ASP.NETMVC。MVC这一计划形式已有多年的汗青,也有良多的成熟的框架,但在.NET“官方”平台上,倒是个新到场的“成员”,其实不算成熟,我以为其使用远景要看看再说。我不晓得业界是不是已有基于此手艺开辟的实践项目,有这方面项目履历的伴侣,无妨谈谈本人的意见。
(2)ASP.NETDynamicData。这是一个看上往很酷的手艺。当利用它来创立网站时,VisualStudio2010会帮你创立一个DynamicData文件夹,内里放了数十个模板文件,构建了一个网站的“脚手架”,几近不必编码,就能够天生一个全功效的“CRUD”数据驱动网站。
它的计划头脑很好:底层利用ADO.NET实体框架或LINQtoSQL机关数据模子,经由过程提取数据模子中的元数据,静态选择符合的模板天生网页。这就制止了实在项目中不能不为每一个数据存取义务计划分歧网页的包袱,并且这一手艺供应了良多的体例往同意你定制网站。
我现在刚一打仗时,也很镇静,这是个好工具啊!但厥后我改动了意见,这一手艺的成绩在于它过于“主动化”了,并且必要包涵数十个文件,让其与现有的ASP.NET网站集成相称方便,设置起来贫苦。
我团体以为,在现有.NETWeb开辟手艺使用近况之下,任何一个与现有的ASP.NET网站(以WebForm+AJAX为主体手艺)集成贫苦的手艺,都很难有“优美”的出路。很不幸,ASP.NETDynamicData是如许的例子,ASP.NETMVC也有一样的成绩,但没有ASP.NETDynamicData严峻,并且ASP.NETMVC架构明晰,仍是对照易于保护。
(3)Silverlight。这实践上是另外一种Web使用架构的代表手艺,其存身点在于充实使用客户真个盘算资本,能够年夜年夜地下降对服务真个依附,并且易于机关优秀的用户体验,我团体以为其开展年夜有可不雅。是一个必要重点存眷的手艺。
4插件手艺
.NET4.0引进了一个“ManagedExtensibilityFramework(MEF)”,我在此慎重保举!
MEF经由过程复杂地给代码附加“”和“”标志,我们就能够明晰地标明组件之间的“服务消耗”与“服务供应”干系,MEF在底层利用反射静态地完成组件辨认、拆卸事情。从而使得开辟基于插件架构的使用体系变得复杂。够酷的手艺!
别的,请健忘.NET3.5所引进的“MAF(ManagedAdd-inFramework)”吧,MAF引进了一个庞大的宿主与插件间的通信管道架构,仅仅是创立一个最复杂的SayHello宿主和插件,你也必需创立多达8个项目!
最要命的是MAF计划者“想”得过量,计划了庞大的接口和类承继系统,并且选择让插件运转于与宿主分歧的使用程序域中,这就使得插件与宿主之间的通信变得庞大。团体以为,这些其实不是一个好的计划决议。
我估量,MAF会“无疾而终”。
5WCF和.NETRemoting
实在这是一个不必要会商的成绩,有了WCF,我还要Remoting干甚么?由于前者包涵后者的一切功效,并且还供应了更多。
WCF的成绩是微软妄图用一个框架办理一切的成绩,因而其架构十分庞大,任何一位想探求其底层运转机理的人,都必需要有充足的心思筹办和耐烦。
我们能够看到WCF向别的范畴的浸透,好比后面的WCFDataService,另有WorkflowService(将事情流公布为WCF服务),看来微软是将“宝”押在WCF上了,但凡带有“服务”字样的,微软都有把它改革为WCF服务的感动。
因而,WCF是不能不进修和把握的手艺。
6多线程与并行盘算
关于并行盘算,我已写过很多文章了,空话少说,在多核时期,我以为.NET并行盘算中的义务并行库和并行LINQ,会失掉较多的使用。
7事情流
这个手艺,我看是微软本人把事弄砸了。事情流从.NET3.0入手下手引进,到.NET3.5已对照完美了,也有了一些实践的使用。但.NET4.0就来了个重整旗鼓,WF4与WF3.5比拟,几乎是另外一个产物,并且WF4的BETA1和BETA2比拟,竟然在对象模子上也有年夜的修改,RC版本中的WF4我还没看,不知又有甚么变化,应当不会再变了吧?!
关于如许一个“变色龙”,谁用谁胆小。
8函数式编程言语F#
函数式编程很风趣,VS2010中F#成为.NET正式成员。F#中的很多特征,好比不成变动(immutable)的数据布局,声明性编程作风,壮大的范例揣度,一切工具都是表达式等,都让习气了面向对象作风的程序员感应别致。
我团体以为,F#假如用于开辟多线程并行盘算程序,会有较高的开辟效力,而函数式编程的特性,也会使它在迷信盘算中有较好的体现。但用于开辟CRUD之类的MIS体系,最少今朝仍是免谈吧。
9云盘算
VisualStudio2010集成了云盘算开辟的项目模板。
云盘算是一个说不完的话题。微软在这方面投进伟大。它经心打造了Azure这个云盘算平台。懂得Azure的最好办法是看“DAVIDCHAPPELL”的文章《INTRODUCINGWINDOWSAZURE》,这篇文章能够在微软网站上找到。
固然我团体承认云盘算是一个年夜的开展偏向,但关于中国,这个手艺是一道远方的亮丽光景,仅供抚玩。由于国际还没有一个成熟的云盘算平台,而微软的Azure今朝又没有开放中国年夜陆的云盘算购置服务,加上中国又有特别的国情,以是统统都只是扑朔迷离。
云盘算真正使用于国际,诸位请持续守候吧。
本文来自:http://blog.csdn.net/bitfan/archive/2010/03/03/5341985.aspx
它有很多缺点的,有兴趣可以到网上去搜索一下。于是微软有发明了“下一代”C++:C++/CLI语言,这个可以解决在.NETFramework中,托管C++产生的问题。在《程序员》杂志上,lippman和李建中合作连载介绍了C++/CLI语言。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。 Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。 众所周知,Windows以易用而出名,也因此占据不少的服务器市场。 比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。 这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
页:
[1]