輕量級的雙向綁定工具 —— ukulelejs

什麼是Ukulelejs

一個輕量級的雙向綁定工具,你能夠把它暫時理解爲精簡版的Angular。(如下簡稱ukujs)前端

先來看一個最簡單的雙向綁定例子

<div uku-application>
    <input type="text" uku-value="myCtrl.message">
    <input type="text" uku-value="myCtrl.message">
    <textarea rows="4" uku-value="myCtrl.message"></textarea>
</div>
//Register ViewModel
var uku = new Ukulele();
uku.registerController("myCtrl",new MyController());

//Define ViewModel
function MyController(){
    this.hello = "hello, ukulele";
}

圖片描述

什麼是Ukulele

ukulele
還記得這個風靡網絡的視頻麼?這個小正太手裏捧着的可愛樂器就叫作Ukulelegit

Ukulele是一種來自於夏威夷的4弦小吉他,念做尤克里裏(臺譯:烏克里裏)github

既然已經有了Angularjs,爲什麼還要再去造個輪子

圖片描述

與Angular的對比

閱讀到這裏,若是你對ukujs稍微產生了那麼一丟丟感興趣,請戳

圖片描述
官網:http://momoko8443.github.io/ukulelejs_websiteweb

(真正的乾貨都在官網裏)

DEMO:http://ukujstore.tiger.mopaasapp.com/
github:https://github.com/momoko8443/ukulelejs瀏覽器

與其它一些流行框架的性能對比

渲染2000個雙向綁定對象,所花費的時間
圖片描述網絡

渲染20000個雙向綁定對象,所花費的時間
圖片描述
圖片描述app

瀏覽器的支持

Chrome
Firefox
IE 10+
圖片描述框架

看官您要是看到這裏尚未跳轉頁面的話,咱們再來扯扯題外話

Q: 爲什麼起名叫作ukulele?mvvm

A: 做者是一位ukulele樂器愛好者。Ukulele相對於Guitar而已少了2根弦(只有4根),體積也小了不少,所以ta可愛小巧,方便攜帶,易於學習,而且有着本身獨特的音色。可是有優勢也有缺點,因爲少了2根弦致使ta的音域只有2個八度,在某些場合ta沒法與鋼琴,吉他抗衡。若是把功能健全的Angular比做鋼琴的話,那ukujs就是靈動小巧的ukulele。做者也但願ukujs也能給你們帶來相同的感覺,故給這個js工具起了這個名字。若是說鋼琴是一我的的交響樂隊的話,那ukulele配合Cajon,口風琴,等其它輕量的樂器同樣能夠演奏出美麗的樂章。工具

Q: ukujs誕生記

A: 有個一塊兒玩ukulele在SAP上班的兄弟,一直慫恿做者接點移動端的私活貼補家用,因爲做者以前只接觸過Angular,可是也知道Angular並不適用於移動端的web應用,因此他決定本身寫了一套輕量的雙向綁定工具來提升工做效率,因而就有了ukujs,(然而距截稿時爲止,他們1筆私活都沒接到,好慘)。

Q: ukujs後續的發展

A: 做者十分提倡前端組件化開發,DOM操做與mvvm並存的開發方式,目前最新版的ukujs已經支持webcomponent功能(屌!),ukujs已經趨於穩定,並已投入生產環境,請安心食用。

最後,很是感謝你能閱讀徹底文,真的很是感謝。若是不吝惜時間的話,請幫忙推薦此文,或至github,star項目。

相關文章
相關標籤/搜索