Ext JS 4 Beta 3 今天可以下载了
今天,我们很高兴能在每周发布周期的日子里发布ExtJS 4 Beta 3,离我们的目标,ExtJS 4.0最终发布版越来越近了。到目前为止,在你们的帮助下,我们做了大约一千个改进、错误修复和新功能。自从第一个预览版发布以来,我们就迫不及待地想用坚不可摧的最终发布版来报答你们。
虽然我们还在跟踪少量处于边缘的已知问题,总体来说,我们对框架的稳定性还是相当满意。我们已经更新了大量的示例和文档,并想现在和你分享一些这些改变。
MVC指南和示例
应用架构是ExtJS 4中一大新功能。它基于MVC架构,不单帮你组织的应用程序代码,还大大减少了代码量。直到目前,在ExtJS中如何使用MVC的详细信息还很少,因此,在当前的beta版本中,添加了2个完整的MVC示例(MVC Feed Viewer和Loading Nested Data),还添加了如何使用它创建应用程序的详细指南。
我们本来是想在最终版本才包括额外的MVC示例、教程和文档,但在此期间,我们将在beta 3中提供,以满足你的渴望,并鼓励你使用应用架构去挖掘和编写自己的应用程序。目前,我们已经大大简化了现有的框架(MVC只有3个类),同时通过使用全新的ComponentQuery对象使它变得更强大。
对第一次接触它的来说,ComponentQuery是一个组件的选择器引擎。它可以让你在页面如在DOM中搜索元素一样在页面中搜索组件。譬如你想获取页面中所有以“Users”为标题的Grid,可以这样写:
1 | Ext . ComponentQuery . query ( ' gridpanel [ title = " Users " ] ' ) ; |
ComponentQuery接受几乎无限量的选择器,并且支持任何级别的嵌套层。在CQ文档,可以看到更多示例,而在MVC指南中,可了解如何在你的应用程序中使用这种强大的新技术。
属性表格回归
在beta 3中回归的组件是属性表格。我们很高兴看到属性表格在beta 3中回归,它的运行在APi中已大为改善。前一版的属性表格不能使用Store,只能使用对象提供键值和编辑值。在ExtJS 4中,它仍然可以使用旧的格式,不过,现在它可以象表格一样使用Store。在本地的beta 3示例中,我们提供了一个新的属性表格的示例。
API和文档改进
在2010年11越的Sencha大会上,我强调过API和文档是我们改进ExtJS 4必须做的两件事。虽然还不是4.0最终版本,但是,我们已经很努力的,花费了不少精力去改善它。
先说说API文档,文档本身及其应用程序已被更新,在beta 3中首次增加了指南部分。我们拥有树状类系统指南,这是我们的宝贵资源,我们会持续更新直到在ExtJS 4.x。即使不包括指南,ExtJS 4开发者文档也几乎是ExtJS 3的两倍。
我们还在尽力改善ExtJS的API。第一次,我们有正式的API样式指南,它规范了框架中的类、功能和配置的名称。从beta 2到beta 3,为了使框架符合样式指南,我们做了大量修改。在更新说明中已经详细说明了从beta 2以来的所有修改,如果你已经在使用先前的beta版本来开发你的应用程序,你必须更新你的代码以符合规范的API。
我们将在ExtJS 4.0最终版本中发布API样式指南,以帮助你阅读和理解为什么它要这样命名,最终使你的代码使用相同的约定。
性能改进
在过去几周,我们一直致力于改进性能。首先,我们优化了类定义和加载系统,从而让它比以前版本大大减少了启动时间。我们还通过更智能的模版编译算法,统一的渲染系统提供了组件的渲染速度。最后,对经常调用的底层DOM功能进行了优化,从而让UI渲染和操作更快。
结合这些改善,会明显感到beta 3比之前的版本更快。不过,我们还没有完成。性能优化是一个持续的过程,我们预计框架随着事件的推移会越来越快。
ExtJS 4.0最终版本路线
从现在开始直到最终版本,我们的重点是修补余下的错误和继续改进文档。在4.0最终版本,我们也打算发布最后更新的日历组件。在现实世界中继续帮助测试框架,是无价的,并能大大提高我们为你提供框架的速度。再说一遍谢谢你,我们迫不及待的想和你们分享最终产品。
Written by Ed Spencer
Ed Spencer leads the development of Ext JS and supporting projects. An expert with Ext JS and JavaScript in general and with several years experience with traditional server side frameworks, he has broad experience in API design and delivery. His passion is in crafting beautiful code that supports the world-class Sencha product line.