原文: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就是所谓的通用应用程序,一个单一的结合了经典和现代两个生成配置的应用程序。

包的命名

对于各种不同包中的前缀“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工具包的一部分。

【翻译】Ext JS 6有什么新东西?的更多相关文章

  1. 介绍Ext JS 4.2的新特性的《深入浅出Ext JS》上市

    以用户为中心的时代,应用的界面外观变得越来越重要.然而,很多程序员都缺乏美术功底,要开发出界面美观的应用实属不易.Ext JS的出现,为广大程序员解决了这一难题.它有丰富多彩的界面和强大的功能,是开发 ...

  2. [翻译] 预览 C# 10 的新东西

    原文: [Introducing C# 10] 作者: Ken Bonny ​ 本周早些时候(译注:原文发表于5月1日),我关注了 Mads Torgersen 在 DotNet SouthWest ...

  3. 【翻译】Sencha Ext JS 5公布

    原文:Announcing Sencha Ext JS 5 简单介绍 我代表Sencha和整个Ext JS团队,非常自豪的宣布,在今天,Sencha Ext JS 5公布了.Ext JS 5已经迈出了 ...

  4. 【翻译】使用Sencha Ext JS 6打造通用应用程序

    原文:Using Sencha Ext JS 6 to Build Universal Apps {.aligncenter} 在Sencha和整个Ext JS团队的支持下,我很高兴能跟大家分享一下有 ...

  5. 【翻译】Ext JS 6早期访问版本发布

    早期访问版本是什么 如何参与 都包括什么 Sencha Ext JS 6 Sencha Pivot Grid Sencha Cmd 6 JetBrains IDE插件 反馈 原文:Announcing ...

  6. 【翻译】Sencha Ext JS 5发布

    原文:Announcing Sencha Ext JS 5 简介 我代表Sencha和整个Ext JS团队,很自豪的宣布,在今天,Sencha Ext JS 5发布了.Ext JS 5已经迈出了一大步 ...

  7. 【翻译】对于Ext JS 5,你准备好了吗?

    原文:Are You Ready for Ext JS 5? Ext JS 5:准备升级 对于Ext JS 5加入Sencha的大家庭,我们感到非常高兴!作为一个主要版本,在Ext JS 5引入了一堆 ...

  8. [转]使用Sencha Ext JS 6打造通用应用程序

    原文地址:http://www.uedsc.com/using-sencha-ext-js-6-to-build-universal-apps.html 在Sencha和整个Ext JS团队的支持下, ...

  9. 【翻译】在Ext JS 5应用程序中怎样使用路由

    原文:How to Use Routing in Your Ext JS 5 Apps 简单介绍 Ext JS 5是一个重要的公布版本号,它提供了很多新特性来创建丰富的.企业级的Web应用程序.MVV ...

随机推荐

  1. cannot open file "cxcore.lib"

    运行例子程序的时候总是出现连接错误:LINK : fatal error LNK1104: cannot open file "cxcore.lib". 在VC选项里把C:\Pro ...

  2. Node.js 实用工具

    稳定性: 4 - 锁定 这些函数都在'util' 模块里.使用 require('util') 来访问他们. util 模块原先设计的初衷是用来支持 node 的内部 API 的.这里的很多的函数对你 ...

  3. JavaScript 知识图谱

  4. 分布式改造剧集2---DIY分布式锁

    前言: ​ 好了,终于又开始播放分布式改造剧集了.前面一集中(http://www.cnblogs.com/Kidezyq/p/8748961.html)我们DIY了一个Hessian转发实现,最后我 ...

  5. Git幕后的“故事”

    因为做操作系统实验的原因,所以通读了一遍<Understanding git conceptually>,觉得确实不错,于是就简单地记录一下.有的地方理解的还不是很深,可能不够准确,等抽时 ...

  6. dimens.xml详解

    本文联合两篇博文和自身理解写下 其中一篇:http://blog.csdn.net/hnzcdy/article/details/50628993 另一篇:暂不知原作者 Android中官方建议的屏幕 ...

  7. Ubuntu环境下Anaconda安装TensorFlow并配置Jupyter远程访问

    本文主要讲解在Ubuntu系统中,如何在Anaconda下安装TensorFlow以及配置Jupyter Notebook远程访问的过程. 在官方文档中提到,TensorFlow的安装主要有以下五种形 ...

  8. Activtiy完全解析(二、layout的inflate过程)

    转载请标明出处: http://blog.csdn.net/xmxkf/article/details/52457893 本文出自:[openXu的博客]   在上一篇文章<Activtiy完全 ...

  9. main函数之后的调用

    main函数代表进程的主线程.程序开始执行时,系统为程序创建一个进程,main函数其实并不是首先被调用的函数,而是操作系统调用了C/C++运行期启动函数,该函数负责对C/C++ 运行期库进行初始化.它 ...

  10. Android Stutio中使用java8的Lambda表达式

    转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51532028 本文出自:[openXu的博客] 目录: 为什么要使用Lambda表达式 让A ...