【翻譯】Ext JS 6有什麼新東西?,extjs

來源:互聯網
上載者:User

【翻譯】Ext JS 6有什麼新東西?,extjs

  • 工具包ToolKits
  • 發布
  • 包的命名
  • Fashion
  • 圖表
    • ItemEdit外掛程式
  • 網格
    • 試算表
    • 可操作模式Actionable Mode和可訪問性
  • LazyItems外掛程式
  • 螢幕助讀程式支援可訪問性
  • 微載入Microloader
  • Touch網格

原文:http://docs.sencha.com/extjs/6.0/whats_new/6.0.0/whats_new.html

Ext JS在Sencha架構中引入了許多新的和令人興奮的改進。這些變化為基於所有現代瀏覽器、裝置和螢幕尺寸帶來了新的功能和可用性。

工具包(ToolKits)

Ext JS 6最大的變化就是將Ext JS和Touch合并為一個單一的架構。之前的架構的核心(資料、控制器、模型等等)已被調和為一個單一的公用平台。這樣,資料和邏輯就能共用,從而協助開發人員進一步去最佳化他們的應用程式。

那些具有獨特功能的東西將會被分解為兩個絕然不同的兩個工具包:古典(Classic)和現代(Modern)。這些工具包通過Ext JS和Touch的視圖層來進行劃分的。那些共用核心資源和邏輯,並使用這兩種工具包的應用程式被稱為通用(Universal)應用程式。

在使用Cmd產生應用程式的時候,需要選擇應用程式的工具包,這個可通過簡單調整應用程式的app.json來實現,如下所示:

"toolkit": "classic", // or "modern"
發布

由於架構結合為了單一實體,SDK的結構不得不根據classic、modern和common這三個地區進行重組。

同樣,產生和樣本檔案夾也包含classic和modern這兩個子目錄:

ext-all.js這個檔案在build檔案夾中依然存在。而ext-modern.js就相當於使用sencha-touch.js。兩者使用的是共同的核心。

在目前的版本中,樣本kitchensink就是所謂的跨平台 app程式,一個單一的結合了經典和現代兩個組建組態的應用程式。

包的命名

對於各種不同包中的首碼“ext-”和“sencha-”已經被刪除。這些首碼當初主要是用來區分Sencha Touch、Ext JS和公用庫的。而現在,他們不再需要進行這種區分了,所有這些代碼都已經包含到了Ext JS中。這意味著“sencha-charts”現在應為“charts”,而“ext-theme-neptune”則為“theme-neptune”。

正如你所想的哪樣,要從Ext JS 5升級到Ext JS 6,就需要在app.json檔案中調整包的引用名稱。

Fashion

Fashion是Sencha推出的新的SASS編譯器,用於建立應用程式主題。它是使用Javascript編寫的,可在瀏覽器中運行。結合PhantomJS後,在Sencha Cmd中使用Fashion來建立SASS比app watch要好。這意味著Ruby不再是系統所需的!由於Fashion是運行在瀏覽器的,因而能將SASS的構建減少到兩次(一次是進行切片(slicer),一次是最小化所需內容)。更重要的是,可以通過app watch迅速的以增量方式重建SASS,這給開發人員帶來了實實在在的好處。

對於app watch,使用Fashion還有一個更大的好處:線上更新!在(現代)瀏覽器中開啟一個應用程式並載入SASS檔案來代替產生的CSS。Fashion無須重新整理頁面就可更改並編譯SASS,並更新CSS。

如果要啟用在西安更新,可將“?platformTags=fashion:true”添加到URL。

由於不再使用Ruby,因而依賴Ruby代碼的Compass功能將不能再使用。這就不得不使用JavaScript來建立。我們將會儘快編寫如何為Fashion編寫自訂JavaScript擴充的文檔。有一些Compass中的SASS代碼已經遷移到了Fashion,因而並不是所有的Compass功能都會受到應用。總的來說,如果不使用自訂的Compass功能,就不會體會到之間的差別。

重要的是,線上更新只有在整頁模式是運行在Cmd Web server的時候才會工作。在Ext JS的classic工具包中,一些Sass的修改可能需要一個布局或整個頁面重新載入。對於modern工具包來說,很少會有這樣的問題,因為它很大程度上是基於CSS的,且更能適應積極的變化。

圖表

圖表包中最大的變化是在3D餅圖中,它現在支援標籤和可配置的3D方面。在圖表kitchensink中可以查看到這些樣本。

ItemEdit外掛程式

另一個最大最新的功能是itemEdit外掛程式,它運行使用者通過拖動標記去修改圖表值。可通過查看Kitchen Sink中Scatter Chart的自訂表徵圖樣本來查看itemEdit外掛程式的行為。

序欄標籤、條碼和提示資訊的renderer現在支援通過ViewController的方法來命名(聲明式渲染)。軸標籤的renderer也即將到來。

值得注意的是,Ext JS 6已經遺棄舊的ext-charts包。任何使用ext-charts的都需要重構應用程式以使用sencha-charts包。

網格試算表

在Ext JS 5.1中引入的試算表模型現在有了一些令人驚歎的新功能。選擇現在可通過設定extensible為true來設定為可擴充的,這樣,就可拖動右下角的拖動角指標來添加選擇,從而對當前所選內容沿垂直方向或水平方向進行擴充。

這通常會結合使用當前選擇的外掛程式來複製值到擴充地區,就像在一個典型的試算表中所期望的哪樣。

可操作模式(Actionable Mode)和可訪問性

網格還支援ARIA的“可操作模式”,該模式是原始儲存格編輯模式的延伸。這將允許所有類型的儲存格內容能夠通過鍵盤擷取焦點或啟用。這是對於可訪問性的巨大進步,這對於超級使用者來說,就可以無需滑鼠就能導航到網格中的任何地方。

LazyItems外掛程式

該外掛程式可延遲子組件的渲染,直到呈現的時候再進行渲染,從而降低子組件的執行個體化和初始化的執行成本。

例如,在標籤面板中設定deferredRender為true,未呈現的標籤就不會對它的後代組件進行執行個體化和初始化,從而減少開銷,直到標籤被啟用的時候才會進行渲染。

螢幕助讀程式支援(可訪問性)

ARIA功能已經直接到了組件的生命週期,這意味著不再需要指定aria包來擷取正確的ARIA行為了。應用程式現在支援螢幕助讀程式(類似JAWS)而無需指定引用。

微載入(Microloader)

Sencha Cmd 6現在資源方麵包含了本機存放區緩衝,這類似於Sencha Touch的產品的微載入。儘管如此,還是有一些重要的改進:

  • 緩衝能在app.json中禁用
  • 只有通過微載入方式載入的內容才不會被刪除
  • 只有應用程式的目前的版本才可保持在本機存放區

這些改進解決了當前Touch微載入所報告的問題。主要的是,它會在超出空間的時候積極的刪除本機存放區的內容。這問題時常發生是因為保留了不必要的舊版本應用程式,這讓完全刪除成為最終選擇。

Touch網格

Touch網格不再是一個獨立的Cmd包,它現在已經預設成為modern工具包的一部分。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.