简单介绍
我代表Sencha和整个Ext JS团队,非常自豪的宣布,在今天,Sencha Ext JS 5公布了。Ext JS 5已经迈出了一大步,在这里,我们还想花一点时间来感谢我们的社区为我们提供的全部反馈和不断的支持。在我们的历史上。这是最大的一次beta版本号修订,超过了10万的下载量。与你们一起,我们创建了世界上最先进的多设备JavaScript框架。有了你们的宝贵參与。才让我们建立了最好的Ext JS框架。
新东西
触屏支持
Ext JS 5是自公司成立以来对框架进行的最全面的更新。在该版本号中将触屏设备上功能引入到了桌面应用程序——使用单个代码库。
架构改进
如今使用MVVM架构和双向数据绑定功能比以往创建应用程序更easy了。通过新奇出炉的client数据会话管理能够有效的降低与server端的交互。
通过路由的引入能够在应用程序内实现深度链接。
随着这些更新,应用程序的开发将会更高效。
响应式布局
从今天開始,通过使用响应式配置系统,Ext JS 5为应用程序提供了跨桌面和平板、不须要考虑方向更改的最佳视觉体验。
组件升级
随着组件的需求增长,Sencha在继续增强它的组件库。在Ext JS 5。如今能够在网格的单元格内为数据的可视化和大数据分析加入小部件。
在Ext JS 5内,还加入了用来实现金融图表功能的升级了的经过触屏优化的图表包。
See It In Action!
深入Ext JS 5
统一的跨桌面和触屏设备事件
Ext JS 5是第一个同意使用同样代码既支持桌面又支持触屏设备体验的版本号。
通过引入Sencha Touch的手势系统,全部代码都已经支持诸如捏、缩放、滑动、触碰、长按等手势。这样。就能够将已有的桌面应用层恒旭通过非常少甚至不须要更改代码就能够应用到桌面平台。
框架会通过托付事件系统会将鼠标单击事件映射到触屏手势,这个转换过程是自己主动的。
MVVM架构和双向数据绑定
在Ext JS 4。引入了MVC架构。而在Ext JS 5。引入了MVVM(模型-视图-视图模型)架构。它不单能够进行双向数据绑定。还能够非常好的将业务和显示逻辑分离开来。
MVVM同意将视图中的改变自己主动写回模型(反之亦然)。这样的在视图与模型直接的实时与自己主动同步(双向数据绑定)。可节省大量开发时间和降低开发时的错误次数。在框架中,还加入了计算值和字段,这样,绑定到视图的对象就能够在同步之前通过计算进行转换。希望新的MVVM架构对你们有所帮助。
在Ext JS 5。除了MVVM,还引入了ViewController来增强MVC的支持。ViewController的作用域是直接与视图关联的,这样。就可消除非常多传统MVC中管理对象引用和恢复应用程序状态所带来的开销。应用程序如今能够通过在视图中监听全局事件而避免使用通用控制器来节省内存和处理时间。
响应式布局
在Ext JS 5引用了响应式配置插件来解决跨桌面和平板所需的最佳视觉体验和导航。
使用新的响应式配置系统,就可在方向改变(设备旋转)的时候,自己主动改变应用程序位置或导航元素的布局。
responsiveConfig: {
landscape: {
region: 'west'
},
portrait: {
region: 'north'
}
}
或者
responsiveConfig: {
'width > 800': {
region: 'west'
},
'width <= 800': {
region: ‘north'
}
}
在桌面浏览器上调整浏览器窗体的大小或旋转平板来測试一下这个演示样例,看看它的行为。
海王星触屏和Crisp触屏
有两个新的多设备主题能够让UI组件在桌面和触屏设备上的外观和感觉是一样的。
在使用触屏设备的时候。已有触屏版的海王星主题和新的Crisp主题会使用放大了的元素尺寸来支持更大的接触面积。
尽管能够将这些触屏版本号的主题用在桌面或平板上,但还是建议Crisp或海王星主题用于桌面,而对应的在平板上使用Crisp触屏或海王星触屏版本号。
增强的网格
网格能够说是Ext JS中最受欢迎的组件,而在Ext JS 5,网格越发强大,在当中引入了网格小部件,能够将其它新的功能、缓冲更新等合成在里面。还能够启用富数据可视化功能和实时数据更新来支撑大数据分析。
网格小部件是新的轻型组件。主要用来将sparkcharts、进度条、单选button已经其它组件嵌入到网格单元格内。
会话管理
Ext JS 5最令人兴奋的一个新功能就是会话管理——已经将事务性会话加入到数据包。
在Ext JS 4将记录保存到server的时候。要特别小心留意保存他们的顺序。
还须要确觉得全部改动过的记录或存储是否都已经保存了。全部这些记账式的数据更新协调工作非常具有挑战性。
如今,在Ext JS 5,使用了一个类来管理这些活动。名字为Ext.data.Session。会话会跟踪须要在server上更新、创建或销毁的记录。它能够理顺这些操作以确保新创建的记录能正确引用事务中的其它记录。使用会话。如今能够简单的去编辑记录及其关联记录。收集全部更新并将他们提交到server。因为会话会跟踪全部编辑操作,因而你能够马上基于完整的事务是否成功来获取全部更新而一点感觉也没有。
路由
Ext JS能够通过使用URL路由方法来将应用程序的URL转换为控制器操作和方法。从而在应用程序内实现深层链接。配置应用程序的路由能够让所请求的URL不用映射到server上的物理文件上。
URL的#部分(作为片段标识符)为应用程序提供了一种控制浏览器历史记录堆栈而无需又一次载入页面的方式。
随着散列值的变化,浏览器会触发hashchange事件。以便client的应用程序使用。
触屏优化的图表
Ext JS提供了插件式的免费图表。能够使用图表包来创建SVG或VML图像。
只是,图表包没有非常好的使用更快的画布(Canvas),而是使用了较慢的SVG来兼容很多其它的受到内存限制的移动设备。在Ext JS 5,已经在Sencha Touch图表包的基础上重构了图表包。新的图表包对触屏和低内存设备优化得更好。新的触屏优化图表包还带来一些新功能,如財务图表、多轴图表、3D图表以及包含缩放和平移支持。
它的性能更快、扩展性更好已经在触屏上体验更好。
将全部不同的图表组织起来的演示样例应用程序已经被创建,如Kitchen Sink。要注意的是。Ext JS 4中已有的图表仍然能够使用。它被分离到一个单独的包中。
只是,假设开发目标是平板,应当使用或升级到新的图表包。
有关将图表迁移到Ext JS 5的的具体信息可阅读Ext JS 5文档中的相关内容。
Sencha核心包
Ext JS 5的首要目标是收窄Ext JS和Sencha Touch这两个框架之间的差异。眼下已经有条不紊的将类系统、数据包和功能/环境检測这些代码收缩到一个公共的核心中。因此,Ext JS和Sencha Touch能够共用这个核心包。
公共平台能够让新建的应用程序的资源,不单单是框架下的资源。在桌面、平板或其它触屏设备*用。我这个公共核心作为Sencha Touch的顶层核心的工作正在进行中。敬请期待!
指南和文档
在Ext JS 5中。不单包含了一些针对新功能和增强功能的新指南,还更新指南系统以更易于使用。
这些指南涵盖了框架升级、新的Sencha Cmd、图表升级和应用程序架构等等很多东西。
以上所提及的一些Ext JS 5的新功能,仅仅只是是谈论得很多其它一点而已。在Ext JS 5有什么新东西这个指南中。能够发现很多其它其它的新功能、增强功能和改进。
支持的浏览器和平台
在Ext JS 5中最重要的事情是,对IE 8的支持没有改变,它还是一类公民。Ext JS 5支持Safari 6+,IE8+、Chrome和Opera 12+。
在移动平台。Ext JS 5支持iOS 6和7的Safari、安卓4.1+的Chrome和Window 8触屏设备(如Surface和触屏笔记本)中执行的IE10+。
Ext JS 5的培训
We have also updated the Sencha training programs. Ext JS 5 training will be available starting in June, which will include classes on Ext JS 5 Update, Upgrading to Ext JS 5, and Fast Track to Ext JS 5.
Ext JS 5的购买
Upon its release, Ext JS 5 licenses will be available for our current Ext JS 4.x prices through June 30th, 2014. This is a great opportunity to buy Ext JS 5 for the current price. Starting on July 1st, 2014, new prices will take effect. For more information on pricing, please visit the Ext JS 5 product page or contact us.
非常感谢
We wish to extend our heartfelt thanks to our community. Your feature requests, suggestions, feedback, and bug reports have made it possible for us to deliver on the goals of this release. We've worked very hard to minimize the need for code changes when upgrading to Ext JS 5 from Ext JS 4. We hope you enjoy building new apps with Ext JS 5, and upgrading your existing Ext JS 4 apps, as much as we have enjoyed building this version.
作者:Gautam Agrawal
Gautam Agrawal is Sencha's Sr. Product Manager for Frameworks (Ext JS, Touch, and GXT). He has held various product and engineering roles at Quantros and Integral, in SaaS and BI space, utilizing Sencha technologies. He holds a PhD and MS from State University of NY (SUNY) at Buffalo and a BE from Pune University.