迷你簡單易用的MVVM框架:Avalon

jopen 12年前發布 | 25K 次閱讀 Avalon Web框架

avalon是一個功能強大,體積小巧的MVVM框架。它遵循“操作數據即操作DOM”的理念,讓你在代碼里基本見不到一點DOM操作代碼。DOM操作全部在綁定后,交給框架處理。相當后端有了ORM一樣,不用你手寫SQL,提高生產力!

 MVVM框架:Avalon

與其它js框架相比,同樣實現著名的todos功能,(參見todomvc官網),在所有MV*的實現中avalon是讓用戶寫代碼最少的。

與其他MV*相比,它不僅輕量,最低支持到IE6,而且性能是最好的。

優勢:

  • 使用簡單,在HTML中添加綁定,在JS中用avalon.define定義ViewModel,再調用avalon.scan方法,它就能動了!
  • 兼容到IE6(其他mvvm框架, knockoutjs IE6, angularjs IE7, emberjs IE8, winJS IE9 )
  • 沒有任何依賴,只有72K,壓縮后22K
  • 支持管道符風格的過濾函數,方便格式化輸出
  • 局部刷新的顆粒度已細化到一個文本節點,特性節點
  • 要操作的節點,在第一次掃描就與視圖刷新函數相綁定,并緩存起來,因此沒有選擇器出場的余地。
  • 讓DOM操作的代碼近乎絕跡
  • 使用類似CSS的重疊覆蓋機制,讓各個ViewModel分區交替地渲染頁面
  • 節點移除時,智能卸載對應的視圖刷新函數,節約內存
  • 操作數據即操作DOM,對ViewModel的操作都會同步到View與Model去。

與其他框架比較:

  • 它體積更少,在主要的幾個MVVM框架(擁有雙向綁定機制),knockout是三千多行,angularjs 1.6萬, emberjs2-3萬行, winjs是幾M, kendoui是幾M!
  • 兼容情況,kendoui與 knockoutjs IE6, angularjs IE7, emberjs IE8, winJS IE9
  • 讓用戶寫代碼更少(可見我給出的todos)
  • 上手難度,與knockout差不多,但借鑒了angularjs的,更為易用。
  • 與knockoutjs, angular, winjs一樣是使用動態模板,至少保持第一屏數據是真實的,對SEO友好。
  • 源碼也是它們中最易讀的。簡單的代碼也意味著擴展調試等容易。

項目主頁:http://www.baiduhome.net/lib/view/home/1374369221371

     本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!