如何走出選擇PHP還是ASP.NET的兩難境地?

csdn發表於2013-11-08

  在執行一個網站或Web App的開發任務的時候,即使是最有經驗的程式設計師也會有這樣的困惑——如何選擇程式語言。最常見的程式語言選擇就是在PHP和ASP.NET之間。然而,PHP和ASP.NET都有龐大的使用群體,而且每個程式設計師對PHP和ASP.NET的意見均取決於他們的開發經驗和偏好。所以,這樣的選擇可能會更多依賴於偏好。

  在這裡沒有一個明確的答案,但是本文將幫助你識別PHP和ASP.NET之間的區別,並根據你的喜好來做出選擇,以便在開發專案裡更順利的完成任務。

  平臺和伺服器

  平臺和伺服器絕對是兩者之間的主要的差異所在,這一點是必須要意識到的。PHP是一種跨平臺的伺服器端的嵌入式指令碼語言,完全可以自由的執行在Linux、UNIX、Mac OS或Windows上。另一方面,ASP.NET是一個物件導向,編譯性的語言。你不能讓PHP在一個Windows程式中執行,但是你可以拷貝ASP.NET的程式碼並把它放到WINFORM程式裡面,而不用太大的修改。而且,ASP.NET受限於Windows平臺。因此,它在這裡實際上已經失去了開源的優勢——低成本和高度支援的技術社群。

  速度和效能

  大多數程式設計師認為PHP和ASP.NET之間沒有任何真正意義上的效能和速度之別。不過這是真的,只要你在較小的或更少的複雜專案上使用PHP和ASP.NET,就會發現它們之間的不同之處了。然而,如果是較大的Web App需要執行更多的大型程式的時候,在某種程度上程式語言是會影響速度的。其次,PHP和ASP.NET兩者的選擇還要考慮到任務的多樣性。

  以下舉例說明:

  • 從最簡單的任務開始,App需要訪問資料庫,處理一個查詢任務,並且通過伺服器將處理結果傳輸到瀏覽器上。在這個過程裡程式語言幾乎沒有對速度產生什麼太大的影響/區別,但資料庫伺服器和查詢程式可能會有一定的影響。
  • 在Linux或UNIX上執行一個App能給你帶來節省寶貴資源的優勢,這些資源都是被GUI和額外的程式包消耗的,尤其是執行在Windows上的情況下。
  • 當談到通過訪問檔案系統來找到併傳送圖片到伺服器的時候,PHP的表現效果可能會更好一些,但這都歸功於Linux和ext4檔案系統比Windows OS和NTFS優越。

  開發、安裝和部署

  大多數用過這兩種語言的有經驗的程式設計師都會認同:在ASP.NET基礎上開發專案需要花費更多的時間。原因在於它需要的程式碼行很多,其次在於,每一個程式碼在修飾過後還需要進行編譯。

  在安裝和部署方面,由於ASP.NET在Windows OS裡有很多特性,所以ASP.NET也提供了更多的快取。然而,Linux已經跟上了ASP.NET的最新版本,在可用性方面做出了更合理的簡化。

  可擴充套件性

  從上面的論述看來貌似是在提倡使用PHP,但是在可擴充套件性方面,ASP.NET才是真正的贏家。ASP.NET使用C#,因此可以提供更強大的物件導向的支援。

  最後,選擇PHP還是選擇ASP.NET,這主要取決於你的技能、經驗,當然還要考慮客戶需求。理想情況是掌握這兩種語言,不管使用哪一個都遊刃有餘的話,那是最好不過了。

  原文:Basic Use

相關文章