Web Component是Web開發的未來。Polymer, X-Tag等Web Component框架也越來越熱門,但由於其瀏覽器支持度不高,我們仍缺少將Web Component應用到專案中的機會。
但是,雖然Web Component的支持度不高,但並不代表我們不能在現有的項目中使用元件化開發思想。
Nova.js可以幫助我們在項目中使用Web元件化的方式進行開發,同時,支持行動端所有主流瀏覽器及PC端IE9+及其它主流瀏覽器。
NOVA.js 的特色
自定義元素
通過自定義元素的方式實現元件。可方便快速地定義元素的樣式、模板、屬性、方法、生命週期各階段的行為。
Scoped CSS
編寫自定義元素的CSS時無需擔心影響外部元素,樣式只會作用於元素及其內部,將你從命名的牢籠中解救出來。
雙向綁定
通過MVVM模型,方便開發者快速關聯元素的模板與屬性,快速綁定事件, 無需過多手動地讀寫DOM節點來同步屬性。
更多功能
Nova.js使用gzip壓縮後僅12K,支持所有移動端瀏覽器和IE9+等主流PC瀏覽器。它還包含屬性監聽、方法切片、Behavior復用機制等功能。
Nova.js與Polymer、Vue.js的區別
與Polymer
Nova.js是根據Polymer設計而來。其主要區別有:
- 支持度:Polymer移動端只支持到Android4.4,PC端的支持也與Import、Template等標準的支持度一樣非常低。但是Nova.js已經可以支持所有移動端瀏覽器,PC端的IE9+和其它主流瀏覽器。
- 體積:Polymer底層龐大,若在移動端想使用基於Polymer的一個元件,流量代價較高。而Nova.js在gzip壓縮後只有12K。相對所有其它的MVVM架構,非常小巧精簡。
與Vue.js
- 定位:Vue.js的定位是Web應用框架。而Nova.js專注與元件開發。因此Nova.js元件的樣式具有作用域、能方便定義元件模板。總而言之,開發元件更為方便。
- 小: Nova.js的體積為Vue.js的一半以下。因此當使用者想簡單引入一個元件時、使用Nova.js的代價也是更低的。
Nova.js的優勢
Nova.js的主要優勢就是小巧、專注於開發元件。現在有許多Web應用框架,如React、Vue.js、Angular等。但是它們的問題是太龐大。當我們想在一個很簡單的頁面(例如活動宣傳頁)中使用現成的元件時,如果還要引入React,Vue.js等框架的基礎庫,那麼成本並不低。
使用Nova.js開發元件,不管未來頁面使用的是什麼Web框架,或者是一個簡單的靜態頁面。都能引入小巧的元件。