top
Loading...
ASP+和JSP大比拚
因為我同時是ASP和JSP的程序員,所以正開始寫一系列的文章來比較兩者的差別,當我寫到一半時,ASP+被宣布了,所以我在重新開始審視這個問題。
我正在做一個JSP項目和一個ASP項目,后者十分有趣,因為它開始是采用ASP3.0,但當項目結束后我會將轉換為ASP+。那時我將可以對ASP+有更近的考察,并提供更好的ASP+和JSP的比較。本文提供了我對ASP+,以及它對于像我這樣的一個普通開發人員會產生的影響做一個初步觀察。

通過最初步的比較,我發現:
1) 面向對象性:
ASP+將C#作為一種面向對象語言,在很多方面來看,C#將成為微軟的與Java相似的語言。
C#另一個有趣的地方是所有對象都自動變成為COM對象。如果C#能取得很大的市場份額,那么它將給ASP+帶來類似于Java的功能,并且具備更快的性能,因為它可以和Windows環境緊密集成。
C# 是ASP+開發中一個最重要的功能,微軟會將C#發展成為Java的強勁對手。這也是他們.Net框架的一個重要組成部分。我認為C#是微軟在編程市場上擊敗對手的主要工具。我期待著微軟能在這個產品后面傾注全力,這樣,C#可以成為許多程序員的又一種選擇。C#產生的結果是將進一步加固微軟和Sun產品的戰線。這對用戶是有利的,他們可以選擇兩者之一來開發新的應用。

2) 數據庫連接:
ASP另一個亮點是它使用ADO對象,ODBC, OLE-DB和事務處理管理器。因此ASP Web數據庫應用開發特別簡單。ASP+發展了更多的功能,因為有了ADO+!ADO+帶來了更強大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落后,當新版本ASP+/ADO+出現后這樣的差別會更明顯。我個人希望SUN應盡快能花大力氣來追趕ASP+/ADO+的組合。

3)大型站點應用:
ASP+將對大型站點(web farms)有更好的支持。事實上,微軟在這方面付出了巨大的努力。 ASP+可以讓你考慮到多服務器(multiple servers)的場合,當你需要更強大的功能時,僅僅只需要增加一臺服務器。整個.Net框架已經充分地提供了這個方法。ASP+提供了外部會話狀態(external session state)來提供內置式web farm的支持。另外,由于請求的各組件相互間經過了充分的優化,所以速度很快。
于是ASP+現在可以在大型項目方面與JSP一樣具有等同的能力。 而ASP+還有價格方面的優勢,因為所有的組件將是服務器操作系統的一部分。對于JSP,你需要購買昂貴的應用服務器群來達到同樣的目的。

4) ASP+還提供更多的其它方面的新特性。
例如:
*內置的對象緩存和頁面結果緩存。
*內置的XML支持,可用于XML數據集的簡單處理。
*服務器控制提供了更充分的交互式控制。
ASP+確實對ASP進行了較大的發展。

在我審視完ASP+后,我的初步結論是:我未來項目主要還是要采用基于Java/JSP的技術。這有以下三個理由:
1) 要真正發揮ASP+潛力,你要使用C#或vb.net。這兩種語言將成為ASP+標準的核心的腳本語言。 這對ASP的未來發展很有好處。我向來不喜歡用當前的Visual Basic來制作com對象。新的ASP+核心腳本語言更能發揮ASP+的價值。
顯然,所有這些ASP+的新進展促使我對今后語言選擇做一個決定,它將占據我未來的無數時間和努力。
當Java發展起來時我學習了Java,那時我預感到這將是圍繞我未來程序生涯的語言。于是,JSP成為我在web開發中的第一選擇。當我目前的ASP項目完成后,我將重新考慮C#是否符合我的編程工具體系。
現在我已經是一個JSP fan,除非微軟能夠將我整個扭轉過去,我猜想我正面臨ASP+的巨大挑戰。

2) ASP+依然完全鎖定在微軟的操作系統中。JSP比ASP+擁有更大的范圍,它在別的服務器配置中也有很好的伸縮性。雖然Windows 2000 的優越性日益顯露,這對開發人員不構成問題。

3) 我并不能確信是否我能認同ASP+結構的各種方面,這需要更深入的分析,所以,我很猶豫。如果我使用了1-2個月,也許會改變看法。總的來說,這需要在一個很高的層次來看待這個beta產品。
作為一個ASP開發人員,ASP+讓我停下來反思。未來8個月的ASP新項目將變得很困難。為什么?因為 ASP+和C# 帶來了一個難題,它們要到2001年才正式提供。而很多性能方面的要求現在就需要確定。由于ASP+只是一個beta軟件,所以現在我的第一個選擇反而很簡單了。現在的項目就采用ASP3.0。我認為各種beta版的語言都不太可信。

但我不能忽視ASP+,因為它很快就要推出,并代表了ASP的未來。ASP項目的管理者還需要考慮到未來的可平滑移植性及付出的時間代價等。另一個結果則是,這似的在近期使用PHP和JSP來代替ASP變得更可靠一些。
總的來說,
1) 如果使用ASP+,你將花費額外的時間學一些新的工具。
2) 新的工具有待于版本化,所以為什么不先關注于目前存在的東西?
3) ASP+將來會擁有的特性JSP已經擁有。
4) ASP+將你鎖定到Microsoft的體系中。(我讀了一個關于Microsoft將.Net移植到Linux的故事,但我覺得不太可信。)
最后,我預測會有很多人加入到PHP和JSP的行列。可是,仍然會有一部分人會受到ASP+給業界帶來的激動所感染。(我從沒看到一個beta編程產品會帶來如此的震撼。)


以下是一篇相關的討論.net的文章。

ASP+以自由軟件作為開始,現在已經漸漸成為Microsoft的.Net框架的基石之一。
Sun應該從中得到教訓。特別注意的是,你需要許可證才能升級到ASP+,因為它和太多的產品集成在一起了。.Net框架太大了。在假定某個產品可以成為真正的產品之前,我通常等待它的第一個service pack。所以,即使ASP+已經在2001第一季度被版本化,我仍然要等到2001第二季度。
當然,因為ASP+ 已經產生了如此的激動人心,一旦推出,很多商店都會馬上提供ASP+。
事實上我早已經使用beta版ASP+! 它使用 .aspx 后綴,這使我我感覺Microsoft會在近期推出第一個ASP+的service pack。


下一年我們將看到在這個巨大的市場上Sun和Microsoft如何展開決斗,而程序員門又將做什么樣的選擇呢?

北斗有巢氏 有巢氏北斗