明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP+與JSP之間的抉擇

[摘要]由于我同時(shí)是ASP和JSP的程序員,所以正開(kāi)始寫一系列的文章來(lái)比較兩者的差別,當(dāng)我寫到一半時(shí),ASP+被宣布了,所以我不得不重新開(kāi)始審視這個(gè)問(wèn)題。我正在同時(shí)做一個(gè)JSP項(xiàng)目和一個(gè)ASP項(xiàng)目,后者十分有趣,因?yàn)樗_(kāi)始是采用ASP3.0,但當(dāng)項(xiàng)目結(jié)束后我將會(huì)轉(zhuǎn)換為ASP+。到那時(shí)我將可以對(duì)ASP+有更...
由于我同時(shí)是ASP和JSP的程序員,所以正開(kāi)始寫一系列的文章來(lái)比較兩者的差別,當(dāng)我寫到一半時(shí),ASP+被宣布了,所以我不得不重新開(kāi)始審視這個(gè)問(wèn)題。我正在同時(shí)做一個(gè)JSP項(xiàng)目和一個(gè)ASP項(xiàng)目,后者十分有趣,因?yàn)樗_(kāi)始是采用ASP3.0,但當(dāng)項(xiàng)目結(jié)束后我將會(huì)轉(zhuǎn)換為ASP+。到那時(shí)我將可以對(duì)ASP+有更近的考察,并提供更好的ASP+和JSP的比較。本文是我目前對(duì)ASP+的一些認(rèn)識(shí)和看法,并分析了它對(duì)于象我這樣的普通開(kāi)發(fā)人員可能會(huì)產(chǎn)生的影響! 



  通過(guò)最初步的比較,我發(fā)現(xiàn):



  1) 面向?qū)ο笮?



  ASP+將C#作為一種面向?qū)ο笳Z(yǔ)言,在很多方面來(lái)看,C#將成為微軟的與Java相似的語(yǔ)言。



  C#另一個(gè)有趣的地方是所有對(duì)象都自動(dòng)變成為COM對(duì)象。如果C#能取得很大的市場(chǎng)份額,那么它將給ASP+帶來(lái)類似于Java的功能,并且具備更快的性能,因?yàn)樗梢院蚖indows環(huán)境緊密集成。



  C#是ASP+開(kāi)發(fā)中一個(gè)最重要的功能,微軟會(huì)將C#發(fā)展成為Java的強(qiáng)勁對(duì)手。這也是微軟.Net框架的一個(gè)重要組成部分。我認(rèn)為C#是微軟在編程市場(chǎng)上擊敗對(duì)手的主要工具。我期待著微軟能在這個(gè)產(chǎn)品后面傾注全力,這樣,C#可以成為許多程序員的又一種選擇。C#的誕生無(wú)疑將進(jìn)一步加劇微軟和Sun產(chǎn)品的戰(zhàn)線,但這對(duì)用戶是有利的,他們可以選擇兩者之一來(lái)開(kāi)發(fā)新的應(yīng)用。  



  2) 數(shù)據(jù)庫(kù)連接:



  ASP另一個(gè)亮點(diǎn)是它使用ADO對(duì)象、ODBC、OLE-DB和事務(wù)處理管理器。因此ASP Web數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)特別簡(jiǎn)單。ASP+發(fā)展了更多的功能,因?yàn)橛辛薃DO+!ADO+帶來(lái)了更強(qiáng)大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落后,當(dāng)新版本ASP+/ADO+出現(xiàn)后這樣的差別會(huì)更明顯。所以我個(gè)人希望SUN應(yīng)盡快能花大力氣來(lái)追趕ASP+/ADO+的組合。



  3)大型站點(diǎn)應(yīng)用:



  ASP+將對(duì)大型站點(diǎn)(web farms)有更好的支持。事實(shí)上,微軟已經(jīng)在這方面付出了巨大的努力。 ASP+可以讓你考慮到多服務(wù)器(multiple servers)的場(chǎng)合,當(dāng)你需要更強(qiáng)大的功能時(shí),僅僅只需要增加一臺(tái)服務(wù)器。整個(gè).Net框架已經(jīng)充分地提供了這個(gè)方法。ASP+提供了外部會(huì)話狀態(tài)(external session state)來(lái)提供內(nèi)置式web farm的支持。另外,由于請(qǐng)求的各組件相互間經(jīng)過(guò)了充分的優(yōu)化,所以速度很快。



  于是ASP+現(xiàn)在可以在大型項(xiàng)目方面與JSP一樣具有等同的能力。而ASP+還有價(jià)格方面的優(yōu)勢(shì),因?yàn)樗械慕M件將是服務(wù)器操作系統(tǒng)的一部分。對(duì)于JSP,你需要購(gòu)買昂貴的應(yīng)用服務(wù)器群來(lái)達(dá)到同樣的目的。  



  4) ASP+還提供更多的其它方面的新特性,例如:



  *內(nèi)置的對(duì)象緩存和頁(yè)面結(jié)果緩存。



  *內(nèi)置的XML支持,可用于XML數(shù)據(jù)集的簡(jiǎn)單處理。



  *服務(wù)器控制提供了更充分的交互式控制。



  由此可見(jiàn),ASP+確實(shí)對(duì)ASP進(jìn)行了較大的發(fā)展。  



  在我審視完ASP+后,我的初步結(jié)論是:我未來(lái)項(xiàng)目主要還是要采用基于Java/JSP的技術(shù)。這有以下三個(gè)理由:



  1) 要真正發(fā)揮ASP+潛力,你要使用C#或vb.net。這兩種語(yǔ)言將成為ASP+標(biāo)準(zhǔn)的核心的腳本語(yǔ)言。這對(duì)ASP的未來(lái)發(fā)展很有好處。而我向來(lái)不喜歡用當(dāng)前的Visual Basic來(lái)制作com對(duì)象。新的ASP+核心腳本語(yǔ)言更能發(fā)揮ASP+的價(jià)值。



  顯然,所有這些ASP+的新進(jìn)展促使我對(duì)今后語(yǔ)言選擇做一個(gè)決定,它將占據(jù)我未來(lái)的無(wú)數(shù)時(shí)間和努力。



  回想起來(lái),當(dāng)Java開(kāi)始發(fā)展起來(lái)時(shí)我正好學(xué)習(xí)了Java,那時(shí)我預(yù)感到這將是圍繞我未來(lái)程序生涯的語(yǔ)言。于是,JSP理所當(dāng)然地成為了我在web開(kāi)發(fā)中的第一選擇。



  現(xiàn)在我已經(jīng)是一個(gè)JSP fan,除非微軟能夠?qū)⑽艺麄(gè)扭轉(zhuǎn)過(guò)去,我感覺(jué)到自己正面臨ASP+的巨大挑戰(zhàn)。  



  2) ASP+依然完全鎖定在微軟的操作系統(tǒng)中。JSP比ASP+擁有更大的范圍,它在別的服務(wù)器配置中也有很好的伸縮性。雖然Windows 2000 的優(yōu)越性日益顯露,但這對(duì)開(kāi)發(fā)人員不構(gòu)成問(wèn)題! 



  3) 我并不能確信是否我能認(rèn)同ASP+結(jié)構(gòu)的各種方面,這需要更深入的分析,所以,我很猶豫。也許直到我使用了1-2個(gè)月后才會(huì)改變看法?偟膩(lái)說(shuō),這需要在一個(gè)很高的層次來(lái)看待這個(gè)beta產(chǎn)品。



  而作為一個(gè)ASP開(kāi)發(fā)人員,ASP+也讓我要停下來(lái)反思一下。未來(lái)8個(gè)月的ASP新項(xiàng)目將變得很困難。為什么?因?yàn)?ASP+和C# 帶來(lái)了一個(gè)難題,它們要到2001年才正式提供。而很多性能方面的要求現(xiàn)在就需要確定。由于ASP+只是一個(gè)beta軟件,所以現(xiàn)在我的第一個(gè)選擇反而很簡(jiǎn)單了,F(xiàn)在的項(xiàng)目就采用ASP3.0。我認(rèn)為各種beta版的語(yǔ)言都不太可信。  



  但我不能忽視ASP+,因?yàn)樗芸炀鸵瞥,并代表了ASP的未來(lái)。ASP項(xiàng)目的管理者還需要考慮到未來(lái)的可平滑移植性及付出的時(shí)間代價(jià)等。另一個(gè)結(jié)果則是,這使得在近期使用PHP和JSP來(lái)代替ASP變得更可靠一些。



  總的來(lái)說(shuō),



  1) 如果使用ASP+,你將花費(fèi)額外的時(shí)間學(xué)一些新的工具。



  2) 新的工具有待于版本化,所以為什么不先關(guān)注于目前存在的東西?



  3) ASP+將來(lái)會(huì)擁有的特性JSP已經(jīng)擁有。



  4) ASP+將你鎖定到純Microsoft的體系中。



  最后,我預(yù)測(cè)會(huì)有很多人加入到PHP和JSP的行列?墒,仍然會(huì)有一部分人會(huì)受到ASP+給業(yè)界帶來(lái)的激動(dòng)所感染。我從沒(méi)看到一個(gè)beta編程產(chǎn)品會(huì)帶來(lái)如此的震撼!  



  同時(shí),我還注意到一篇討論.net的文章中也提到了同樣的問(wèn)題:



  ASP+以自由軟件作為開(kāi)始,現(xiàn)在已經(jīng)漸漸成為Microsoft的.Net框架的基石之一。Sun應(yīng)該從中得到教訓(xùn)。特別注意的是,你需要許可證才能升級(jí)到ASP+,因?yàn)樗吞嗟漠a(chǎn)品集成在一起了。.Net框架太大了。在假定某個(gè)產(chǎn)品可以成為真正的產(chǎn)品之前,我通常等待它的第一個(gè)service pack。所以,即使ASP+已經(jīng)在2001第一季度被版本化,我仍然要等到2001第二季度。



  當(dāng)然,因?yàn)锳SP+ 已經(jīng)產(chǎn)生了如此的激動(dòng)人心,一旦推出,很多商店都會(huì)馬上提供ASP+。



  事實(shí)上我早已經(jīng)使用beta版ASP+! 我發(fā)現(xiàn)它使用 .aspx 后綴,這使我我感覺(jué)Microsoft會(huì)在近期推出第一個(gè)ASP+的service pack。  



  下一年里,我們將看到在這個(gè)巨大的市場(chǎng)上Sun和Microsoft如何展開(kāi)決戰(zhàn),而程序員們又將做出什么樣的選擇呢?


標(biāo)簽:ASP+與JSP之間的抉擇