比較這兩種最流行的構(gòu)建 web 應(yīng)用程序的方法的優(yōu)缺點(diǎn)
如今當(dāng)提到 Web 開發(fā)時,您有許多選擇。這些方法中許多都涉及到預(yù)處理 — 即,利用特定的標(biāo)記將代碼嵌入到 HTML 頁面中,這些標(biāo)記告訴預(yù)處理器,它們包含代碼,并且應(yīng)對它們作出處理。與 CGI 非常相似,這些代碼在服務(wù)器上運(yùn)行,并返回一些內(nèi)容,這些內(nèi)容表現(xiàn)為發(fā)回給瀏覽器的結(jié)果 HTML 頁面的部分外觀。開放源代碼腳本語言 PHP 和 Microsoft 的 ASP.NET 框架中的語言都屬于這種類型;JavaServer Pages (JSP) 和 Perl/Mason 也以這種方式運(yùn)行。
在本文中,我將重點(diǎn)講述 PHP — Oracle 已選擇合并到其產(chǎn)品中的技術(shù) — 和 ASP.NET。我將概述兩者的各種優(yōu)勢和弱點(diǎn),并著重討論那些將幫助您決定開發(fā)項(xiàng)目應(yīng)選擇哪種技術(shù)的因素。有很多因素需要考慮,不同的項(xiàng)目可能訴諸于不同的技術(shù)?傊,您將看到在價格、速度和效率、安全性、跨平臺支持等方面的逐項(xiàng)比較,以及開放源代碼解決方案的優(yōu)勢。
什么是 ASP.NET?
ASP 最新的版本 ASP.NET 并不完全與 ASP 早期的版本后向兼容,因?yàn)樵撥浖M(jìn)行了完全重寫。早期的 ASP 技術(shù)實(shí)際上與 PHP 的共同之處比與 ASP.NET 的共同之處多得多,ASP.NET 是用于構(gòu)建 Web 應(yīng)用程序的一個完整的框架。這個模型的主要特性之一是選擇編程語言的靈活性。ASP.NET 可以使用腳本語言(如 VBScript、JScript、Perlscript 和 Python)以及編譯語言(如 VB、C#、C、Cobol、Smalltalk 和 Lisp)。新框架使用通用語言運(yùn)行環(huán)境 (CLR);先將您語言的源代碼編譯成 Microsoft 中間語言代碼,然后 CLR 執(zhí)行這些代碼。
這個框架還提供真正的面向?qū)ο缶幊?(OOP),并支持真正的繼承、多態(tài)和封裝。.NET 類庫根據(jù)特定的任務(wù)(例如,使用 XML 或圖像處理)組織成可繼承的類。
除了編程語言和方法之外,數(shù)據(jù)庫訪問也是要著重關(guān)心的一個因素。當(dāng)您用 ASP.NET 編程時,可以用 ODBC 來集成數(shù)據(jù)庫;ODBC 提供了一組一致的調(diào)用函數(shù)來訪問您的目標(biāo)數(shù)據(jù)庫。
優(yōu)勢和弱點(diǎn)
ASP.NET 的優(yōu)勢很明顯在于它簡潔的設(shè)計和實(shí)施。這是面向?qū)ο蟮木幊倘藛T的夢想:語言靈活,并支持復(fù)雜的面向?qū)ο筇匦浴T谶@種意義下,它真正能夠與編程人員現(xiàn)有的技能進(jìn)行互操作。
ASP.NET 的另一個優(yōu)勢是其開發(fā)環(huán)境。例如,開發(fā)人員可以使用 WebMatrix(一個社區(qū)支持的工具)、Visual Studio .NET 或各種 Borland 工具(如 Delphi 和 C++ Builder)。例如,Visual Studio 允許設(shè)置斷點(diǎn)、跟蹤代碼段和查看調(diào)用堆棧?偠灾,它是一個復(fù)雜的調(diào)試環(huán)境。許多其他第三方的 ASP.NET IDE 解決方案也將必然出現(xiàn)。
但您得到了強(qiáng)健性,就將以損失效率為代價。ASP.NET 在內(nèi)存使用和執(zhí)行時間方面耗費(fèi)非常大,這大部分歸因于較長的代碼路徑。對基于 Web 的應(yīng)用程序,這些局限可能是一個嚴(yán)重的問題,因?yàn)樵?Web 上,您的應(yīng)用程序可能擴(kuò)展為每秒成千上萬的用戶。內(nèi)存使用率還可能成為 Web 服務(wù)器上的一個問題。
出處:oracle.com
責(zé)任編輯:bluehearts
上一頁 下一頁 ASP.NET 與 PHP 正面交鋒 [2]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|