近十年以來,IT行業(yè)發(fā)展火熱,衍生了很多新職業(yè),例如UI設(shè)計(jì)師、開發(fā)工程師、軟件測(cè)試工程師等等,在眾多備受矚目的新生職業(yè)中,Web前端工程師是其中的一員。那么Web前端三大主流框架是什么呢?
React :
1.聲明式設(shè)計(jì):React采用聲明范式,可以輕松描述應(yīng)用。
2.高效:React通過對(duì)DOM的模擬,最大限度地減少與DOM的交互。
3.靈活:React可以與已知的庫(kù)或框架很好地配合。
優(yōu)點(diǎn):
1. 速度快:在UI渲染過程中,React通過在虛擬DOM中的微操作來實(shí)現(xiàn)對(duì)實(shí)際DOM的局部更新。
2. 跨瀏覽器兼容:虛擬DOM幫助我們解決了跨瀏覽器問題,它為我們提供了標(biāo)準(zhǔn)化的API,甚至在IE8中都是沒問題的。
3. 模塊化:為你程序編寫?yīng)毩⒌哪K化UI組件,這樣當(dāng)某個(gè)或某些組件出現(xiàn)問題是,可以方便地進(jìn)行隔離。
4. 單向數(shù)據(jù)流:Flux是一個(gè)用于在JavaScript應(yīng)用中創(chuàng)建單向數(shù)據(jù)層的架構(gòu)5. 同構(gòu)、純粹的javascript:因?yàn)樗阉饕娴呐老x程序依賴的是服務(wù)端響應(yīng)而不是JavaScript的執(zhí)行,預(yù)渲染你的應(yīng)用有助于搜索引擎優(yōu)化。6.兼容性好:比如使用RequireJS來加載和打包,而Browserify和Webpack適用于構(gòu)建大型應(yīng)用。它們使得那些艱難的任務(wù)不再讓人望而生畏。缺點(diǎn):React本身只是一個(gè)V而已,并不是一個(gè)完整的框架,所以如果是大型項(xiàng)目想要一套完整的框架的話,基本都需要加上ReactRouter和Flux才能寫大型應(yīng)用。
Vue:
Vue是尤雨溪編寫的一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的Web界面的庫(kù),準(zhǔn)確來說不是一個(gè)框架,它聚焦在V(view)視圖層。
它有以下的特性:
1.輕量級(jí)的框架
2.雙向數(shù)據(jù)綁定
3.指令
4.插件化
優(yōu)點(diǎn):
1. 簡(jiǎn)單:官方文檔很清晰,比 Angular 簡(jiǎn)單易學(xué)。
2. 快速:異步批處理方式更新 DOM。
3. 組合:用解耦的、可復(fù)用的組件組合你的應(yīng)用程序。
4. 緊湊:~18kb min+gzip,且無依賴。
5. 強(qiáng)大:表達(dá)式 無需聲明依賴的可推導(dǎo)屬性 (computed properties)。
6. 對(duì)模塊友好:可以通過 NPM、Bower 或 Duo 安裝,不強(qiáng)迫你所有的代碼都遵循 Angular 的各種規(guī)定,使用場(chǎng)景更加靈活。
缺點(diǎn):
1. 新生兒:Vue.js是一個(gè)新的項(xiàng)目,沒有angular那么成熟。
2. 影響度不是很大:google了一下,有關(guān)于Vue.js多樣性或者說豐富性少于其他一些有名的庫(kù)。
3. 不支持IE8。
Angular:
Angular是一款優(yōu)秀的前端JS框架,已經(jīng)被用于Google的多款產(chǎn)品當(dāng)中。
它有以下的特性:
1.良好的應(yīng)用程序結(jié)構(gòu)
2.雙向數(shù)據(jù)綁定
3.指令
4.HTML模板
5.可嵌入、注入和測(cè)試
優(yōu)點(diǎn):
1. 模板功能強(qiáng)大豐富,自帶了極其豐富的angular指令。
2. 是一個(gè)比較完善的前端框架,包含服務(wù),模板,數(shù)據(jù)雙向綁定,模塊化,路由,過濾器,依賴注入等所有功能;3. 自定義指令,自定義指令后可以在項(xiàng)目中多次使用。
4. ng模塊化比較大膽的引入了Java的一些東西(依賴注入),能夠很容易的寫出可復(fù)用的代碼,對(duì)于敏捷開發(fā)的團(tuán)隊(duì)來說非常有幫助。
5. angularjs是互聯(lián)網(wǎng)巨人谷歌開發(fā),這也意味著他有一個(gè)堅(jiān)實(shí)的基礎(chǔ)和社區(qū)支持。
缺點(diǎn):
1. angular 入門很容易 但深入后概念很多, 學(xué)習(xí)中較難理解。
2. 文檔例子非常少, 官方的文檔基本只寫了api, 一個(gè)例子都沒有, 很多時(shí)候具體怎么用都是google來的, 或直接問misko,angular的作者。
3. 對(duì)IE6/7 兼容不算特別好, 就是可以用jQuery自己手寫代碼解決一些。
4. 指令的應(yīng)用的最佳實(shí)踐教程少, angular其實(shí)很靈活, 如果不看一些作者的使用原則,很容易寫出 四不像的代碼, 例如js中還是像jQuery的思想有很多dom操作。
5. DI 依賴注入 如果代碼壓縮需要顯示聲明。
學(xué)習(xí)Web前端的就業(yè)面很廣,選擇的崗位有:前端開發(fā)工程師、資深前端開發(fā)工程師、網(wǎng)站重構(gòu)工程師、前端架構(gòu)師等等。
雖然近兩年大數(shù)據(jù)、人工智能等很火,但Web前端開發(fā)依然是十分熱門的,特別是隨著谷歌、YouTube、FireFox等大型企業(yè)紛紛將視線轉(zhuǎn)向HTML5,前端開發(fā)已經(jīng)進(jìn)入HTML5時(shí)代,所以,Web前端在今后十年仍有很大的發(fā)展空間。
據(jù)統(tǒng)計(jì),我國(guó)HTML5前端工程師人員的缺口將達(dá)到10多萬,因此,Web前端工程師是一個(gè)非常有“錢”途的職業(yè),并且薪酬會(huì)根據(jù)技能的深入而有不同程度的增長(zhǎng),其中北京、上海、廣州、深圳等地前端工程師的薪資待遇更是一路飆升。
就目前的廣州來說,Web前端新手的月薪大概5000元左右;工作經(jīng)驗(yàn)3年以上、有代表性作品的,月薪在一萬元左右;高手級(jí)別的月薪兩三萬元不成問題;大師級(jí)別的會(huì)更高。
前端即網(wǎng)站前臺(tái)部分,也叫前端開發(fā),運(yùn)行在PC端,移動(dòng)端等瀏覽器上展現(xiàn)給用戶瀏覽的網(wǎng)頁(yè)。那么前端開發(fā)需要學(xué)習(xí)什么呢?
焊工是一種技術(shù)型工種,如長(zhǎng)時(shí)間沒有從事焊接工作,則需重新考取技術(shù)等級(jí)證。從事焊工必須持上崗證工作,上崗證每三年一審核。一人一證持證上崗。那么...
未來社會(huì)是一個(gè)高度競(jìng)爭(zhēng)的社會(huì),需要鍛煉孩子大膽的去面對(duì)。那么孩子學(xué)習(xí)古箏還是鋼琴呢?哪個(gè)比較好一些?
平面廣告設(shè)計(jì)學(xué)習(xí)的軟件很多,主要有一下幾種:Photoshop(圖像處理軟件)、CorelDRAW(矢量設(shè)計(jì)軟件)、illustrator(...
RANK函數(shù)是排名函數(shù)。RANK函數(shù)最常用的是求某一個(gè)數(shù)值在某一區(qū)域內(nèi)的排名。
鉗工技師就是鉗工技能工程師,是具備相關(guān)技術(shù),掌握或精通鉗工類技巧、技能的人員。鉗工技師不同于一般工程師,技師屬于職業(yè)資格,工程師屬于職稱。那...
現(xiàn)在在叉車司機(jī)是很好就業(yè)的,尤其是你自己會(huì)開叉車,又要叉車證書的話,就業(yè)很多地方都是需要的,待遇也是很不錯(cuò)的。那么考叉車證有幾個(gè)科目呢?
C++是C語(yǔ)言的繼承,它既可以進(jìn)行C語(yǔ)言的過程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的...
這個(gè)要看個(gè)人水平和師傅的水平,一般學(xué)2到3年就可以熟練掌握。汽車美容主要包括洗車,漆面養(yǎng)護(hù),貼膜等。
如果你想學(xué)Python,或者你剛開始學(xué)習(xí)Python,那么你可能會(huì)問:“我能用Python做什么?”下面是小編整理的相關(guān)信息,希望對(duì)大家有所...
汽修有很好的就業(yè)前景,至于多久才出師,每一門技術(shù)他有很多專業(yè),所以汽修也分長(zhǎng)期和短期,長(zhǎng)期有一年至兩年還有三年,短期有幾個(gè)月。看你學(xué)哪一部分...
大數(shù)據(jù)時(shí)代已經(jīng)來臨,很多人也都意識(shí)到了,那么,在沒有大數(shù)據(jù)專業(yè)背景的情況下,怎么接觸到這個(gè)新職業(yè)呢?大數(shù)據(jù)需要學(xué)什么技術(shù)/專業(yè)知識(shí)呢?
Python爬蟲是用Python編程語(yǔ)言實(shí)現(xiàn)的網(wǎng)絡(luò)爬蟲,主要用于網(wǎng)絡(luò)數(shù)據(jù)的抓取和處理,相比于其他語(yǔ)言,Python是一門非常適合開發(fā)網(wǎng)絡(luò)爬蟲...
Python又名蟒蛇語(yǔ)言,由Guido van Rossum于1989年底發(fā)明。Python語(yǔ)法簡(jiǎn)潔清晰,具有豐富和強(qiáng)大的類庫(kù)。它常被稱為膠...
編程是一門手藝, 學(xué)習(xí)編程首先要有目的,其實(shí)學(xué)什么語(yǔ)言都可以,因?yàn)檎Z(yǔ)言都是互通的,C語(yǔ)言也好, 對(duì)于初學(xué)者來說,Python也很適合。下面讓...