如何走出選擇PHP還是ASP.NET的兩難境地?
在執行一個網站或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
相關文章
- PHP 還是 ASP.NET:我做了正確選擇麼?PHPASP.NET
- 軟體選型兩難困境 選SaaS還是本地部署?
- php還是java,選擇比努力更重要!PHPJava
- 選擇PHP是自學還是去PHP培訓班的看這裡PHP
- React 還是 Vue:你該如何選擇?ReactVue
- 怎樣選擇TCP還是選擇UDPTCPUDP
- 如何選擇谷歌seo還是adwords廣告?谷歌
- 幽默:兩種專案包的選擇難題
- 小程式還是APP,企業該如何選擇?APP
- 如何選擇正確的Node框架:Express,Koa還是Hapi?框架ExpressAPI
- 創業者談:做微信還是做APP,兩種選擇的不同風險創業APP
- 程式設計師:選擇效率,還是選擇質量?程式設計師
- Java選擇自學還是培訓?Java
- Java之外選擇Scala還是Groovy?Java
- 你應該選擇 Ubuntu 還是 Fedora?Ubuntu
- 選擇python還是web前端好PythonWeb前端
- 選擇HTTPS代理還是SOCKS代理?HTTP
- iOS 開發選擇OC還是Swift?iOSSwift
- 開發該選擇Blocks還是DelegatesBloC
- 管理 node 版本,選擇 nvm 還是 n?
- 我們是如何選擇框架的?框架
- 分析選擇Salesforce CRM還是Zoho CRM(上)Salesforce
- 微服務選擇Spring Cloud還是Dubbo?微服務SpringCloud
- API架構的選擇,RESTful、GraphQL還是gRPCAPI架構RESTRPC
- 追求創新還是追求安全?獨立遊戲開發者的兩難困境遊戲開發
- 選擇困難的三點思考
- 選擇 Python3.6 還是 Python 3.7Python
- web伺服器該選擇apache還是nginxWeb伺服器ApacheNginx
- 選擇iOS還是Android?這很重要嗎?iOSAndroid
- 我是如何拿下阿里、頭條、滴滴的,最終還是選擇去了阿里巴巴。(上)阿里
- 高手是如何走出職業倦怠期的
- 如何選擇一款適合自己的作業系統?Linux還是Windows?作業系統LinuxWindows
- 疫情下的中國遊戲產業,走出寒冬還是表面繁榮?遊戲產業
- Python初學者,選擇Python2還是選擇Python3好?Python
- HTM – JSX 的替代品?還是另一種選擇?JS
- HTM - JSX 的替代品?還是另一種選擇?JS
- 怎樣選擇PHP的版本PHP
- 技術學習選擇的困難