Web前端就是使用HTML、CSS、JavaScript等專(zhuān)業(yè)技能和工具將產(chǎn)品的UI設(shè)計(jì)稿實(shí)現(xiàn)成網(wǎng)站產(chǎn)品,涵蓋用戶(hù)PC端、移動(dòng)端(手機(jī),平板)等網(wǎng)頁(yè),處理視覺(jué)和交互問(wèn)題。
Web前端開(kāi)發(fā)是一項(xiàng)很特殊的工作,涵蓋的知識(shí)面非常廣,既有具體的技術(shù),又有抽象的理念。簡(jiǎn)單地說(shuō),它的主要職能就是把網(wǎng)站的界面更好地呈現(xiàn)給用戶(hù)。使用到的主要技術(shù)包括:HTML、CSS、JavaScript,如果能會(huì)后臺(tái)編程語(yǔ)言,當(dāng)然會(huì)更好。
web前端三大主流框架是什么?
web前端三大主流框架是Angular、React、Vue。
1、Angular
AngularJS由Misko Hevery 等人于2009年創(chuàng)建,后來(lái)唄谷歌所收購(gòu)。它是一款優(yōu)秀的前端JS框架被應(yīng)用多多種產(chǎn)品中去。它不僅是一個(gè)理念先進(jìn)的前端開(kāi)發(fā)框架,還是一種端對(duì)端的解決方案。它遵循架構(gòu)設(shè)計(jì)中的MVC模式,提倡數(shù)據(jù)與邏輯處理組件的松耦合。AngularJS通過(guò)指令技術(shù)實(shí)現(xiàn)了對(duì)HTML的自然擴(kuò)展,以及通過(guò)編譯技術(shù)實(shí)現(xiàn)了數(shù)據(jù)模型與展現(xiàn)視圖的雙向自動(dòng)同步,減輕了復(fù)雜的DOM操作。另外它也對(duì)前端的自動(dòng)化測(cè)試技術(shù)提供了良好的支持。
Angular是一種用于創(chuàng)建單一應(yīng)用程序界面的前端框架,它有許多核心功能例如數(shù)據(jù)綁定,服務(wù),指令以及依賴(lài)注入等等。它具有模塊功能強(qiáng)大,擁有自定義命令等優(yōu)點(diǎn)
特性:
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ù)雙向綁定,模塊化,路由,過(guò)濾器,依賴(lài)注入等所有功能;
3.自定義指令,自定義指令后可以在項(xiàng)目中多次使用。
4.ng模塊化比較大膽的引入了Java的一些東西(依賴(lài)注入),能夠很容易的寫(xiě)出可復(fù)用的代碼,對(duì)于敏捷開(kāi)發(fā)的團(tuán)隊(duì)來(lái)說(shuō)非常有幫助。
5.angularjs是互聯(lián)網(wǎng)巨人谷歌開(kāi)發(fā),這也意味著他有一個(gè)堅(jiān)實(shí)的基礎(chǔ)和社區(qū)支持。
缺點(diǎn):
1.angular入門(mén)很容易但深入后概念很多,學(xué)習(xí)中較難理解。
2.文檔例子非常少,官方的文檔基本只寫(xiě)了api,一個(gè)例子都沒(méi)有,很多時(shí)候具體怎么用都是google來(lái)的,或直接問(wèn)misko,angular的作者。
3.對(duì)IE6/7兼容不算特別好,就是可以用jQuery自己手寫(xiě)代碼解決一些。
4.指令的應(yīng)用的最佳實(shí)踐教程少,angular其實(shí)很靈活,如果不看一些作者的使用原則,很容易寫(xiě)出四不像的代碼,例如js中還是像jQuery的思想有很多dom操作。
5.DI依賴(lài)注入如果代碼壓縮需要顯示聲明。
2、React
React,facebook出品,正式版推出是在2013年,比angular晚了4年,但得益于其創(chuàng)新式的VirtualDOM,性能上碾壓angularJS,一經(jīng)推出,火的一塌糊涂。 特點(diǎn)很多,VirtualDOM、JSX、Diff算法等,支持ES6語(yǔ)法,采用函數(shù)式編程,門(mén)檻稍高,但也更靈活,能讓開(kāi)發(fā)具有更多可能性。
特性
1.聲明式設(shè)計(jì):React采用聲明范式,可以輕松描述應(yīng)用。
2.高效:React通過(guò)對(duì)DOM的模擬,最大限度地減少與DOM的交互。
3.靈活:React可以與已知的庫(kù)或框架很好地配合。
優(yōu)點(diǎn):
1.速度快:在UI渲染過(guò)程中,React通過(guò)在虛擬DOM中的微操作來(lái)實(shí)現(xiàn)對(duì)實(shí)際DOM的局部更新。
2.跨瀏覽器兼容:虛擬DOM幫助我們解決了跨瀏覽器問(wèn)題,它為我們提供了標(biāo)準(zhǔn)化的API,甚至在IE8中都是沒(méi)問(wèn)題的。
3.模塊化:為你程序編寫(xiě)?yīng)毩⒌哪K化UI組件,這樣當(dāng)某個(gè)或某些組件出現(xiàn)問(wèn)題是,可以方便地進(jìn)行隔離。
4.單向數(shù)據(jù)流:Flux是一個(gè)用于在JavaScript應(yīng)用中創(chuàng)建單向數(shù)據(jù)層的架構(gòu)5.同構(gòu)、純粹的javascript:因?yàn)樗阉饕娴呐老x(chóng)程序依賴(lài)的是服務(wù)端響應(yīng)而不是JavaScript的執(zhí)行,預(yù)渲染你的應(yīng)用有助于搜索引擎優(yōu)化。6.兼容性好:比如使用RequireJS來(lái)加載和打包,而B(niǎo)rowserify和Webpack適用于構(gòu)建大型應(yīng)用。它們使得那些艱難的任務(wù)不再讓人望而生畏。缺點(diǎn):React本身只是一個(gè)V而已,并不是一個(gè)完整的框架,所以如果是大型項(xiàng)目想要一套完整的框架的話,基本都需要加上ReactRouter和Flux才能寫(xiě)大型應(yīng)用。
3、Vue
Vue作為最后推出的框架(2014年),借鑒了前輩angular和react的特點(diǎn)(如VirtualDOM、雙向數(shù)據(jù)綁定、diff算法、響應(yīng)式屬性、組件化開(kāi)發(fā)等)并做了相關(guān)優(yōu)化,使其使用起來(lái)更加方便,更容易上手,比較少適合初學(xué)者。
特性:
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.緊湊:~18kbmin+gzip,且無(wú)依賴(lài)。
5.強(qiáng)大:表達(dá)式無(wú)需聲明依賴(lài)的可推導(dǎo)屬性(computedproperties)。
6.對(duì)模塊友好:可以通過(guò)NPM、Bower或Duo安裝,不強(qiáng)迫你所有的代碼都遵循Angular的各種規(guī)定,使用場(chǎng)景更加靈活。
缺點(diǎn):
1.新生兒:Vue.js是一個(gè)新的項(xiàng)目,沒(méi)有angular那么成熟。
2.影響度不是很大:google了一下,有關(guān)于Vue.js多樣性或者說(shuō)豐富性少于其他一些有名的庫(kù)
3.不支持IE8。
關(guān)鍵詞: web前端是做什么的 web前端培訓(xùn)費(fèi)用大概多少 web前端培訓(xùn)機(jī)構(gòu) web前端開(kāi)發(fā)軟件