Extjs 新特性 簡介 使用extjs,sencha 團隊開發一個簡單的框架,能夠爲建立在任何類型設備上運行的應用,從手機端到平板電腦再到桌面應用,你將可以產生最佳的用戶體驗,編寫更少的代碼量,結合一個引人注目的更好的主題,extjs 擁有全部的資源能讓你在任何設備上建立出驚人的用戶體驗。css
1 extjs 和 sencha touch 的合併html
在extjs5 中,已經將 extjs 和 sencha touch 合併了,合併的過程很長,sencha 將框架中的 ext.data, Ext.app 以及更多的內容整合到 core 包中,表現被保留了,並做爲 Extjs 屬性的 一部分,存放在 ext 包中,在最後,將 sencha touch的表現層中不一樣方面的組件合併,保存一個文件中,在extjs 6 中爲了區分框架中不一樣的組件,引入了 toolKit 項 ToolKit toolkit 是一個包,僅包含了框架中的表現層的元素,包的組件如: panels, buttons grids 等, 在 extjs6 中有兩種 toolKit , 它們分別是:古典(classic)和 現代(modern),應用程序能夠選擇所使用的toolKit,並添加到程序中的app.json文件中: "toolkit": "classic", // or "modern"java
2.通用的 Corenode
在toolKits 包的下面是通用 的 Core 包,Core包將會爲 data(Ext.data)和應用架構 (Ext.app)提供一個通用的api 接口,經過通用的Core ,應用能夠共享代碼從而來管理data 以及 viewModels 或後臺進程的通訊控制邏輯。web
3. Sencha Touchjson
若是你升級了 sencha touch, 你將當即可以從 ViewModel 和 ViewControler 的訪問中獲益,在 使用 modern toolkit 和通用 core 時,在extjs5下,你仍能夠使用多進程系統 ,鼠標事件將無 縫的轉化爲事件偵聽器如 touchstart,而不須要檢測設備的 功能,api
4. 通用應用和智能手機 瀏覽器
使用extjs6 和 sencha cmd6,你 能夠使用任意一個 toolkit建立 通用的應用程序,經過這種方式你 能夠建立一個能在移動設備上運行的單個應用程序,像智能手機或企 業桌面應用運行在ie8 或任意設備 或瀏覽器。你能夠在sencha cmd 生成的 app.json 文件中刪掉 toollit key 來標明哪一個 toolkit 使用哪 個主題,包含一個修改的塊。緩存
"builds": { "classic": { "toolkit": "classic", "theme": "theme- triton" }, "modern": { "toolkit": "modern", "theme": "theme- triton" } }
就如你所想同樣,咱們爲classic 和 modern toolkit 都設計了主題,可是你能夠隨意調整主題直到滿意。若是在你的 app.json 文件中有一 個 builds 塊, 「sencha app build" 將會建立全部設計的 builds,並保存在一個獨立的文件夾中,另外你還能夠經過指向 build key 名稱來建立,例如:sencha app build modernsass
5. Trition 主題
extjs 6新增 trition 主題,trition主題是個簡約平面主題,該主題的最大特色是:焦點在內容在元素上而不在圓角或梯度上,同時支持字體圖標,字體圖標大都來自於Font Awesome ,使用Triton 主題,應用程序能夠很容易的控制這些可擴展的矢量圖標的尺寸、顏色。
支持字體的圖標包括: panel 控件、樹形節點、form 表單、按鈕、複選框、單選按鈕、箭頭、 gride 的行圖標、過濾菜單等一些可視化的元素能夠使用字體圖標。
6. 觸發改變大小
Trition 主題能夠建立適合桌面應用程序或平板應用程序的大小,對於 classic toolkit ,相對於Neptune 和 Crisp 主題爲每個提供一個 "touch-size"的方式來講,更容易管理。對於modern toolkit, 顯然取決於用戶的css 佈局,使尺寸可以更容易控制,在智能手機上, html元素可以自動添加一個x-big 樣式類名並測量全部的項,以分配更大的區域。
7.Fashion
fashion是sencha新增的組件,使用 '*.scss' 文件來綁定主題,fashion 就像sass 語言同樣,用一些有用的擴展來支持工具,fashion 是用 javaScript 語言來實現的,只在瀏覽器中運行,在與 PhantomJS相比,sencha cmd 能夠使用fashion ,就像建立app 監聽一來來建立主題。這就意味着再也不須要 Ruby 系統,這是由於 fashion 運行在瀏覽器中,不用再次建立樣式規則了,更重要的是,咱們能夠根據 app 監聽來擴展並從新生成主題,這在開發中會獲到更多的益處。
8.報表
extjs 在報表顯示上,引入新功能,選中的單元格將會被展開,經過設置 extensible:true,這會在按鈕的右側添加一個拖葉或一個小區域塊,這個容許當前選中的單元格水平展開及垂直展開
9.可操做模式(Actionable Mode)和可訪問性
網格還支持ARIA的「可操做模式」,該模式是原始單元格編輯模式的延伸。這將容許全部類型的單元格內容可以經過鍵盤獲取焦點或激活。這是對於可訪問性的巨大進步,這對於超級用戶來講,就能夠無需鼠標就能導航到網格中的任何地方。
10. LazyItems插件
該插件可延遲子組件的渲染,直到呈現的時候再進行渲染,從而下降子組件的實例化和初始化的執行成本。 如,在標籤面板中設置deferredRender爲true,未呈現的標籤就不會對它的後代組件進行實例化和初始化,從而減小開銷,直到標籤被激活的時候纔會進行渲染。
11. 屏幕閱讀器支持(可訪問性)
ARIA功能已經直接到了組件的生命週期,這意味着再也不須要指定aria包來獲取正確的ARIA行爲了。應用程序如今支持屏幕閱讀器(相似JAWS)而無需指定引用。
12. 微加載(Microloader)
Sencha Cmd 6如今資源方面包含了本地存儲緩存,這相似於Sencha Touch的產品的微加載。儘管如此,仍是有一些重要的改進: 緩存能在app.json中禁用 只有經過微加載方式加載的內容纔不會被刪除 只有應用程序的當前版本纔可保持在本地存儲
相關鏈接
http://docs.sencha.com/extjs/6.0/whats_new/whats_new.html 英文版原文
http://extjs.org.cn/node/751 extjs 中文官網
http://www.ibm.com/developerworks/cn/web/wa-aj-extjs30/index.html ExtJS新特性詳細介紹
https://www.sencha.com/ ExtJS 官網(英文版)
http://docs.sencha.com/ ExtJS 官網文檔