您當前位置>首頁 » 新聞資(zī)訊 » 網站(zhàn)建設 >
java、php、.net關(guān)于web開發的區别
發表時間:2017-3-19
發布人:葵宇科技
浏覽次數:22
一提到web開發,目前在世界上流行性的三個(gè)幫派就是php,java和(hé)asp.net,這個(gè)世界上的百分之99的網站(zhàn)或者類似的應用都是由這三種語言的開發,這裡請原諒我忽視某些小衆語言如(rú)python之類。三種語言經過長達十幾甚至二十多年的發展形成自己的生态圈,生态圈裡面的世界千姿百态,生态圈外面的世界大漠黃沙、寒風淩厲。所以不管你(nǐ)是準備進入web開發的新人還是準備轉型其它生态系統的老鳥,這篇文(wén)章都能給你(nǐ)很大的收獲。
俗話說,技術(shù)是為生活服務的,這句話一點都不假。先人看到鳥就發明了飛機,在計算機領域幾乎所有應用都能夠在日常生活中(zhōng)得到啟發。現在我們就用最通(tōng)俗易懂的方式---超市來比較這三種語言的生态系統的差别。
如(rú)果把web開發比做開一家超市,網站(zhàn)的内容就是超市裡面擺放的琳琅滿目的商(shāng)品,數據庫就是這個(gè)超市的倉庫,html5(抱歉,現在都是html5時代了,麻煩你(nǐ)就不要再用以前老掉牙的東西了)就是這個(gè)超市的貨架,web服務器(qì)就是用來讓你(nǐ)去選擇購物的一條條道路(lù),而和(hé)你(nǐ)互動(dòng)的javascript就是那些穿着卡哇伊短(duǎn)裙的促銷小姐或者你(nǐ)們老公吳亦凡。
那麼先說php,為什麼呢(ne)?因為php是最吼的語言。php在web中(zhōng)的優勢是數都數不過來,所有web應用中(zhōng)百分之七十都是php做出來的沒有理由讓你(nǐ)不先說它。如(rú)果用php做超市開發,那麼php在生活中(zhōng)就如(rú)同紅旗連鎖、舞東風(不好意思,成都就這兩個(gè)多)或者你(nǐ)家樓下(xià)或者拐角任意的一家便利店。php開發有什麼優點呢(ne)?快捷、高效,你(nǐ)不需要花(huā)很多的錢就可(kě)以開一家便利店了,僅僅在開始階段使用LAMP(linux+apache+mysql+php)就可(kě)以做網站(zhàn)開店運營。學習成本是最為低廉的,如(rú)同隻要你(nǐ)有點小錢就能在老家開個(gè)便利店一樣,任何一個(gè)有點基礎的程序員都能夠在一段時間學習之後就能使用LAMP找個(gè)筆記本或者五六年前的台式機去搭建個(gè)網站(zhàn),所以相對沃爾瑪那種大型超市或者萬達廣場,你(nǐ)身邊的便利店是最多的一樣,php開發的web應用也是最多的。
優點分析:
1.php的生态環境标配就是LAMP(linux+apache+mysql+php)其實這句話是不完整的,完整說起來是html5+javascript+php7+linux(選擇centos7或者ubuntu)+apache(或者nginx或者其它)+mysql,現在已經進入雲計算時代了,懶得折騰配置的人直接去阿裡雲租一台最便宜68元包月(yuè)的雲服務器(qì),足夠支撐一兩萬人服務,類似學校(xiào)、工廠、單位的使用了(如(rú)果我這篇文(wén)章火了,阿裡雲童鞋請贊助我廣告費),一旦服務器(qì)出現問(wèn)題,阿裡巴巴有一群高薪苦逼的程序員随時幫你(nǐ)解決問(wèn)題,這就直接把服務器(qì)維護者的工資(zī)省了。
2.這裡特别推薦直接上手php7,因為php7比以前的版本性能上直接提高了100%還要多,實現模塊化管理,後期便于進行業(yè)務拓展,業(yè)務拓展的意思就是你(nǐ)開的便利店想要擴大規模把先把隔壁的房(fáng)子(zǐ)也租了直接打通(tōng),可(kě)以放更多的貨物,模塊化的管理讓你(nǐ)進行升級時候更容易,比如(rú)多加一個(gè)服務器(qì)之類的。
3.這套方案的除了你(nǐ)需要買一台服務器(qì)或者租個(gè)阿裡雲之外,其它的一切都是免費的,如(rú)果你(nǐ)是學生黨或者剛工作的,用自己筆記本或者台式機在最開始的日子(zǐ)湊合湊合也行,那就是零消費了。
4.nginx能夠實現反向代理,這個(gè)功能老牛逼了,用apache還是nginx真是幸福的煩惱。
缺點分析:
後期延伸性相對差一點,随着人流量增多,你(nǐ)也有錢了,想要開連鎖超市或者大賣場的時候,問(wèn)題就出現了?因為web開發的後期問(wèn)題都集中(zhōng)在流量和(hé)數據庫上面,雖然現在php7已經在優越性提高了很多,但是你(nǐ)還是會發現不能滿足你(nǐ)的需要,你(nǐ)的商(shāng)店人滿為患,大家結賬需要排好久的隊伍,當隊伍後面等的人不耐煩就會開車(chē)去沃爾瑪購物,體驗性也會越來越差(很多大公司比如(rú)facebook都解決了這個(gè)問(wèn)題,但是人家技術(shù)積累不是你(nǐ)開便利店掙得錢能夠實現的,如(rú)果你(nǐ)真實現了請我吃(chī)飯),你(nǐ)不得不選擇其它解決方案,比如(rú)java。
所有人都說java與生俱來的模塊化編程就是為大型軟件開發服務的,因此黑java的人說java最大的本事就是把一個(gè)小的項目開發成一個(gè)大型項目,這也從一個(gè)側面體現出了java是團隊開發的不二之選。那java是什麼呢(ne)?java就是沃爾瑪、家樂(yuè)福、永輝那種大型賣場,java有足夠多的框架和(hé)開源項目讓你(nǐ)解決目前你(nǐ)能夠解決的一切賣場問(wèn)題,一個(gè)倉庫的東西不夠,沒關(guān)系我們采用分布式數據庫來解決,一個(gè)收銀台不夠,沒問(wèn)題我們先采用多個(gè)web服務器(qì)來增加收銀台數量再采用負載均衡服務器(qì)把人流平均分到多個(gè)收銀台中(zhōng),這樣人們就可(kě)以很快的付錢回家。如(rú)果采用刷支付寶或者微信支付,那服務器(qì)是不是要經常調用用戶的信息?沒問(wèn)題,采用緩存服務器(qì)就行了,把用戶的信息直接放到緩存的服務器(qì)中(zhōng),這樣每次就不用去數據庫調用了,數據庫的負擔大大減少(shǎo)。如(rú)果你(nǐ)要問(wèn)這些技術(shù)去哪裡學,阿裡巴巴已經把很多類似的技術(shù)開源了,去網上找呗。因此用java進行web開發是隻有你(nǐ)想不到沒有你(nǐ)做不到,想想天貓雙十一那麼大流量人家都搞定了,何況你(nǐ)現在遇到的這些毛毛雨。
優點分析:
1.javaweb開發的标配是html5+javascript+java+apache(或者nginx或者其它)+mysql(或者oracle或者nosql)+linux(rehat或者centos或者ubuntu或者其它)+......(無窮無盡的拓展)
2.技術(shù)上沒有上限和(hé)瓶頸,越往後積累越多,水平也越高,未來二十年都不用擔心飯碗問(wèn)題
3.模塊化的開發,不用擔心以後的擴展問(wèn)題,生意好的時候想開幾家店開幾家店,遇到金融危機時候想關(guān)幾家關(guān)幾家,同時用戶體驗不會下(xià)降
4.最主要的核心技術(shù)掌握在自己手裡面,哪怕萬一其中(zhōng)一門語言不行了,遷移其它語言也是很容易的
缺點分析:
1.親爹是oracle,導緻java不是php那種純粹的開源技術(shù),隻是部分開源,萬一哪天你(nǐ)賺錢了,要當心oracle要來收保護費(參考android案件oralce和(hé)google之間的撕逼)
2.oralce是一個(gè)比微軟更沒有下(xià)限的公司,一切所作所為都讓人擔心java的未來
3.需要團隊開發,因此你(nǐ)需要招人,當然這也增加了很多就業(yè)崗位,也算是一個(gè)優點了
4.到了一定規模資(zī)金上花(huā)銷比php大,但是比.net小
最後到了我們.net的web開發,也就是asp.net,首先請各位同學記住asp.net和(hé)asp是完全不同的東西。這裡所說的都是asp.net,asp.net就是最上面所說的萬達廣場,隻不過這個(gè)萬達廣場的老闆不是王健林而是微軟,微軟已經把大廈建好(框架、技術(shù)搭建好),這時候你(nǐ)僅僅需要對你(nǐ)租的那個(gè)門店稍微裝修一下(xià),然後拎包入住就行了。隻要你(nǐ)按時付房(fáng)租,微軟就會把你(nǐ)這個(gè)大爺伺候好,會給你(nǐ)提供各種羞羞服務(捂臉)。比如(rú)你(nǐ)徹底告别了命令行,包括數據庫的等等操作都會有圖形界面的軟件來讓你(nǐ)輕松操作,如(rú)果你(nǐ)技術(shù)夠厲害,一個(gè)人就可(kě)以解決所以餘下(xià)的問(wèn)題,因此.net技術(shù)大受各種外包公司或者技術(shù)相對較差的企業(yè)以及個(gè)人開發者歡迎。現在微軟的雲服務更是為你(nǐ)想的周到,讓你(nǐ)從開一家便利店到開沃爾瑪那種大賣場所需要的一切問(wèn)題都給你(nǐ)解決,當然你(nǐ)隻需要付錢。當然你(nǐ)也可(kě)以趁萬達廣場人流量多自己推個(gè)小車(chē)賣烤腸(使用盜版的服務器(qì)或者軟件),但是微軟會派會派保安在你(nǐ)把生意做大後來強行收費的,專門養大了宰是微軟最擅長的。
優點分析:
1.隻要給錢,從便利店到大賣場微軟會給你(nǐ)提供一站(zhàn)式服務,你(nǐ)僅僅做一些邊邊角角的工作就行。
2.由于需要工作少(shǎo),團隊人員少(shǎo),節省請人的工資(zī)錢,更适合單幹。
3.比oracle靠譜點
缺點分析:
1.所有技術(shù)都是微軟提供的,缺少(shǎo)核心技術(shù)積累,到後期如(rú)果你(nǐ)有幸成為淘寶那種大型企業(yè)的話,你(nǐ)會發現現在市場上所有的技術(shù)都不能來解決你(nǐ)的問(wèn)題,痛苦萬分。
2.找不到靠譜的.net大牛,除了北京的微軟亞洲研究院,你(nǐ)想找個(gè)牛逼的程序員團隊比讓柳岩做你(nǐ)女友都難。
3.微軟的所有服務都要錢,這對于創業(yè)團隊來說是最難的,你(nǐ)接的頭幾筆項目資(zī)金很可(kě)能連微軟的服務器(qì)都買不起,現在前期可(kě)以使用雲服務來節省開支,好了很多。
4.生态系統封閉,.net技術(shù)開源很晚,所以用的人比其它兩個(gè)來說很少(shǎo),技術(shù)成長先易後難,前期拖拉控件很爽,一段時間後很容易遇到市場現有方案解決不了的瓶頸問(wèn)題,那才是試煉的開始。
5.時代的變遷,現在是移動(dòng)互聯網時代,而微軟在移動(dòng)互聯網的作為讓大家比較失望,大家普遍擔心微軟很可(kě)能成為向柯達、諾基亞那樣曾經偉大的公司,讓很多人對它熱情減少(shǎo)。
6.亘古不變的IIS+C#+sqlserver套餐,當然你(nǐ)也偶爾嘗試下(xià)mysql或者oralce甜點
7.也是最重要的,微軟的技術(shù)經常是在一定階段采用自殺的更新,從vb,com,vfp,j++到現在半死不活的vc,不好就扔了,失業(yè)一大批靠這種吃(chī)飯的程序員,微軟總是打臉般的進行技術(shù)換代,讓它生态系統下(xià)的程序員過幾年就要推倒重來學習不比學習一門新的語言簡單多少(shǎo)的新框架新内容,拜托人家三四十歲了難道還要和(hé)二十多歲的小夥一樣去熬夜學你(nǐ)的新技術(shù)嗎?
好了,這次把世界上最流行的web開發語言及其生态系統講的比較清楚了,該如(rú)何選擇取決于你(nǐ)。再次強調您要選擇任何的語言最好深入進去去了解其中(zhōng)的框架,不斷進行高質量的代碼優化才是最重要的。請記住代碼的質量比其它一切一切都重要。你(nǐ)要是說.net不好,世界上最大的程序員技術(shù)問(wèn)答網站(zhàn)stackoverflow就是.net開發架構,人家僅僅用了24台服務器(qì)就搞定了幾千萬人的訪問(wèn),你(nǐ)說.net比你(nǐ)java開發的學校(xiào)選課網站(zhàn)遇到哪怕一千來号人就卡成狗的差?你(nǐ)說.net技術(shù)好,那京東那個(gè)翔一般購物體驗能夠和(hé)java的天貓比?你(nǐ)說php隻能做小型網站(zhàn),馬克同學的facebook可(kě)是除個(gè)别國家外幾乎壟斷世界的虛拟網站(zhàn),流暢性以及優越性可(kě)甩某鵝場幾條街。
您說哪個(gè)才是最好的web開發語言?