去年我的總結是有關我的選擇器發展史。2012年我把精力放在三個方面,加載器,動畫引擎,MVVM,這都是與我的框架有關的。基本上,得益於這三方面的着力,我的框架已經非常成熟。2013年我就可以揮軍指向UI庫了。
加載器,在我的博客中,以“我的模塊加載系統”起頭的一系列博文,已經發展到v21。v19之前是使用iframe方式實現,兼容性與穩定性更好,並且唯一能對opera12之前不檢測onerror所引發的問題。v20使用單文檔加載,調試能力更勝一籌。由於opera下的死鏈問題可以改用其他瀏覽器檢測到,決定以后使用v20的新方案。我的模塊加載器有據可考的時間是2011.4.12發布的v5,也算國內歷史非常悠久的加載器,除了宣傳不足外,技術上不輸於你們所有叫得出名的加載器。
動畫引擎,這是基礎庫的一個甜點。不同於jQuery基於Promise機制的動畫引擎,它是類似於AS3補間式動畫引擎,由一個時間軸來管理所有動畫,因此對內存非常友好,跑得比jQuery更流暢。因為是由一個時間軸進行管理,實現回滾,中止等操作比jQuery輕松多了。它在核心庫中就支持顏色漸變,回滾,旋轉等效果,但只需要500行代碼。支持jQuery所有特效,並且API完全一致。目前發展到v6。
MVVM,這是搞C#的人應該耳熟能詳的東西。這是為我的UI庫做准備。目標是實現“操作數據即操作DOM,最小化智能化刷新界面,智能管理狀態與異步操作,更易編寫與測試”。目前版本為v4。
此外,圍繞着mass Framework,今年寫了70篇相應的專題博文。各種對JS框架,尤其是對jQuery的改進探究,形成了一整套自己的體系。在模塊化的前提后,改進是十分成功與迅速的。今年,由node模塊再拆分成node_fix模塊,就能大功告成。lang_fix, css_fix, attr_fix, event_fix,這是現存的四個補丁模塊,專門用於對付舊式IE。新的實驗性質的模塊以_neo結尾。有了這些規划,我們便能保證在加載總能發出最小的請求數與享用最新的API帶來的好處。即便是合並后,也只是在沒有后綴結尾的核心模塊與種子模塊中進行。
另外對bootstrap的研究也告一段落。UI庫將是我以后的發展方向,並借此機會,試水更多HTML5帶來的新API,讓它更有競爭力。
2012年算是在打樁,2013年開始建大廈了。
