原文链接:
https://www.sencha.com/blog/whats-new-in-ext-js-6-5-and-sencha-cmd-6-5-your-questions-answered/
在我们最近的网络研讨会”Ext JS 6.5 和 Sencha Cmd 6.5 中有哪些新功能”中 - 点此观看视频,我们提出了 Ext JS 6.5 和 Sencha Cmd 6.5 中一些令人惊奇的新功能。通过Coworkee示例应用程序,我们演示了如何使用 Ext JS 6.5 构建强大的数据密集型跨平台 Web 应用程序。在网络研讨会期间,我们进行了一项调查,以了解与会者正在使用哪些 Ext JS 版本。我们发现,在 Ext JS 6.5 发布后的两周内,超过10%的参与者已经升级,以使用这些令人兴奋的新功能。
以下是参加了网络研讨会的约150名受访者的调查结果。
有几个有趣的问题,我们没有时间在网络研讨会上回答,所以我们在下面分享答案。
Ext JS 6.5
Classic toolkit 有更新吗?
Ext JS 6.5 提供了一些同时适用于 Classic 和 Modern toolkit 的改进和功能。这些改进包括:
- 图表现在包括一个 Box Plot 和一个 Navigator 组件。您可以使用 Navigator 组件设置笛卡尔坐标图的x轴的可见范围。新的 Box Plot 图表对于显示来自多个数据集的数据非常有用。图表还新加了一个“曲线”配置项,使线条更平滑更灵活。
- D3适配器已升级为使用D3 v4 版本的 API。此外,我们还添加了一个适用于分层数据的可视化组织结构图。
- 对于数据透视表格(Pivot Grid),有一个表格布局(tabular layout),类似于 Excel 表格形式。您现在可以在 Pivot Grid 中包含小部件,从而允许您创建更好的可视化 - 例如,显示股票代码或评级组件。现在,数据透视网格还有其他配置来创建可折叠的行和列,使其更紧凑,更易于阅读。在 Ext JS 6.5 中,Exporter 现在支持导出数据透视表定义,这意味着您的用户现在可以将原始数据和数据透视表导出到 Microsoft Excel 中。
- 所有令人激动的 Cmd 6.5 增强功能,如动态包加载,progressive web apps(谷歌的小程序)以及对 ECMAScript 2015(ES6)的支持,Classic toolkit 都可以利用这些新功能构建应用程序。
Classic toolkit 会有 Modern Toolkit 的某些增强功能吗?
一般来说,有一些新功能只适用于 Modern Toolkit。此决定根据具体情况进行,具体取决于功能的复杂性。虽然新开发的重点是 Modern Toolkit,但 Classic toolkit 肯定会在将来的版本中获得新功能。目前,Classic toolkit 的新功能列表仍在考虑中,它将根据客户反馈和请求进行演变。
开始一个新项目时,应该使用哪个 toolkit?
问题细节:我们正在开发一个全新的应用程序 - 最初是支持桌面设备,但后来我们将增加对手机的支持。构建这种类型的应用程序,建议用什么方法?我们应该使用 Classic toolkit 创建通用(universal)应用程序,来构建我们最初的桌面应用程序,还是说从现在开始就只用 Modern Toolkit 最合适?
我们建议大多数新项目使用 Modern Toolkit,但是 Classic toolkit 中有一些功能,用它也是个正确的选择。以下功能仅适用于Classic:锁定列表格,支持 IE8 / 9/10,以及可访问性和对 RTL(从右到左)语言的支持。如果您的应用程序需要这些功能,那么就应该选择 Classic。
Modern toolkit 是否包含类似于 Classic toolkit 中的 vtypes 的表单验证?
是的,Modern toolkit 中的验证功能类似于 vtypes。在表单域上可以对 validators 配置一系列
Ext.data.validator.*
作为验证算法。这些可以使用自定义验证器或者验证函数进行扩展。
从 Ext JS 6.2 升级到 6.5 的复杂性是多少?
对于 Classic toolkit 应用程序,升级复杂度应该是最小的。对于 Modern toolkit 应用程序,Ext JS 6.5 升级指南中列出了一些比较大的改动。
Classic 和 Modern toolkit 之间什么时候会有平衡?
Ext JS 7.0 的目标是让 Modern toolkit 中支持大多数 Classic toolkit 具有的功能。
Cmd 6.5
我们可以在 Classic toolkit 中使用 ES6 / Typescript 吗?
是的,您可以在 Classic toolkit 中使用 ES6。我们目前不提供对 TypeScript 的直接支持,但您可以查看 ExtReact 的 WebPack 插件,作为如何自行编写脚本的示例。
利用 Sencha Cmd 6.5,Ext JS 6.2 支持使用 ES6 吗?
是的,您可以在 Ext JS 6.2 和 Cmd 6.5 中使用 ES6。
是独立加载 production 构建的包好,还是只加载单个 app.js 文件好?在multi-package 应用程序示例中,是“点击标签页”的时候才加载的吗?
app.json 中列在“uses”中的包将作为单独的 JS / CSS 资源进行构建。使用 package loader (Ext.Package.load),在应用程序里自行决定何时加载这些包。有关动态打包加载的示例,请参阅 GitHub 上的 MultiPackageDemo。
“配置(profiles)”概念是否也适用于包?
有三种可能的情况:
- 如果您正在使用 app.json 中的构建配置,那么是的,这些配置将用于构建所有“uses”的包。
- 如果您正在使用 package.json 中的构建配置,那么这些仅在直接构建包以用于非 Sencha Cmd 构建的应用程序时使用。
- 如果您正在使用 Ext.app.Profile(“应用程序配置app profiles”或“运行时配置runtime profiles”),那么该答案有所帮助。加载的应用程序配置由用启动应用程序的类决定,但如果需要,它们也可以在包中实现。
PWA 功能是否适用于 Classic toolkit?
这是 Sencha Cmd 的一个功能,所以它适用于 Classic 和 Modern toolkit。如果您有任何问题,请在论坛中分享您的问题和意见。
在哪里可以找到 app.json 的文档?
Sencha 文档包括解释 app.json 有关 Microloader 和资源管理的详细指南。您还可以在“新功能”部分找到动态包加载的详细信息。
为什么从 Ext JS 6.5 中删除了 .sencha 文件夹?
问题详细信息:我们使用 .sencha 文件夹从 all-classes.js 中排除许多类。我们现在应该怎么做? 此外,我们在 Ext JS 6.0 中使用它来添加一个新的属性配置。
sencha应用程序升级有一个开关:
此开关将保留 .sencha 文件夹并像以往一样进行升级。
默认情况下删除 .sencha 文件夹的原因是考虑到新开发者,为了减少应用程序复杂度,以及考虑到老开发者认为它是个维护的负担。
Sencha 工具
什么时候会更新 Sencha IDE 插件,支持 Ext JS 6.5?
我们计划在未来几周内发布 Visual Studio IDE 插件的更新以支持 Cmd 6.5。我们测试了所有其他插件(JetBrains,Eclipse 和 Visual Studio Code),确认了已经支持 Ext JS 6.5 和 Cmd 6.5 项目。如果您发现任何问题,请在论坛上报告。
Architect 将何时支持 Ext JS 6.5 和 Cmd 6.5?
我们发布了 Architect 4.2 以支持 Ext JS 6.5 和 Cmd 6.5。
由 Sandeep Adwankar 撰写
Sandeep 是 Sencha 的高级产品经理,热衷于移动和网络技术的创新。他在硅谷的创业公司工作,以及包括摩托罗拉和时代华纳有限公司在内的大型公司工作。他拥有芝加哥德保罗大学工商管理硕士和 IIT 孟买的技术硕士学位。
Don Griffin
Don 是 Ext JS 的高级工程总监。他是 Ext JS 用户,在加入 Sencha 之前已有2年的时间,在广泛的平台上拥有超过25年的软件工程经验。他的经验包括设计Web应用程序前端和后端,本地 GUI 应用程序,网络协议和设备驱动程序。Don 的热情是创建人们喜欢使用的世界级产品。