欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

12種JavaScript常用的MVC框架比較分析

 更新時間:2015年11月16日 11:30:24   作者:Jlins  
這篇文章主要介紹了12種JavaScript常用的MVC框架比較分析,以獨(dú)特的視角分析了12中常見的JavaScript MVC框架各種優(yōu)缺點(diǎn),具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文詳細(xì)講述了12種JavaScript常用的MVC框架。分享給大家供大家參考,具體如下:

Gordon L. Hempton是西雅圖的一位黑客和設(shè)計(jì)師,他花費(fèi)了幾個月的時間研究和比較了12種流行的JavaScript MVC框架,并在博客中總結(jié)了每種框架的優(yōu)缺點(diǎn),最終的結(jié)果是,Ember.js勝出。

此次比較針對的特性標(biāo)準(zhǔn)有四種,分別是:

① UI綁定(UI Bindings)
② 復(fù)合視圖(Composed Views)
③ Web表現(xiàn)層(Web Presentation Layer)
④ 與其他框架良好協(xié)作(Plays Nicely with Others)

對于各種JavaScript MVC框架,Gordon都總結(jié)了優(yōu)缺點(diǎn):

1. Backbone.js ——優(yōu)點(diǎn):強(qiáng)大的社區(qū),強(qiáng)勁的勢頭;缺點(diǎn):抽象較弱,很多功能亟待增加。

2. SproutCore ——優(yōu)點(diǎn):對綁定的支持,可靠的社區(qū),大量特性;缺點(diǎn):過度規(guī)范,難以和不需要的特性解耦。

3. Sammy.js ——優(yōu)點(diǎn):易于學(xué)習(xí),更容易和現(xiàn)存的服務(wù)端應(yīng)用程序整合;缺點(diǎn):過于簡單,無法應(yīng)用于大型應(yīng)用程序中。

4. Spine.js ——優(yōu)點(diǎn):輕量級,文檔很完備;缺點(diǎn):它的核心概念“spine”是異步的用戶界面,這意味著理想狀況用戶界面永遠(yuǎn)不會發(fā)生堵塞,而這個基礎(chǔ)有缺陷。

5. Cappuccino ——優(yōu)點(diǎn):大型深思熟慮后的框架,良好的社區(qū),很棒的繼承模型;缺點(diǎn):由iOS開發(fā)者創(chuàng)建,使用JavaScript模擬Objective-C。

6. Knockout.js ——優(yōu)點(diǎn):對綁定的支持,完備的文檔和教程;缺點(diǎn):綁定語法拙劣,缺少統(tǒng)一的視圖組件層級關(guān)系。

7. Javascript MVC ——優(yōu)點(diǎn):可靠的社區(qū);缺點(diǎn):基于字符串的繼承模型很差,控制器與視圖關(guān)系過密而缺少綁定。

8. GWT(Google Web Toolkit) ——優(yōu)點(diǎn):全面的框架,良好的社區(qū),可靠的基于Java的組件繼承模型;缺點(diǎn):可能無法經(jīng)受時間的考驗(yàn),另外,Java在客戶端上的抽象有些笨拙。

9. Google Closure ——優(yōu)點(diǎn):很好的基于組件的UI組合系統(tǒng)。缺點(diǎn):缺少UI綁定支持。

10. Ember.js ——優(yōu)點(diǎn):很豐富的模板系統(tǒng),擁有復(fù)合視圖和UI綁定;缺點(diǎn):相對較新,文檔不夠完備。

11. Angular.js ——優(yōu)點(diǎn):對模板范圍和控制器設(shè)計(jì)有很好的考慮,擁有依賴注入系統(tǒng),支持豐富的UI綁定語法。缺點(diǎn):代碼的模塊性不強(qiáng),視圖的模塊化也不夠。

12. Batman.js ——優(yōu)點(diǎn):代碼清晰,綁定、持久化的方法簡單;缺點(diǎn):使用了單例控制器。

經(jīng)過對以上各種Javascript MVC框架特性的比較,Gordon認(rèn)為只有Ember.js能夠完全滿足他的要求,從而成為他最終選用的框架。

你是否也使用過某些JavaScript MVC框架呢?歡迎參與討論。

希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 微信小程序獲取頭像和昵稱的最新方法(直接用!)

    微信小程序獲取頭像和昵稱的最新方法(直接用!)

    微信小程序最新獲取頭像信息之前是使用open-dada獲取微信頭像和昵稱,但是后面由于官網(wǎng)更新,此方法被收回了,所以不能使用此方法了,下面這篇文章主要給大家介紹了關(guān)于微信小程序獲取頭像和昵稱的最新方法,本文介紹的方法可以直接拿來用,需要的朋友可以參考下
    2023-05-05
  • Js獲取單選框radio的幾種方式

    Js獲取單選框radio的幾種方式

    這篇文章主要介紹了Js獲取單選框radio的幾種方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • uniapp中vuex的應(yīng)用使用步驟

    uniapp中vuex的應(yīng)用使用步驟

    Vuex是一個專為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式,它采用集中式存儲管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化,下面這篇文章主要給大家介紹了關(guān)于uniapp中vuex的應(yīng)用使用,需要的朋友可以參考下
    2022-08-08
  • 詳解微信小程序獲取當(dāng)前時間及日期的方法

    詳解微信小程序獲取當(dāng)前時間及日期的方法

    這篇文章主要介紹了微信小程序獲取當(dāng)前時間及日期的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 原生JavaScript創(chuàng)建不可變對象的方法簡單示例

    原生JavaScript創(chuàng)建不可變對象的方法簡單示例

    這篇文章主要介紹了原生JavaScript創(chuàng)建不可變對象的方法,結(jié)合簡單實(shí)例形式分析了基于原生JavaScript創(chuàng)建不可變對象的相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • uniapp使用第三方UI庫uview-plus的方法

    uniapp使用第三方UI庫uview-plus的方法

    uview-plus是uni-app全面兼容nvue的uni-app生態(tài)框架,全面的組件和便捷的工具會讓您信手拈來,下面這篇文章主要給大家介紹了關(guān)于uniapp使用第三方UI庫uview-plus的方法,需要的朋友可以參考下
    2023-04-04
  • 一個不錯的仿攜程自定義數(shù)據(jù)下拉選擇select

    一個不錯的仿攜程自定義數(shù)據(jù)下拉選擇select

    這是一個仿攜程自定義的數(shù)據(jù)下拉選擇select,對一些比較重要的參數(shù)進(jìn)行的描述,方便初學(xué)者
    2014-09-09
  • Javascript筆記一 js以及json基礎(chǔ)使用說明

    Javascript筆記一 js以及json基礎(chǔ)使用說明

    JavaScript中的數(shù)據(jù)很簡潔的。簡單數(shù)據(jù)只有 undefined, null, boolean, number和string這五種,而復(fù)雜數(shù)據(jù)只有一種,即object。
    2010-05-05
  • 微信小程序開發(fā)中的疑問解答匯總

    微信小程序開發(fā)中的疑問解答匯總

    這篇文章主要給大家總結(jié)了關(guān)于微信小程序開發(fā)中的各種疑問解答,文中將在微信小程序開發(fā)中可能遇到的問題都進(jìn)行了整理和解答,對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • ThreeJS從創(chuàng)建場景到使用功能實(shí)例詳解

    ThreeJS從創(chuàng)建場景到使用功能實(shí)例詳解

    threejs是一個用于在瀏覽器中繪制3D圖像的JS庫,它是基于webgl實(shí)現(xiàn)了,包括了webgl1和webgl2的渲染引擎,下面這篇文章主要給大家介紹了關(guān)于ThreeJS從創(chuàng)建場景到使用功能的相關(guān)資料,需要的朋友可以參考下
    2022-08-08

最新評論