backbone是什么意思?(什么是backbone)
Backbone是一個輕量級的前端MVC框架,用于結(jié)構(gòu)化管理頁面中的大量JS,建立與服務(wù)器、視圖間的無縫連接,為構(gòu)建復(fù)雜的應(yīng)用提供基礎(chǔ)框架。
下面我先簡單地闡述下Backbone的主要特點及特性:
1.輕量級
Backbone的源碼只有1000行左右(去注釋和空行后),文件大小只有16KB,加上依賴庫Underscore,也僅有29KB。
你只需要花一點時間,就能輕松了解Backbone內(nèi)部實現(xiàn);或編寫少量代碼,來重載Backbone的部分機(jī)制;如果你想在Backbone的基礎(chǔ)上做二次開發(fā),也并不是一件復(fù)雜的事情。
2. MVC結(jié)構(gòu)化
Backbone可以輕松將頁面中的數(shù)據(jù)、邏輯、視圖解耦,依照Backbone進(jìn)行代碼結(jié)構(gòu)組織,你可以將項目中的數(shù)據(jù)交互、業(yè)務(wù)邏輯、用戶界面等工作,分配給多個同事同時開發(fā),并能有序地組織到一起。同時,這對于大型和復(fù)雜項目的維護(hù)開發(fā)非常有幫助。
3. 繼承機(jī)制
在Backbone中,模塊是可以被繼承的,你可以通過面向?qū)ο蟮姆绞綄?yīng)用中的數(shù)據(jù)模型、集合、視圖有序地組織,讓整個架構(gòu)更加清晰;也可以方便地重載和擴(kuò)展自定義方法。
4. 建立與服務(wù)器的無縫連接
在Backbone中內(nèi)置了一套與服務(wù)器數(shù)據(jù)的交互規(guī)則(如果你了解REST架構(gòu),就能夠輕松地理解它們),而數(shù)據(jù)的同步工作會在Model中自動進(jìn)行,前端開發(fā)人員只需對客戶端數(shù)據(jù)的進(jìn)行操作,Backbone會自動將操作的數(shù)據(jù)同步到服務(wù)器。
這是件非常有趣的事情,因為服務(wù)器數(shù)據(jù)接口對前端開發(fā)者來說是透明的,他們不需要再關(guān)心如何和服務(wù)器交互。
然而服務(wù)器提供的數(shù)據(jù)接口也需要兼容Backbone的規(guī)則,對于一個新的項目來說,我們可以嘗試使用這套規(guī)則來構(gòu)建接口。但如果你的項目中已經(jīng)有一套穩(wěn)定的接口,你可能會擔(dān)心接口改造的風(fēng)險。
沒關(guān)系,我們可以通過重載Backbone.sync方法來適配現(xiàn)有的數(shù)據(jù)接口,針對不同的客戶端環(huán)境,我們還可以實現(xiàn)不同的數(shù)據(jù)交互方式。例如:用戶通過PC瀏覽器使用服務(wù)時,數(shù)據(jù)會實時同步到服務(wù)器;而用戶通過移動終端使用服務(wù)時,考慮到網(wǎng)絡(luò)環(huán)境問題,我們可以先將數(shù)據(jù)同步到本地數(shù)據(jù)庫,在合適的時候再同步到服務(wù)器。而這些只需要你重載一個方法就可以實現(xiàn)。
5.界面事件管理
在MVC中,我們希望能將界面展現(xiàn)和業(yè)務(wù)邏輯完全分離,但對于用戶產(chǎn)生的交互事件(如單擊事件),我們卻常常通過類似jQuery中的bind方法進(jìn)行獲取和綁定。
以上就是backbone是什么意思?的詳細(xì)內(nèi)容,更多請關(guān)注風(fēng)君子博客其它相關(guān)文章!
總結(jié)
以上是生活随笔為你收集整理的backbone是什么意思?(什么是backbone)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: @transactional注解_为啥同
- 下一篇: 王者荣耀猴子连招技巧有哪些