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