在網(wǎng)上論壇,總是有成百上千的文章和帖子在討論 PHP 和 ASP.NET,究竟誰(shuí)才是更好的平臺(tái)?不過(guò)很可惜,大部分人的觀點(diǎn)總是帶有偏見(jiàn)的,人們總會(huì)有意無(wú)意地推廣自己喜歡的語(yǔ)言。
此外,如果你注意過(guò)這些爭(zhēng)論帖和文章的日期,就會(huì)發(fā)現(xiàn)大部分的信息都是過(guò)時(shí)的。太可惜了,這些搜索排名考前的文章提供的信息卻不再有效。我們還要考慮到,PHP 和 ASP.NET 都是有周期性的版本升級(jí)和優(yōu)化的。
個(gè)人認(rèn)為,這兩種編程語(yǔ)言都可以在非常龐大的 Web 應(yīng)用和網(wǎng)站上成功使用,因此,它們處理大型網(wǎng)絡(luò)應(yīng)用程序的能力是毋庸置疑的。
內(nèi)容提要:
關(guān)于性能:筆者會(huì)闡述影響性能的種種因素,其結(jié)果會(huì)證明因?yàn)樗俣榷x擇一種編程語(yǔ)言在大多數(shù)情況下是毫無(wú)意義的。 關(guān)于可拓展性:筆者會(huì)闡述影響可拓展性的因素,但實(shí)際上,只要編程方法正確,兩種語(yǔ)言的可拓展性能都十分強(qiáng)大。 關(guān)于成本和技術(shù)支持:由于 PHP 是開(kāi)源的,通常運(yùn)行在 LAMP(即 Linux,Apache,MYSQL 和 PHP)這些開(kāi)源平臺(tái)上。因此,在提供最具成本效益的解決方案和提供大量的資源及支持方面,PHP 是優(yōu)于 ASP.NET 的。 關(guān)于平均部署時(shí)間(即附加成本):使用 ASP.NET 進(jìn)行編碼需要的代碼量是使用 PHP 的兩倍,因此使用 PHP 部署時(shí)間成本更低,速度更快。下面仔細(xì)說(shuō)明每個(gè)方面,并且附上見(jiàn)解。
1.可拓展性和易維護(hù)性
無(wú)論你選擇 PHP 還是 ASP.NET 平臺(tái),對(duì)可拓展性和易維護(hù)性都不會(huì)有任何影響。Web 應(yīng)用程序的可拓展性以及易維護(hù)性主要取決于以下幾個(gè)方面:
2.性能和速度
關(guān)于這點(diǎn),一直以來(lái)都存在許多爭(zhēng)論,且大部分爭(zhēng)論都是不客觀且片面的。這些爭(zhēng)論并沒(méi)有給大家提供真正有效的信息,只是極力吹捧一種語(yǔ)言而貶低另一種。
當(dāng)涉及到測(cè)量 Web 應(yīng)用的速度時(shí),值得考慮的因素非常多。以致于編程語(yǔ)言的運(yùn)行速度,對(duì)當(dāng)下大部分網(wǎng)站的速度和性能影響,其實(shí)是微乎其微的。
然而,如果要用這種語(yǔ)言完成雅虎或者谷歌這類網(wǎng)站每天都在執(zhí)行的龐大任務(wù),那么選擇一種可以快速執(zhí)行大型任務(wù)的編程語(yǔ)言就十分必要了,這也是谷歌和雅虎選擇多種編程語(yǔ)言(大部分都是開(kāi)源的)的原因,每種語(yǔ)言都用來(lái)執(zhí)行最適合它的任務(wù)。
下面,筆者會(huì)分析各種常見(jiàn)和不常見(jiàn)的場(chǎng)景并且解釋哪種任務(wù)更優(yōu)。
第一種常見(jiàn)情況Web 應(yīng)用的一種常見(jiàn)的任務(wù)是對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)和查詢,再把結(jié)果輸出到 Web 服務(wù)器,繼而瀏覽器。因此,在這個(gè)常見(jiàn)場(chǎng)景中,所有的編程語(yǔ)言都要擔(dān)當(dāng)數(shù)據(jù)庫(kù)服務(wù)器和 Web 服務(wù)器之間的通信或者是接口的角色。在此場(chǎng)景中,編程語(yǔ)言的速度對(duì)整個(gè)進(jìn)程幾乎沒(méi)有影響;該進(jìn)程的速度主要取決于數(shù)據(jù)庫(kù)服務(wù)器、Web 服務(wù)器,客戶端的 Web 瀏覽器和帶寬。
若是考慮常用的主流數(shù)據(jù)庫(kù)服務(wù)器,MySQL(現(xiàn)在屬于Oracle),PostgreSQL,MSSQL 和 Oracle 都在努力提升速度和性能。我們看到,每個(gè)版本的數(shù)據(jù)庫(kù)服務(wù)器升級(jí)都會(huì)帶來(lái)新功能和更好的性能,所以筆者認(rèn)為只要數(shù)據(jù)庫(kù)程序員使用優(yōu)化的實(shí)用的 SQL 查詢,并且必要情況下采用如緩存一類的先進(jìn)功能,上述任一款數(shù)據(jù)庫(kù)服務(wù)器都會(huì)有十分優(yōu)越的表現(xiàn)。
新聞熱點(diǎn)
疑難解答
圖片精選