PDA

View Full Version : Important: When can we expect the ExtJS 4.2 release?



qwikso
18 Oct 2012, 8:38 AM
Hi Ext DevTeam,
few weeks ago we migrated our large web app based on Ext 3.4 to the last available Ext 4.1.1 version. I know this problem was discussed in many threads of this forum, but our customer is very very unsatisfied because of very very poor performance in IE7/IE8. This means the application runs now 2-3x slower than before and this is really critical for us. Even from the progammer's point of view the new architecture is pretty nice and I like it, for users this is totally transparent and they want just useful application. And they are true...!

Now we are facing the very important question: roll back to the older version or try to wait for a new one (with promised performance improvements)? I understand you can't tell me any specific date, but for us is every information very helpful. Please give me some feedback about this release schedule - when can we expect it (november, december, ...?). Our customer wants to really know it and unfortunately we don't know it.

Thank you very much for you answer.
Best regards
qwx

Tim Toady
18 Oct 2012, 7:11 PM
They don't give many dates these days. I haven't seen a beta yet, so I would be very surprised if it was any time soon. In the mean time, have you tried to isolate bottlenecks? Is it anything in specific that is the issue or is it an application wide problem? There was a blog post (http://www.sencha.com/blog/optimizing-ext-js-4-1-based-applications/) not too long ago that would be a good place to start if you haven't seen it already.

scottmartin
19 Oct 2012, 6:45 AM
There is no public release date for 4.2 at this time.

Performance is always an concern with each release. We understand that Ext4 is not as fast as Ext3, but we are getting better with each release.
Ext4 is a bit heavier and this comes at a price.

Please also consider that you are trying to execute these on IE7 and IE8 that are old and do not perform well using JS.

IE7: rtfm: 2006
IE8: rtfm: 2009

I know some companies are just bent on using IE; and outdated versions at that.

I myself do not understand this concept when you can simply change to a current browser and get an instance performance boost.

We can argue all day on this ... but they are the customers.

Here is a blog on 4.1 performance that may help:
http://www.sencha.com/blog/ext-js-4-1-performance/

Regards,
Scott.

themightychris
21 Oct 2012, 8:16 AM
Be sure that you are using Ext.suspendLayouts() between batches of adding/removing/updating rendered components, I found that to bring old IE performance a lot closer

joeri
21 Oct 2012, 11:52 PM
I myself do not understand this concept when you can simply change to a current browser and get an instance performance boost.

Except for the fact that you can't, because every IE upgrade has always broken code that wasn't specifically designed for it (despite their best intentions wrt. backwards compatibility). I remember having to monkey-patch ExtJS 3.3 to support IE9 properly (even in IE8 mode).

Then do that in an environment with 50+ apps that depend on the IE engine (in the browser or embedded), all of which need to be retested / upgraded. And with those upgrades come licensing costs, costs for redeveloping custom add-ons and integrations, costs of doing QA, costs of upgrading server infrastructure, costs of retraining employees, and finally costs for the people coordinating all that work. What is so hard to understand about the concept that this is not an easy or cheap thing to do?

@qwikso: I've deployed apps with ExtJS since 2009. In that time I've learned two things: (1): Sencha puts out a great product but they have have consistently delivered it later than promised (so don't ask them for a date, because it will be wrong.) And (2): performance has always been the focus of the next release and except for 4.0 -> 4.1 it has always gotten slower (2.x < 3.0 < 3.x < 4.0 > 4.1). Now, you might be willing to bet on them finally having a handle on the performance story and 4.2 being a lot faster. But, I wouldn't bet on that. I'm riding it out on 3.4 myself until either sencha gets performance under control, or our customers upgrade to machines / browsers fast enough to run 4.x.

qwikso
22 Oct 2012, 5:20 AM
First of all, thank you very much for your posts and I definitely agree with @joeri. Our customer is a pretty big company with many application running on IE7/8 and IE upgrade would cost them a lot of time and money. Simply said - in the corporate world people do not have the luxury of the last versions of browsers like on a developer's machine. That's why we committed ourself to support old IEs and ExtJS had to be the solution.

Of course I'm trying to be always 'up-to-date' in all Ext news, so I'm seriously reading all blog articles. Some time I was playing around with the performance in IE8 and really thanks to the "Ext.suspendLayouts()/Ext.resumeLayouts()" feature I've improved slightly the performance. But it was not enough. Operations taking 1 second in IE9 take even 5 seconds in IE8. This is a critical difference. It's good to say, that our application is strongly tab-based (first-level tabs where each one can contain another tab panel or complex layout with grids/forms/...)

During profiling in IE8 I've identified these problematic parts:
Tab activation by user click as well as programmatically via setActiveTab(). Here is a thread discussing this problem with details:
http://www.sencha.com/forum/showthread.php?136886-Very-slow-Tab-Panel-performance-vs-3.4
Querying in all aspects (Ext.ComponentQuery) but with growing DOM it's getting much slower (eg. a next tab was added). Generally calling <cmp>.query(...) makes me nervous.
Instantiation process (invoking Ext.create(...)) - any idea how can I influence the performance?
Layouting - I can batch operations thanks to the suspending and resuming, what brings really better results than before but still at least 2x slower than in IE9 and other modern browsers...

Barzoy
22 Oct 2012, 6:09 AM
What you customer thinks about Chrome Frame (http://www.google.com/chromeframe)?

dawesi
17 Dec 2012, 1:40 PM
If you write your app the same way you did for 3.x without understanding the architecture changes (aka if you don't re-write your app from 3.x to 4.x) then it will be slower.

There are newer faster ways to do things, and quite often things are much simpler to achieve in the 4.x series.

4.1 is faster than 4.0, 4.2 is faster than 4.1 in IE 7/8... as suggested above ask your client if they can use chromeframe, an IE extension that can be rolled through group policy.