最近,一(yī / yì /yí)個(gè)朋友問我關于(yú)要(yào / yāo)搭建一(yī / yì /yí)個(gè)功能要(yào / yāo)求比較高的(de)網站用什麽編程語言比較好,于(yú)是(shì)便将幾種語言的(de)特點都跟他(tā)介紹了(le/liǎo)一(yī / yì /yí)遍,順帶說(shuō)到(dào)php可以(yǐ)拷貝源程序,模闆站都是(shì)用的(de)php,于(yú)是(shì)他(tā)便認定了(le/liǎo)php是(shì)最好的(de),其實不(bù)然,每種語言都有他(tā)的(de)優勢,我們需對号入座!目前主流的(de)WEB開發語言有ASP.NET、PHP、JSP,作爲(wéi / wèi)MS上(shàng)世紀老将ASP,就(jiù)不(bù)再提及,如果是(shì)因爲(wéi / wèi)維護方面的(de)原因而(ér)必須使用,可考慮升級到(dào)ASP.NET,而(ér)作爲(wéi / wèi)新開發一(yī / yì /yí)個(gè)語言,實在(zài)找不(bù)到(dào)理由再使用它了(le/liǎo)。
以(yǐ)下将對這(zhè)三種語言做對比,以(yǐ)供權衡:
上(shàng)手度
.NET: 5分
PHP:3分
JSP:1分
如果你是(shì)一(yī / yì /yí)個(gè)WEB方面的(de)新手,這(zhè)三門WEB語言的(de)學習成本差别很大(dà)。ASP.net 作爲(wéi / wèi)微軟的(de)産品,繼承了(le/liǎo)其一(yī / yì /yí)貫的(de)特點,方便上(shàng)手,易用;甚至你都不(bù)用編碼,靠着鼠标拖拖拽拽,都能整一(yī / yì /yí)個(gè)網站出(chū)來(lái)(網上(shàng),就(jiù)有這(zhè)樣的(de)視頻講解。當然,這(zhè)樣出(chū)來(lái)的(de)網站是(shì)沒法應用到(dào)實際中的(de),且不(bù)說(shuō)其代碼複用率極其低下,拖拽出(chū)來(lái)的(de)代碼,靈活度太小,效率也(yě)低(eg:gridview中的(de)分頁實現載入數據是(shì)一(yī / yì /yí)次全部載入的(de)))。同時(shí),憑着其強大(dà)的(de)開發工具visual studio系列,在(zài)程序出(chū)現bug時(shí),能最大(dà)程度的(de)提供問題說(shuō)明,讓開發者盡快定位到(dào)問題所在(zài)。JSP相比而(ér)言難度就(jiù)大(dà)多了(le/liǎo),光是(shì)配置一(yī / yì /yí)個(gè)開發環境就(jiù)得耗費不(bù)少精力,JSP語言最爲(wéi / wèi)頭疼的(de)就(jiù)是(shì)程序調試方面,當程序出(chū)現問題時(shí),并不(bù)能得到(dào)友好的(de)錯誤提示,調試BUG比較耗時(shí)。再就(jiù)是(shì)JSP依托的(de)JAVA過于(yú)龐大(dà),着實是(shì)個(gè)無底洞,開始容易,越往後發現要(yào / yāo)學的(de)越多,一(yī / yì /yí)般互聯網公司,還真難以(yǐ)有幾個(gè)能駕馭,再普及的(de);PHP學習算是(shì)基于(yú).net和(hé / huò)JSP之(zhī)間,語法與C語言一(yī / yì /yí)脈相承,上(shàng)手也(yě)算容易。
資源
.NET:4分
PHP:5分
JSP:2分
資源包括能獲取到(dào)的(de)學習資料、開放源碼,以(yǐ)及各種插件和(hé / huò)庫。PHP在(zài)這(zhè)方面遙遙領先,粗略看來(lái),各種網站的(de)知名開源産品,大(dà)都使用PHP實現,如博客wordpress、論壇discuz、Wiki知識庫MediaWiki等。
相應的(de)各種插件、庫、開源代碼的(de)數量和(hé / huò)質量更是(shì)其它語言無法相比。.NET資源也(yě)比較豐富,選用.NET幸福的(de)是(shì)有MS這(zhè)麽一(yī / yì /yí)個(gè)強大(dà)後台做有力的(de)技術支持,CSDN 的(de)資料不(bù)但多,質量更是(shì)上(shàng)乘;JSP由于(yú)其門檻高的(de)緣故,緻使在(zài)這(zhè)方面的(de)資料也(yě)比較少。
系統架構實施
.NET:3分
PHP:5分
JSP: 3分
.NET 部署環境是(shì)windows 03/08+MS SQL Server + IIS。都是(shì)微軟的(de)産品,優點就(jiù)是(shì)部署容易,方便,兼容性好。最爲(wéi / wèi)頭疼就(jiù)是(shì)安全方面的(de)問題,windows下總是(shì)得不(bù)停的(de)打補丁,但還是(shì)時(shí)常遭受這(zhè)樣那樣的(de)攻擊;再就(jiù)是(shì)數據庫方面,MS SQL 與Oracle在(zài)并發處理、效率上(shàng)始終有個(gè)數據量級的(de)差距,2008發布之(zhī)後據說(shuō)是(shì)好了(le/liǎo)些,但總是(shì)讓人(rén)感覺不(bù)大(dà)放心;PHP就(jiù)是(shì)LAMP架構,即 Linux+Apache+My Sql + PHP;Linux平台在(zài)我這(zhè)幾年的(de)熟悉後,深刻體會到(dào)其就(jiù)是(shì)爲(wéi / wèi)服務器而(ér)生,各種的(de)工具讓人(rén)愛不(bù)釋手;My Sql作爲(wéi / wèi)開源産品,首先在(zài)軟件費用上(shàng)就(jiù)公司能省下一(yī / yì /yí)大(dà)筆,其性能優秀,即使某日網站規模的(de)擴大(dà)緻使數據庫出(chū)現瓶頸,也(yě)可組建一(yī / yì /yí)個(gè)數據庫團隊來(lái)研究改進。不(bù)過,在(zài)Oracle收購MySql之(zhī)後,爲(wéi / wèi)其前景蒙上(shàng)了(le/liǎo)一(yī / yì /yí)層陰影。有可能,在(zài)不(bù)久的(de)将來(lái),MySql的(de)部分功能就(jiù)會閉源。JSP的(de)架構小則是(shì) Linux+apache+tomcat+MySql ,大(dà)則Linux + Apache + Java (WebSphere) + Oracle,對于(yú)一(yī / yì /yí)般小型網站的(de)部署,大(dà)都選用第一(yī / yì /yí)種;WebSphere過于(yú)龐大(dà),一(yī / yì /yí)般部署都得獨自占用一(yī / yì /yí)台服務器;Oracle是(shì)數據庫中的(de)王者,性能優異(國(guó)内銀行證券的(de)數據庫應用,一(yī / yì /yí)般隻有DB2和(hé / huò)Oracle兩種選擇),但其價格不(bù)菲,非一(yī / yì /yí)般創業公司能夠承擔(按CPU收費,一(yī / yì /yí)般 25w/cpu/每年;次年會收取15%的(de)維護費)需要(yào / yāo)提一(yī / yì /yí)下的(de)是(shì)JSP系統架構部署有些難度,架構出(chū)現問題後,排錯是(shì)個(gè)很痛苦的(de)過程。
管理維護
.NET:2分
PHP:5分
JSP: 4分
WEB 管理中,經常會通過遠程來(lái)管理網站,遠程管理的(de)方便與否關鍵看命令行工具的(de)支持力度及腳本環境的(de)操作便捷性。.NET隻能跑在(zài)Windows平台上(shàng),遠程管理一(yī / yì /yí)般隻能通過圖形化界面遠程鼠标操作,當網速比較慢的(de)時(shí)候,管理員的(de)心情無比複雜,遠程操作基本上(shàng)是(shì)在(zài)一(yī / yì /yí)幅幅圖片上(shàng)估計下一(yī / yì /yí)張圖片中鼠标的(de)移動位置;Windows平台的(de)命令行環境非常差,IIS的(de)命令行工具功能少,bat腳本也(yě)難學難用(雖然可以(yǐ)通過安裝cygwin工具來(lái)模拟linux shell環境,但系統操作,系統資源監控方面還是(shì)無能爲(wéi / wèi)力); Linux下就(jiù)幸福多了(le/liǎo),遠程基本上(shàng)都是(shì)通過SSH連接,安全有保證,shell腳本消耗的(de)網絡帶寬也(yě)隻是(shì)圖形化界面的(de)百分之(zhī)一(yī / yì /yí),管理流暢,心情舒暢;各種程序消耗資源都可遠程監控;Linux就(jiù)是(shì)爲(wéi / wèi)服務器而(ér)生,此話毫不(bù)爲(wéi / wèi)過。PHP、JSP都可跨平台,一(yī / yì /yí)般其系統部署都是(shì)在(zài)Linux下,MySql數據庫和(hé / huò)apche服務器都可通過相應的(de)命令行工具有效管理。JSP的(de)應用服務器在(zài)這(zhè)方面支持要(yào / yāo)少些。
跨平台
.NET:0 分
PHP:5分
JSP:5分
曾幾何時(shí),我對跨平台不(bù)屑一(yī / yì /yí)顧,想着好端端的(de)一(yī / yì /yí)個(gè)應用,既然是(shì)定位在(zài)這(zhè)個(gè)平台上(shàng)開發的(de),幹嘛要(yào / yāo)移植到(dào)其它平台上(shàng)。如今,我是(shì)深有體會。手上(shàng)一(yī / yì /yí)個(gè)項目,公司由于(yú)成本壓力,需要(yào / yāo)将應用從 SUN Unix移植到(dào)Linux平台(Redhat)。我們的(de)程序基本上(shàng)不(bù)用改動,在(zài)Linux上(shàng)編譯就(jiù)隻多了(le/liǎo)幾個(gè)警告,改改就(jiù)可上(shàng)線了(le/liǎo);而(ér)另一(yī / yì /yí)個(gè)項目,我被深度套牢!我們使用的(de)是(shì)Windows平台的(de)ASP.NET,由于(yú)受到(dào)Windows的(de)病毒泛濫加上(shàng)WEB管理的(de)麻煩,迫切希望能移植到(dào)Linux平台,但這(zhè)基本上(shàng)不(bù)可能實現。若真想将這(zhè)應用移植,隻有下狠心使用PHP等重寫應用,換系統架構。PHP、JSP都可跨平台,不(bù)用多說(shuō)。
當前主流應用的(de)選擇
PHP:當前WEB創業公司的(de)語言選擇主要(yào / yāo)集中在(zài)PHP。除了(le/liǎo)上(shàng)述原因還有一(yī / yì /yí)個(gè)重要(yào / yāo)原因就(jiù)是(shì)PHP開發程序員隊伍的(de)規模。
淘寶網(阿裏巴巴): Linux操作系統 + Web 服務器: Apache +PHP
PHP的(de)應用太多,這(zhè)裏不(bù)再列舉;
ASP.NET:在(zài)創業公司中應用不(bù)多,知名互聯網應用有限,目前比較知名的(de)應用有:
博客園、CSDN、eBay、MySpace等;
JSP:JSP 實施比較龐大(dà),用好的(de)就(jiù)得用到(dào)websphere或weblogic這(zhè)樣的(de)大(dà)物件,種種原因使得JSP在(zài)互聯網公司中應用并不(bù)多,除了(le/liǎo)阿裏巴巴,沒有幾個(gè)公司能駕馭JAVA(JSP)。深入JAVA需要(yào / yāo)多年修煉,而(ér)成精之(zhī)後,公司是(shì)否有足夠的(de)薪水來(lái)留住這(zhè)麽一(yī / yì /yí)群高手是(shì)個(gè)考驗;
阿裏巴巴:Linux+(JSP)
如今流行的(de)Ruby,也(yě)是(shì)創業公司的(de)一(yī / yì /yí)個(gè)選擇;python的(de)優雅,也(yě)可考慮嘗試(豆瓣使用的(de)Python);但選擇這(zhè)些語言的(de)一(yī / yì /yí)個(gè)風險是(shì)公司規模擴大(dà)後,是(shì)否能找到(dào)足夠的(de)人(rén)才得打個(gè)問号。總的(de)來(lái)說(shuō),創業面臨選擇一(yī / yì /yí)門開發語言,PHP當是(shì)首選;如果不(bù)考慮Linux平台,鐵定在(zài)Windows上(shàng)運營,.NET也(yě)是(shì)一(yī / yì /yí)個(gè)不(bù)錯的(de)選擇。JSP小公司勿近,危險,容易造成的(de)資金套牢。
細緻入微的(de)前期服務
精準的(de)策劃服務
精湛的(de)網頁設計
穩定 可靠 極速的(de)域名和(hé / huò)服務器
任何問題,24小時(shí)回複并處理
版權所有:蘇州謝謝網絡傳媒有限公司 京ICP證000000号