對(duì)比他們 勉痴,你就必須要先理解他們?nèi)齻€(gè)的定義赫模,用途,優(yōu)缺點(diǎn)≌裘現(xiàn)在我就大概的介紹一下瀑罗。
首先,了解Vue雏掠,你肯定得知道一個(gè)人斩祭,那就是Vue的創(chuàng)作者尤雨溪。Vue呢乡话,它是一個(gè)"MVVM框架(庫(kù))"摧玫,比較容易上手,是一套用于構(gòu)建用戶界面的漸進(jìn)式框架绑青。與其它大型框架不同的是诬像,Vue 被設(shè)計(jì)為可以自底向上逐層應(yīng)用。提到了MVVM闸婴,我就再說一下它是個(gè)什么坏挠。
提到MVVM就又得說一下MVC,?
m model 模型 指? 數(shù)據(jù)
?v view 試圖 指 頁(yè)面
? c constroller? 控制器? 指 業(yè)務(wù)邏輯(簡(jiǎn)單的理解就是一個(gè)流程邪乍,主頁(yè)面--篩選---購(gòu)買種類--數(shù)量--購(gòu)買)
總結(jié)? 從頁(yè)面觸發(fā)降狠,? 首先客戶在頁(yè)面進(jìn)行对竣,向c請(qǐng)求自己需要的數(shù)據(jù),c再向m請(qǐng)求數(shù)據(jù)
m把數(shù)據(jù)傳給c? c再傳向頁(yè)面
m v vm? 數(shù)據(jù)? 頁(yè)面? 組件 在mvc基礎(chǔ)上榜配,把每塊的功能拆分開否纬,更容易維護(hù)和使用
MVVM是真正將頁(yè)面與數(shù)據(jù)邏輯分離的模式,在開發(fā)模式上蛋褥,它是真正將前臺(tái)代碼開發(fā)者與后臺(tái)代碼開發(fā)者分離的模式烦味。
Vue 的核心庫(kù)只關(guān)注視圖層,不僅易于上手壁拉,還便于與第三方庫(kù)或已有項(xiàng)目結(jié)合谬俄。Vue的目標(biāo)是通過盡可能簡(jiǎn)單的API實(shí)現(xiàn)“響應(yīng)的數(shù)據(jù)綁定”和組合的視圖組件。
下面咱們開始react弃理,
React呢溃论,是一個(gè)采用聲明式,高效而且靈活的用來構(gòu)建用戶界面的框架痘昌。以redux為狀態(tài)管理钥勋。使用jsx渲染頁(yè)面。
因?yàn)閷?duì)angular辆苔,react不是特別懂算灸,所以,現(xiàn)在我介紹三者區(qū)別驻啤,有精通兩者的菲驴,希望可以給我講解。
vue與angular的區(qū)別呢
vue簡(jiǎn)單小巧骑冗,運(yùn)行速度都比angular快赊瞬,
這兩個(gè)綁定都可以用{{}};
vue的指令是v-xxx贼涩;angular的指令是ng-xxx巧涧;
vue的數(shù)據(jù)放在data這個(gè)對(duì)象中,angular數(shù)據(jù)綁定在$scrope上遥倦;
vue有組件化概念谤绳,angular沒有。
vue與React的區(qū)別
都是用虛擬DOM;
都提供了響應(yīng)式和組件化的視圖組件袒哥;
注意力都集中保持在核心庫(kù)缩筛;
都有配套的路由和負(fù)責(zé)處理全局狀態(tài)管理的庫(kù);
React使用JSX渲染頁(yè)面统诺,vue使用簡(jiǎn)單的模板歪脏;
vue運(yùn)行的速度更快。
上面提到了響應(yīng)式和組件化粮呢,我也大概的介紹一下這兩個(gè),
響應(yīng)式
自適應(yīng)響應(yīng)式布局,從最早的不同分辨率的屏幕啄寡,到現(xiàn)在遍布各個(gè)生活角落的移動(dòng)設(shè)備豪硅,響應(yīng)式布局已經(jīng)成了幾乎所有互聯(lián)網(wǎng)公司必備的條件。在我的映像中挺物,bootstrap一直是響應(yīng)式的頭號(hào)選擇懒浮,的確,其中的各種xl识藤,xs砚著,柵格布局讓響應(yīng)式變得很容易。
話說痴昧,這Vue做響應(yīng)式稽穆,其實(shí)一點(diǎn)都不復(fù)雜:一個(gè)生命周期鉤子,一個(gè)條指令赶撰,一套js判斷語(yǔ)句解決舌镶。(時(shí)間問題,下次寫例子)
組件化
因?yàn)楝F(xiàn)在移動(dòng)端的興起豪娜,前端頁(yè)面的邏輯已經(jīng)變得很重了餐胀,一個(gè)頁(yè)面的代碼超過5000行的場(chǎng)景漸漸增多,作為一個(gè)程序員我也很是苦惱瘤载,這個(gè)時(shí)候頁(yè)面的維護(hù)便會(huì)很有問題否灾,牽一發(fā)而動(dòng)全身的事情會(huì)經(jīng)常發(fā)生,為了解決這個(gè)問題鸣奔,便出現(xiàn)了前端組件化坟冲,這個(gè)組件化就不是UI組件了,而是包含具體業(yè)務(wù)的業(yè)務(wù)組件溃蔫。
這種開發(fā)的思想其實(shí)也就是分而治之(最重要的架構(gòu)思想健提,一切都是組件),APP分成多個(gè)頻道由各個(gè)團(tuán)隊(duì)維護(hù)伟叛,頻道分為多個(gè)頁(yè)面由幾個(gè)開發(fā)維護(hù)私痹,頁(yè)面邏輯過于復(fù)雜,便將頁(yè)面分為很多個(gè)業(yè)務(wù)組件模塊分而治之统刮,這樣的話維護(hù)人員每次只需要改動(dòng)對(duì)應(yīng)的模塊即可紊遵,以達(dá)到最大程度的降低開發(fā)難度與維護(hù)成本的效果,所以現(xiàn)在比較好的框架都會(huì)對(duì)組件化作一定程度的實(shí)現(xiàn)侥蒙。
暗膜。