ASP.NET 與 JAVA 的比較 (轉)

bp發表於2007-08-13
ASP.NET 與 JAVA 的比較 (轉)[@more@]
導 讀:提供了 FORM、WEB CONTROL、WEB SERVIEC等等面向WEB 應用的改進; 則以其出色的跨平臺特性,良好的面向屬性獲得了今天WEB開發的主流地位。這二者誰將在明天的競爭中獲勝?

一 、先介紹一下ASP+


 ASP+ 是.NET 的一部分,作為戰略產品,為ASP+ 設計了這樣一些策略:易於寫出結構清晰的程式碼,程式碼易於重用和共享,可用編譯類語言編寫 等等,目的是讓員更容易的開發出WEB 應用,滿足計算向WEB 轉移的戰略方向的需要。 

 ASP+ Beta1 已經於2000 年7 月開始測試,下面察看一下它的一些特性。

 支援編譯類語言及RunTime 支援比如VB,VC++,  , 

 比script 語言,編譯類語言執行速度快,更適合編寫大型應用。MicroSoft.NET 支援多語言混合。Page 在首次裝入時編譯,使得程式碼可以在runtime 處理,這一點像.程式碼執行在virtual 環境中,類似java 的virtual machine。

 WEB Form 

 ASP+ WEB Form 提供了像VB Form 一樣的程式設計習慣,可以觸發server 端 events 。Web form 中可以佈置 web control。

 Page Events 

 ASP+ 的設計是  oriented ,Page object 是最頂端的 object ,Web control ,application 和自定義的page ,都從page object 繼承下來。Page object 有 OnLoad 等事件。

 Web Controls 

 ASP+ 將提供5 類Web controls:

 與 HTML 中的 FORM 元素對應的Control,比如:button ,text 

 list 類 control ,比如 Repeater ,DataList ,DataGrid ,

 Rich Control

 Validation Controls

 Mobile Controls ,為 裝置提供 WML 。

 開發 Web Services 

 Web Services 允許向 Web 輸出 ,輸出方式是 URIs ,之後返回 .

 比如:

 

 using system.web.services;

 public class Ship{

 

 public string OrderStatus ( string OrderNumber ){

 //程式碼

 }

 }

 呼叫: 

 呼叫可以用 HTTP-GET ,HTTP-POST ,HTTP-P.

 Web Service 為 WEB 系統整合,為基於 WEB 的分散式計算提供了良好的。 

 Caching 改進

 ASP+ 提供cache  ,程式設計師可以控制Cache 的使用,在某些情況下,可以編寫更好的應用。

 Deging 和 Tracing 

 ASP+ 內建的 Debugger 支援多語言混合程式設計,可以像 VB 中一樣程式。增加了Trace 和 profiler 的功能。

 分離程式碼與HTML 模版 

 程式碼可以放在 class 模組中。

 分離的好處 ,便於程式設計師與頁面製作人員獨立工作,也便於程式碼共享。

 庫 

 模組化的支援,是編寫大型應用程式的必備,ASP+ 的模組化支援非常好。提供了常用庫,比如 SMTP Send ,提供了結構化的程式碼組織方式 ,比如

  ,引用了util 包。

 和實施 

 ASP+ 的配置資訊放在 XML 中,而不是登錄檔中, 實施ASP+ 應用,只要把程式複製到一個目錄,不需要註冊任何物件。因為註冊有時候需要原有的服務STOP ,等一系列問題。這真是非常好。

 ASP+ 支援編譯過的程式的執行,可以保護技術秘密。

 縱觀以上特性的介紹,ASP+ 改進了很多ASP 的問題,對於熟悉VB 、VC 或其他傳統開發平臺的程式設計師,ASP+ 提供了一樣好的開發Web 應用的平臺,可以說ASP 是基於Script 的,而ASP+ 基於完整的OO 思想。ASP+ 對於WEB Service 的支援,使得Web 應用的整合非常方便。

二、與JAVA 的比較


 JAVA 這種語言,偶然成為了當前Web 計算的主要語言,獲得了廣泛的業界支援,它portable ,良好的oo 屬性 ,是互連網計算的強大的粘合劑。下面從兩個方面觀察一下java與微軟的solution 的差別。

 業界支援 

 IBM 的“e-business application “架構在Java,xml, ,IBM 有VisuageAge, 作為web 開發的工具。Ibm 認為選擇application framework 有幾個原則:不依賴於特定的平臺,建立在工業標準之上,大部分計算放在server 端,scalable 等。 

 由於,, 等業界廠商的廣泛支援,java 可以說是web 計算事實上的工業標準。Java 的package 也豐富起來,支援各種應用的開發。

 開發模型 

 國內的廠商在向Web 計算遷移的時候,大多選擇了java ,比如核心證券交易系統,用友財務系統,南北財務軟體。核心軟體和南北財務系統,用applet 開發客戶端介面,使用起來與傳統的軟體沒有什麼差別。 

 可以說,目前採用 html 開發介面複雜的應用尚不是很合適,這是選擇java applet 的理由。那麼,ASP+ 出來之後,開發複雜的基於server 的應用要方便的多。

 目前採用applet 的應用,把很多計算邏輯方在客戶端,這種方式尚不是未來的計算集中在server 端的方式。也許,java 也會推出新的package 支援這種應用。

 在server 端,java 採用 、java bean ,ASP 採用Script、com ,目前的計算相類似。

 ASP+ 中提到的web service 整合的方式,目前微軟力推SOAP、 UDDI 。但是,這些是建議成為 標準,不依賴於特定的平臺。

 從以上關於業界支援、開發模型的觀察,可以說java 目前更適合廣泛的web 計算。同時,我們期待ASP+ 的到來,期待更好的WEB 計算模型的到來。 

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10790663/viewspace-954731/,如需轉載,請註明出處,否則將追究法律責任。

相關文章