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