{eval=Array;=+count(Array);}
目前流行的Web編程語(yǔ)言有Java、PHP、Python、C#等,當(dāng)然做Web開發(fā)也離不開Html、CSS和JavaScript,選擇編程語(yǔ)言主要取決于開發(fā)場(chǎng)景、開發(fā)周期、團(tuán)隊(duì)技術(shù)組成、流行趨勢(shì)等因素。
曾經(jīng)有人做過(guò)一個(gè)形象的比喻,PHP就像小區(qū)附近的便利店,Java就像沃爾瑪,C#就像百貨商場(chǎng),而Python則是網(wǎng)上購(gòu)物,下面對(duì)這幾種Web編程語(yǔ)言做一個(gè)描述。
PHP是目前在Web開發(fā)領(lǐng)域應(yīng)用最為廣泛的編程語(yǔ)言之一,從目前占據(jù)的開發(fā)市場(chǎng)份額來(lái)看,PHP要領(lǐng)先于Java和Python。PHP的特點(diǎn)是語(yǔ)法簡(jiǎn)單靈活、天然熱部署、Web開發(fā)生態(tài)健全、有大量的成熟方案,采用PHP開發(fā)Web應(yīng)用在開發(fā)周期上也有一定的優(yōu)勢(shì)。目前PHP比較適合于中小型網(wǎng)站的開發(fā),方便快捷。
Java Web開發(fā)是Java語(yǔ)言主要的應(yīng)用場(chǎng)景之一,Java語(yǔ)言最大的優(yōu)勢(shì)在于穩(wěn)定的性能、豐富的組件和清晰的邏輯。Java語(yǔ)言在處理并發(fā)訪問(wèn)上的優(yōu)勢(shì),使得大型商業(yè)互聯(lián)網(wǎng)平臺(tái)往往更傾向于采用Java語(yǔ)言開發(fā)。另外,在大數(shù)據(jù)領(lǐng)域的應(yīng)用也使得Java在未來(lái)的應(yīng)用前景還是不錯(cuò)的。雖然Java具有性能上的優(yōu)勢(shì),但是Java語(yǔ)言自身也偏重,在開發(fā)周期上與PHP和Python對(duì)比來(lái)說(shuō)還是偏長(zhǎng)。
Python語(yǔ)言也是傳統(tǒng)的Web開發(fā)語(yǔ)言之一,Python的特點(diǎn)就是簡(jiǎn)單,Python語(yǔ)言可以使用很多現(xiàn)成的庫(kù),采用Python開發(fā)Web應(yīng)用往往有較短的開發(fā)周期。但是Python開發(fā)Web應(yīng)用的性能還是存在一定的問(wèn)題,這也是Python語(yǔ)言固有的問(wèn)題,但是對(duì)于中小型應(yīng)用來(lái)說(shuō),Python是一個(gè)不錯(cuò)的選擇。
C#也是Web開發(fā)的重要方案之一,C#語(yǔ)言在開發(fā)Web方面最大的特點(diǎn)就是有成熟的方案可以套用,C#是廣大外包公司比較喜歡的語(yǔ)言,因?yàn)椴捎肅#開發(fā)會(huì)降低開發(fā)風(fēng)險(xiǎn)。
我從事Web開發(fā)工作多年,目前也在帶開發(fā)團(tuán)隊(duì),我在我們上寫了關(guān)于Java和Python的系列文章,感興趣的朋友可以關(guān)注我,相信一定會(huì)有所收獲。
如果有Web開發(fā)方面的問(wèn)題,也可以咨詢我,謝謝!
首先什么叫選擇正確呢?而不是正確選擇呢?
正確這個(gè)是很難說(shuō)的,因人因地因時(shí)皆不同。
題主意思可能是現(xiàn)階段選擇一種最適合的web編程語(yǔ)言吧。
首先說(shuō)下選擇的流程:
1. 先羅列下主流編程語(yǔ)言
2. 再做一個(gè)對(duì)比
3. 然后結(jié)合下自己的業(yè)務(wù)場(chǎng)景
4. 最后選擇合適的語(yǔ)言
主流web編程語(yǔ)言,前端當(dāng)然是js,或者類js(type coffee dart等)語(yǔ)言,這個(gè)沒(méi)有什么爭(zhēng)議。
至于web后端,語(yǔ)言眾多,按時(shí)間順序大致可以分為三類:
1. 早期的有:c c++ vb perl delphi等,這些早已經(jīng)在web端不流行了。主要原因就是開發(fā)效率低,框架少,沒(méi)有為web特色量身定制。
2. 傳統(tǒng)的有:c# java php asp 等,這些目前還是中堅(jiān)力量,但正不斷受到挑戰(zhàn),asp早就被被拿下,php與asp前途類似。c#與java在企業(yè)級(jí)應(yīng)用還有點(diǎn)優(yōu)勢(shì),但未來(lái)也會(huì)逐漸被取代。這些都有無(wú)數(shù)的框架和相應(yīng)api支持,但是畢竟是上個(gè)世紀(jì)的產(chǎn)物了,無(wú)論如何與時(shí)俱進(jìn)都會(huì)難以跟上時(shí)代的步伐。
3. 新貴有:nodejs go python ruby kotlin groove scala rust等。這些語(yǔ)言各有特色,特點(diǎn)就是新或者說(shuō)從web角度來(lái)看比較新。nodejs是其中最值得關(guān)注的,主要得益于js語(yǔ)言在web前端的一統(tǒng)江湖和google v8引擎。go源自google,性能又好所以普及的很快。python早就有了,但就web來(lái)講最近幾年頗為流行,其語(yǔ)法是非常簡(jiǎn)潔的。kotlin可以前后端開發(fā),且語(yǔ)言設(shè)計(jì)確實(shí)非常好,又跟java無(wú)縫結(jié)合,所以大有前途。以上4種應(yīng)該是未來(lái)幾年最有前途的web后端語(yǔ)言了。這幾個(gè)可能會(huì)并駕齊驅(qū),在細(xì)分領(lǐng)域各有所長(zhǎng)。
以上評(píng)估僅針對(duì)web端而來(lái)言,很多語(yǔ)言是可以開發(fā)系統(tǒng)、客戶端、中間件等。這里不評(píng)估語(yǔ)言好壞,只說(shuō)就web來(lái)講的趨勢(shì)。
選擇語(yǔ)言肯定要結(jié)合業(yè)務(wù)場(chǎng)景,不同需求就采用不同方案,還可以是不同語(yǔ)言結(jié)合的方式,且在不同階段語(yǔ)言是要變換的。所以,沒(méi)有正確的選擇,只有你自己的當(dāng)時(shí)覺(jué)得還不錯(cuò)的選擇。
針對(duì)如何選擇Web編程語(yǔ)言,我想從web的發(fā)展歷程展開來(lái)進(jìn)行闡述,這樣你就大體知曉如何進(jìn)行Web編程語(yǔ)言的選擇。
在web發(fā)展的初期,當(dāng)瀏覽器去請(qǐng)求一個(gè)頁(yè)面時(shí),通常是由后端通過(guò)頁(yè)面模板把數(shù)據(jù)填充進(jìn)去,然后后端再把整個(gè)頁(yè)面完成返回給瀏覽器。也就是說(shuō),在web初期,通常編寫后端的開發(fā)人員還需要懂得web前端的知識(shí),才能知道頁(yè)面模板的編寫。
此時(shí)的web開發(fā)人員需要懂得一門主要的后端開發(fā)語(yǔ)言,比如Java,Python,PHP和Nodejs等,還需要懂得編寫頁(yè)面的基礎(chǔ)知識(shí):HTML,CSS,JavaScript,這樣你才能知道如何發(fā)揮頁(yè)面模板的功能,亦即此時(shí)的前后端開發(fā)是糅合在一起的,不能達(dá)到很好地實(shí)現(xiàn)前后端分離的效果。
隨著web技術(shù)的發(fā)展,前端和后端終于迎來(lái)了完全分離的時(shí)刻。也就是,負(fù)責(zé)后端的開發(fā)人員僅僅只需要提供獲取數(shù)據(jù)的API即可。負(fù)責(zé)前端開發(fā)人員則只需要編寫頁(yè)面,然后通過(guò)HTTP請(qǐng)求把后端提供的數(shù)據(jù)填充上去。
在前后端分離的這個(gè)階段,web開發(fā)人員只需要懂得HTML,CSS,JavaScript這三者,另外加上前端的框架,如Element + Vue或Ant Design + React,至于后端開發(fā)語(yǔ)言要不要掌握,在這個(gè)前后端分離的現(xiàn)代可以不用去考慮和學(xué)習(xí)。
所以對(duì)于現(xiàn)在開始入手學(xué)習(xí)Web的同學(xué),建議先從HTML,CSS,JavaScript開始學(xué)起,然后掌握主流的某一種框架組合,Element + Vue 或者 Ant Design + React。目前在國(guó)內(nèi),Element + Vue更受歡迎一些,可以考慮優(yōu)先選擇Element + Vue。
如果你覺(jué)得文章寫得不錯(cuò)或?qū)δ阌袔椭瑲g迎點(diǎn)贊轉(zhuǎn)發(fā)。關(guān)注我,分享好玩科技,探索未知世界!
學(xué)習(xí)前端肯定是要分階段來(lái)學(xué)習(xí),把每一個(gè)階段搞懂,一步一腳印,之后才能找到一份合適的工作。
第一階段:Web網(wǎng)頁(yè)基礎(chǔ)
HTML入門基本內(nèi)容,CSS+DIV的基礎(chǔ)知識(shí),選擇器,盒子模型,網(wǎng)頁(yè)布局,Photoshop
第二階段:Web編程基礎(chǔ)
學(xué)習(xí)路線:JavaScript基礎(chǔ),BOM和DOM模型,事件處理,jQuery,交互及動(dòng)畫,jQuery優(yōu)質(zhì)插件,文檔處理,數(shù)組和對(duì)象操作
第三階段:Web編程高級(jí)及全棧開發(fā)
學(xué)習(xí)路線:JavaScript高級(jí)編程,原型模式,jQuery插件開發(fā),模塊化組件開,AJAX,Express(Node.js),Mongodb,RequireJS,MongoDB
第四階段:響應(yīng)式網(wǎng)站開發(fā)
學(xué)習(xí)路線:HTML5/CSS3,響應(yīng)式原理及布局,Bootstrap,前端依賴管理,CSS預(yù)處理語(yǔ)言(Less+Sass),Grunt/Gulp自動(dòng)化構(gòu)建工具,Angular4
第五階段:框架與項(xiàng)目管理
學(xué)習(xí)路線:Grunt/Gulp,Webpack模塊加載器&打包工具,MVC(backbone)架構(gòu)前端,VUE2,React
第六階段:混合式移動(dòng)及微信開發(fā)
學(xué)習(xí)路線:React Native,微信小程序
同樣,自制力的強(qiáng)弱決定了你是否能開拓自己的視野。
希望以上黑馬先鋒學(xué)院的建議能對(duì)你產(chǎn)生幫助。
作為從Web開發(fā)開始做到現(xiàn)在全棧皆可的開發(fā)者,你從asp或者php入門都可以,當(dāng)然python go Java也都是沒(méi)問(wèn)題,問(wèn)題是你如何深入下去,web項(xiàng)目越復(fù)雜,涉及到的技術(shù)細(xì)節(jié)會(huì)非常多,數(shù)據(jù)庫(kù) 緩存 高可用 微服務(wù) 監(jiān)控 流計(jì)算 大數(shù)據(jù) 滲透測(cè)試 等等 都是需要你學(xué)習(xí)的 所以問(wèn)題是你要找一個(gè)項(xiàng)目開始積累 這才是最重要的
自互聯(lián)網(wǎng)誕生以來(lái),網(wǎng)絡(luò)編程仍然是一種流行的和需求的技能。在網(wǎng)絡(luò)驅(qū)動(dòng)的社會(huì)中,網(wǎng)絡(luò)編程繼續(xù)呈上升趨勢(shì)。
然而,學(xué)習(xí)網(wǎng)絡(luò)編程語(yǔ)言比學(xué)習(xí)正確的網(wǎng)絡(luò)編程語(yǔ)言更重要。有幾個(gè)因素決定哪種語(yǔ)言最好。
php比較成熟一般我們公司用這個(gè) java和net對(duì)于一般網(wǎng)站來(lái)說(shuō)有點(diǎn)龐大占用內(nèi)資源多。
目前流行的Web編程語(yǔ)言有Java、PHP、Python、C#等,當(dāng)然做Web開發(fā)也離不開Html、CSS和JavaScript,選擇編程語(yǔ)言主要取決于開發(fā)場(chǎng)景、開發(fā)周期、團(tuán)隊(duì)技術(shù)組成、流行趨勢(shì)等因素。
8
回答4
回答10
回答0
回答0
回答0
回答0
回答2
回答0
回答0
回答