Web 開發(fā):選擇平臺與語言的商業(yè)考量及代碼質(zhì)量的重要性
2024-08-31
選擇哪個平臺是一個業(yè)務(wù)問題,而不是技術(shù)問題。
最好深入理解你選擇的任何語言的框架,并不斷優(yōu)化高質(zhì)量的代碼。請記住,代碼質(zhì)量比什么都重要。
目前網(wǎng)站建設(shè)使用的三大語言是Java、.NET(C#)、PHP,這三種語言的生態(tài)系統(tǒng)的差異可以用一個通俗易懂的方式來比較——超市。
如果把Web開發(fā)比作開一家超市的話,網(wǎng)站的內(nèi)容就是超市里琳瑯滿目的商品網(wǎng)站制作,數(shù)據(jù)庫就是超市的倉庫和貨架,Web服務(wù)器是讓你選擇購物路徑,而和你互動的則是穿著可愛迷你裙的售貨小姐或者你的老公吳亦凡。
如果用PHP做超市開發(fā),那么PHP就像是紅旗連鎖,五東風(fēng)(成都店)或者你家樓下或者拐角處的任何一家便利店。PHP開發(fā)有什么好處呢?快速高效,開一家便利店不需要花很多錢,初期用LAMP(+++php)就可以開個網(wǎng)站運(yùn)營店鋪了。學(xué)習(xí)成本是最低的,就如同你只要有一點(diǎn)錢就可以在家鄉(xiāng)開一家便利店一樣。任何一個有點(diǎn)基礎(chǔ)知識的程序員經(jīng)過一段時間的學(xué)習(xí),就可以用LAMP找一臺五六年前的筆記本或者臺式機(jī)來搭建一個網(wǎng)站。所以相比沃爾瑪或者萬達(dá)廣場這樣的大型超市,你身邊的便利店最多,用PHP開發(fā)的Web應(yīng)用也最多。
什么是Java?Java就是沃爾瑪、家樂福、永輝這樣的大型超市,Java有足夠多的框架和開源項(xiàng)目給你解決你目前能解決的所有超市問題。如果一個倉庫東西不夠,沒關(guān)系,我們用分布式數(shù)據(jù)庫來解決。如果收銀機(jī)不夠,也沒關(guān)系,我們先用多臺Web服務(wù)器增加收銀機(jī)數(shù)量,再用負(fù)載均衡服務(wù)器把人流平均分配到多臺收銀機(jī)上,這樣人們就可以快速付款回家了。如果你用支付寶或者微信支付,服務(wù)器是不是需要頻繁調(diào)用用戶的信息?沒問題,就用緩存服務(wù)器,把用戶的信息直接放到緩存服務(wù)器里,這樣就不用每次都調(diào)用數(shù)據(jù)庫了,數(shù)據(jù)庫的負(fù)擔(dān)就可以大大減輕。如果你要問這些技術(shù)去哪里學(xué),阿里巴巴已經(jīng)開源了很多類似的技術(shù),上網(wǎng)就可以了。所以,用Java做Web開發(fā),沒有你做不到的事情。想想天貓雙十一巨大的流量,他們都已經(jīng)解決了,更別提你現(xiàn)在面臨的毛毛細(xì)雨了。
最后我們來談?wù)?NET Web開發(fā),也就是ASP.NET。首先請記住ASP.NET和ASP是完全不同的東西,我們這里說的是ASP.NET。ASP.NET就是上面提到的萬達(dá)廣場,但是這個萬達(dá)廣場的老板不是王健林而是微軟。微軟已經(jīng)把大樓建好了(框架和技術(shù))php和mysql web開發(fā)(原書第4版),這時候你只需要把你租的店面稍微裝修一下,然后帶著行李搬進(jìn)去就可以了。只要你按時交房租,微軟就會好好的為你服務(wù),給你提供各種撩人的服務(wù)(捂臉)。比如你徹底告別命令行,包括數(shù)據(jù)庫操作等等,會有圖形界面的軟件讓你操作得心應(yīng)手,如果你足夠熟練,剩下的問題都可以自己解決。所以.NET技術(shù)在各類外包公司或者技術(shù)相對差的公司、個人開發(fā)者中非常受歡迎?,F(xiàn)在微軟的云服務(wù)更為你貼心了,讓你從開便利店到開沃爾瑪這樣的大型超市,所有問題都能解決。當(dāng)然你只需要付錢就可以了。當(dāng)然你也可以趁著萬達(dá)廣場人流量大,推著小推車賣香腸(用盜版服務(wù)器或軟件),但等你把業(yè)務(wù)做大了,微軟就會派保安來逼你付錢。養(yǎng)你,再宰你,才是微軟最擅長的。
Java
Java是騰訊網(wǎng)絡(luò)推出的Java編程語言和Java平臺的總稱,是一種面向?qū)ο蟮木幊陶Z言,可以用來編寫跨平臺的應(yīng)用軟件。
Java的應(yīng)用:在使用JSP網(wǎng)站建設(shè)時,基于Java的JSP網(wǎng)站建設(shè)編程語言被廣泛的應(yīng)用在很多網(wǎng)站中,比如一些政府機(jī)構(gòu)的網(wǎng)站,大型平臺,網(wǎng)絡(luò)辦公系統(tǒng)等等,在企業(yè)級Web應(yīng)用以及移動應(yīng)用開發(fā)中占據(jù)主流。
Java Web開發(fā)標(biāo)準(zhǔn):++Java+(或其他)包括+(或或)++…(無限擴(kuò)展)
優(yōu)勢分析:
1、技術(shù)沒有上限,沒有瓶頸,積累越多,水平就越高。
2.模塊化開發(fā)(基于),無需擔(dān)心以后的擴(kuò)展,適合大型項(xiàng)目開發(fā)。
3.可適用于多種平臺,平臺移植性強(qiáng)。
4.核心技術(shù)掌握在自己手中,容易遷移到其他語言。
缺點(diǎn)分析:
1、入門門檻高,需要學(xué)習(xí)很多開源框架,再學(xué)習(xí)技術(shù)架構(gòu)搭建,學(xué)習(xí)周期長,開發(fā)復(fù)雜。
2.需要團(tuán)隊(duì)發(fā)展。
建議:參考成熟的開源項(xiàng)目,學(xué)習(xí)可用的模塊,尋找開源架構(gòu)進(jìn)行二次開發(fā)。
.NET(C#)
C#是騰訊網(wǎng)絡(luò)發(fā)布的運(yùn)行在.Net平臺上的一門面向?qū)ο蟮母呒壘幊陶Z言,它不僅繼承了C語言家族的血統(tǒng)(繼承關(guān)系C->C++->C#),還具有開源、跨平臺的優(yōu)勢。C#看起來與Java驚人的相似,包括單繼承、接口等特性,語法與Java幾乎一致,并且有編譯成中間代碼再運(yùn)行的過程。
C#的應(yīng)用:C#在網(wǎng)站建設(shè)中可以讓企業(yè)為了擴(kuò)展程序終端而避免雇傭其他編程語言的開發(fā)人員,大大降低了開發(fā)成本。
C# Web開發(fā)的標(biāo)準(zhǔn)配置:C#++IIS。
優(yōu)勢分析:
1.由于微軟已經(jīng)把所有控件都封裝好了,直接用就可以了,上手簡單,中文資料也很多。
2.適合快速開發(fā)項(xiàng)目。
缺點(diǎn)分析:
1. 原理學(xué)習(xí)難度大,入門容易,精通難。
2、所有技術(shù)均由微軟提供,缺乏核心技術(shù)積累,公司做大后容易遇到瓶頸,需要等待微軟提供新的技術(shù)支持。
PHP
PHP 是一種開源免費(fèi)、輕量級、快速的通用開源腳本語言php和mysql web開發(fā)(原書第4版),其語法混合了 C、Java、Perl 和 PHP 自身的語法,主要適用于 Web 開發(fā)領(lǐng)域。
php Web開發(fā)的標(biāo)準(zhǔn)配置:LAMP(+++php),完整配置是++PHP7+(或其他)++。
優(yōu)勢分析:
1. 開發(fā)快速、高效、相對容易。
2、學(xué)習(xí)成本低,除服務(wù)器外全部免費(fèi)。
缺點(diǎn)分析:
1、后期擴(kuò)展性比較差,因?yàn)閃eb開發(fā)后期的問題都集中在流量和數(shù)據(jù)庫上,雖然PHP7在優(yōu)越性方面已經(jīng)有了很大的提升,但還是不能完全滿足需求。
總結(jié)一下,如果你的項(xiàng)目是一個比較大的項(xiàng)目,而且你恰好有足夠的資金網(wǎng)站制作,那么就選擇JAVA吧!