作出選擇
假定您還沒有決定選用 PHP,我可以斷言 PHP 的優(yōu)勢遠(yuǎn)遠(yuǎn)超過它的弱點(diǎn)。(請參見表 1 中的概要。)這些優(yōu)勢歸結(jié)為價格、速度和效率、安全性、跨平臺適用性和開放源代碼機(jī)遇。它唯一的弱點(diǎn)是缺少一種純粹和完美的 OOP 實現(xiàn),不過,這是一個很小的缺點(diǎn)。雖然語言結(jié)構(gòu)的確有幫助,但好的編碼最終是由實踐、執(zhí)行、好的習(xí)慣和規(guī)范帶來的。
表 1
|
PHP 4 |
PHP 5 |
ASP.NET |
軟件價格 |
免費(fèi) |
免費(fèi) |
免費(fèi) |
平臺價格 |
免費(fèi) |
免費(fèi) |
$$ |
速度 |
強(qiáng) |
強(qiáng) |
弱 |
效率 |
強(qiáng) |
強(qiáng) |
弱 |
安全性 |
強(qiáng) |
強(qiáng) |
強(qiáng) |
平臺 |
強(qiáng) |
強(qiáng) |
弱(僅用于 IIS) |
平臺 |
任意 |
任意 |
win32(僅用于 IIS) |
是否提供源代碼 |
是 |
是 |
否 |
異常 |
否 |
是 |
是 |
OOP |
弱 |
強(qiáng) |
強(qiáng) |
價格。在此,我們不應(yīng)簡單地考慮初始投資 — 對 PHP 而言,這很明顯是免費(fèi)的 — 還應(yīng)考慮實施、維護(hù)和調(diào)試的成本。對 PHP 而言,您可能需要購買 Zend 優(yōu)化引擎。然而,使用 ASP,您將從一開始就進(jìn)行投資,而且您還要為附加的技術(shù) — 例如,執(zhí)行圖形處理的庫 — 支付費(fèi)用。但從長遠(yuǎn)來看,PHP 將不會逼迫您升級并向您收取更多的許可費(fèi)用。接觸過復(fù)雜許可的每一個人都知道,很多公司花費(fèi)大量的時間和金錢僅是為了確保其順應(yīng)性。此外,當(dāng)在獲得錯誤修復(fù)的時間上,您得到的反應(yīng)也有所不同。這當(dāng)然將轉(zhuǎn)化成時間,時間又將轉(zhuǎn)化成總體開發(fā)的成本。
速度和效率。正如我先前提到的,ASP.NET 是一個允許您使用各種編程語言的框架。此外,它據(jù)稱擁有一個極好的面向?qū)ο竽P。盡管所有這些都是真的,但在考慮到速度時,它卻是不利的;谝陨显,在 ASP.NET 中運(yùn)行 ASP 頁面與在 PHP 引擎中運(yùn)行等效的 PHP 頁面相比需要執(zhí)行更多代碼。PHP 是一種“快速粗糙”的解決方案,是為完成工作而設(shè)計的解決方案。雖然自 2.0 和 3.0 版本以來為其增強(qiáng)了許多強(qiáng)健性,但它仍然保留著核心的優(yōu)化的高速方法。
速度不是唯一要考慮的因素。內(nèi)存使用率也很重要。
安全性。ASP.NET 運(yùn)行在 IIS 上,而 IIS 已被攻擊了無數(shù)次 — 正如每隔一周的 IT 新聞報告所證實的。它已經(jīng)成為這樣一種負(fù)擔(dān),實際上,盡管其耗巨資進(jìn)行銷售宣傳,但許多 IT 專業(yè)人員仍然拒絕用 IIS Web 服務(wù)器來開放他們的網(wǎng)絡(luò)。而 PHP 使用 Apache。Apache 擁有已被證明的速度、可靠性和穩(wěn)固的安全性的記錄。請瀏覽 www.securityfocus.com,以獲取更多信息。
跨平臺適用性。ASP.NET 在 IIS 上運(yùn)行,并且開始在 Apache 上運(yùn)行(Apache 能夠在許多平臺上運(yùn)行)。PHP 從一開始就設(shè)計用于和 Apache 一起工作,因此您擁有許多可供選擇的已被證明和可靠的服務(wù)器平臺。
開放源代碼機(jī)遇。開放源代碼并不只靠一些異想天開的編程人員或想要節(jié)省一些許可費(fèi)用的公司來開展。當(dāng)您處理軟件本身的錯誤時,開放源代碼可能成為真正的天賜之物。
在使用 PHP 或 ASP.NET 的情況下,您都會有一個大的用戶群,他們使用軟件并且可能遇到錯誤。使用 ASP.NET,這些錯誤必須通過一個官方程序來通知、修復(fù)、測試,并在一個新的補(bǔ)丁或版本中消除。然而,PHP 補(bǔ)丁可以快速地得到修補(bǔ)并發(fā)布。目睹開放源代碼發(fā)展的任何人都知道,新的版本和補(bǔ)丁通常在幾天內(nèi)而不是像商業(yè)軟件一樣在幾個星期或幾個月內(nèi)推出。如果這不夠快,那么您通?梢宰约簛硇扪a(bǔ)問題(如果必要的話)。
---------------------------------------------------------------
Sean Hull 是他公司 iHeavy Inc. 的高級顧問,該公司位于紐約市。他專注于開放源代碼技術(shù)與商業(yè)技術(shù)(如 Oracle)的集成,并已服務(wù)于多家成功的紐約公司。
本文鏈接:http://www.95time.cn/tech/program/2009/7240.asp
出處:oracle.com
責(zé)任編輯:bluehearts
上一頁 ASP.NET 與 PHP 正面交鋒 [4] 下一頁
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|