Ext 3.1版本放出,可以免费下载了
大家可以到以下地址下载:
http://www.extjs.com/products/extjs/download.php?dl=extjs310&ref=extjsgreenbutton
Ext 3.1的主要改进包括:
Internet Explorer Memory Improvements
As single-page, complex, web apps are becoming more are more prevalent, memory management across all browsers has become a critical issue. With Ext JS 3.1, we have implemented a wide array of workarounds for memory leaks—most notably in IE 6+.
大意:当单页面、复杂的基于互联网的应用越来越普遍时,跨浏览器的内存管理器已成为一个至关重要的问题。在Ext JS 3.1已针对此问题做了大幅改善,尤其是IE 6版本以上的IE浏览器。
DOM Leaks
DOM reference leaks are one of the biggest performance hits in an app. Ext JS 3.1 has undergone extensive refactoring to ensure all components are properly removing DOM references, in both Ext JS and Ext Core . The result has been the removal of nearly all orphan nodes when removing elements in IE (Sorry IE6/7 FORM tags! ).
大意:在Web应用中,DOM泄漏是最大性能问题。ExtJS 3.1已针对此问题进行了大量的重构工作,以确保所有组件能正常删除DOM节点。无论是Ext JS,还是Ext Core,在IE中,当删除一个元素时,都会清除该元素下的单独节点。
JScript Engine Leaks
Most surprising was that even simple Javascipt Objects leaked, even through and including IE8. All current versions of IE suffer from a poor implementation of the Javascript Object which, on long lived and often used objects such as caches, cause large memory leaks. IE 9 may correct this issue but in the meantime, 3.1 captures the benefits of a unified Element Cache workaround that is flushed during garbageCollection in IE. In certain tests, we gained a 50x memory reduction for long-running single-page apps.
大意:最令人惊讶的是,即使是简单的Javascipt对象也会有产生泄漏,这种情况甚至在IE8上也会出现。目前所有的IE版本由于 JavaScript对象这些糟糕的使用导致大量内存泄漏,如不长的存活周期以及经常使用缓存这类对象。 IE9可以解决这个问题,同时,在Ext JS 3.1中抓住了统一元素缓存区域的优点,在IE中垃圾收集时进行擦写。在某些测试中,实现了长时间运行单页面运用而内存减少了50倍。
Optimized Layouts
In 3.0 many components were changed to become containers to allow for complex dynamic interfaces. In version 3.1, we have gone back to optimize this process, removing redundant calls to expensive layout calculations wherever possible. We also now suspend resizing of child containers until the layout process is complete which prevents a “Layout Storm” which could occur previously. In 3.1, destroying a component also removes the component from it’s container, greatly improving performance and optimizing other functions that were being executed.
大意:在3.0版本中,许多组件已经修改为容器类对象,以便实现更复杂的动态界面。在3.1版本中,已经优化了这个过程,去掉了冗余的回调来减少耗时的布局计算。现在,在布局过程中不会去调整子容器的大小,只有等到布局完成后才会去处理,这样避免了“布局风暴”的产生。在3.1版本中,删除一个组件将和它的容器组件一起删除,从而大大提高了性能和优化了处理函数。
EventManager Refactor
The EventManager and underlying core adapter have undergone a full refactor to remove code duplication and inefficiency. The previous event caching mechanism was overhauled to provide a faster and more consistent experience. For complex containers, this can result in an order of magnitude improved response time. Buffered and deferred events are now being removed during element and component destruction stopping extraneous events from being executed.
大意:
EventManager和核心适配器全部进行了重构,移除了重复和效率低下的代码。以前的事件缓存机制已经全面调整,以提供更快和更一致的体验。譬如复杂的容器,它的响应时间是大幅提高的。当元素或组件被删除时,缓冲和冒泡的事件会被阻止执行。
Improved Flexibility
When Ext Core
was moved to its own repository in 3.0
, there were many private methods which made Core difficult to extend. The Ext community
asked for greater flexibility and we have delivered in 3.1, with most methods becoming open prototypes. Ext.each
was also unrolled from much of the internal codebase, resulting in better performance on many common tasks.
大意:在Ext Core 3.0中,因使用了自己的核心库,从而导致许多核心库扩展困难。为了解决这个问题,Ext社区要求有更大的灵活性,而在3.1版本中,我们实现了这个要求,使3.1版本成为最开放的原型方法。Ext.each也尽量从内部代码库中开启 ,从而实现性能的改善。
New Components
While the performance improvements in 3.1 are drastic, we love releasing our latest visual creations. Here are some of our most requested components and enhancements which are being included by default with 3.1:
大意:在提高了性能的同时,3.1版本还增加了不少新的组件。例如:
New TreeGrid Extension
Our new TreeGrid component creates the perfect hybrid for lists—combining the power of a Grid (sorting, showing additional information) with the flexibility and UI of a Tree. (MS Project). TreeGrid is currently based off of TreePanel, for code optimization and performance. We are also currently working on creating a TreeStore which will support hierarchical data structures, which will appear in 3.2. This has been one of our biggest component requests which we’re now happy to deliver:
大意:新的TreeGrid组件可以创建更完美的列表显示,它由强大而灵活的Grid(可排序、显示附加信息)与Tree界面组合而成。TreeGrod当时的基类是TreePanel,并进行了代码优化和提高性能。我们目前正在创建一个TreeStore用来支持分层数据结构,这可能会在3.2版本中出现。这一直是我们最大的组件要求,而我们现在很高兴实现了其中之一:
Locking Grid Columns
Locking grids columns return with the new LockingGidView/LockingColumnModel UX, allowing users to view specific columns while scrolling horizontally.
大意:通过 LockingGidView/LockingColumnMode对象可以实现锁定Grid的列,从而用户可通过垂直滚动条查看特定的列。
Grid Column Grouping Plugin
With the new ColumnHeaderGroup Plugin , grid columns can now be grouped together easily. Columns can also be reordered within a group, for maximum flexibility.
大意:通过新的ColumnHeaderGroup插件可轻松实现标题的分组。列也可以重新排列在一个组,实现最大的灵活性。
Summary
With 3.1 we took a deep look into optimizing many algorithms to improve IE support, overall performance, and introducing new functionality. We think these enhancements will greatly improve your user’s productivity while supporting faster, more robust applications. We are also still hard at work on the Ext Designer , which we hope to debut in the next few months. Make sure to update your version today and check out the new features for yourself.