一個輕量級的雙向綁定工具,你能夠把它暫時理解爲精簡版的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"; }
還記得這個風靡網絡的視頻麼?這個小正太手裏捧着的可愛樂器就叫作Ukulelegit
Ukulele是一種來自於夏威夷的4弦小吉他,念做尤克里裏(臺譯:烏克里裏)github
官網: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項目。