Serious performance degrading leads me to doubt Sencha's Future
I'm a long term Ext JS user and advocate in my company (a large bank). We started to use it since Ext JS v2. We went through some pain to upgrade from v2 to v3 when v3 came out. We noticed some performance degrading but it was tolerable. Last year when Ext JS v4 came out, we immediately tried it. But to our dismay we noticed intolerable performance degrading on IE, especially for grids. As a result, we had to revert back to v3. Besides intolerable performance, we've also noticed the API underwent major revamp, which was a pain since our system is much larger now than when we upgraded from v2 to v3.
I've been since closely monitoring v4.1 progress. Based on all the discussions and our own benchmarks, it seems that v4.1 will still be much slower than v3.4 even when it is officially released. See these
So we face two blockers: one is performance and the other is code refactoring and large amount of QA associated with code change from v3 to v4. I see that upgrading our existing code from v3 is v4 is very impractical. As a result, my decision is to have a mixed system: keep existing system with v3.4 and selectively use Ext JS v4 for new pages/features if performance is good enough.
The big downside is that we now have to master two systems, both v3.4 and v4. This is a great pain, not just for experienced developers, but especially for new developers.
As an enterprise software architect and manager, I select technologies in hope the vendors will support their products, not just in the near term but also in the future. But who the hack was/is managing Sencha's product development? I understand why Sencha decided to change their class system etc, but at the stiff price of intolerable performance degrading and such dramatic API changes? It seems that some smart guys made the decision but apparently they totally lack the understanding of how enterprise software development works, or they simply decided to ignore the pain to their customers associated with the decision. To me pissing off your customers again and again does not seem to be a good strategy for a start-up.
So I've started to doubt whether I've made the right decision to stick with Ext JS.
But on the other hand, I really like Ext JS. I think it is a great piece of software. So I offer some suggestions.
1). Since Ext JS v4.1 is not going to have the same performance as Ext JS v3.4, Sencha needs to keep support and enhance Ext JS v3.4 in the near and intermediate term. Maybe you can port some nice features back to v3. I think a lot of people are going to end up doing what I'm doing: keep the existing pages written on Ext JS v3 unchanged but selectively write new pages using v4.1.
2). You really need to figure out the performance issue ASAP for v4. So far Sencha is so slow to address the issue. Maybe you have a talent drain? All the OO design stuff is cool, in theory, but what counts at the end is what the end users experience: cool features with excellent performance. Excellent OO design is cool for developers but I choose good/mediocre OO design like v3 with good performance hands down.
3). I feel Sencha is on a wrong path to somehow FORCE people to adopt certain paradigms.I'm referring to the new MVC, dynamic class loading stuff. These are great ideas and idioms - I totally agree with the ideas. But a good library should be nimble and should support all sorts of paradigms, especially since people have legacy system to support. I understand Sencha does not really FORCE people to use MVC but its documentation makes me feel that way.
I agree - Sencha really need to land 4.1 anytime soon or they will find themselves chasing their own tail adding this, adding that and feature-creeping the 4.1 branch ad infinitum.
I hope the landing will be smooth and not a crash - we are currently in a holding-pattern on two major projects waiting for a 4.1 release (still running 3.x and one prototype project running 4.0.x but with MAJOR performance issues that are sort of fixed in 4.1b1).
Having a shared Class-structure between Touch and Desktop would be extremely nice, but guys - please land 4.1 and Touch 2.0 as separate flights before it starts to get crowded in the air and development efforts are wasted.
Maybe sometimes we need to think in convincing our users why is important to use a different browser. In the Internet this is not possible, but in a corporation, I think it is: it can be taken as a Non Functional Requirement.
I'm not defending Sencha, but sometimes we need to put our selves in they position.
Expanding Ext3.4 support it will be wise too, at least until we have a good performance, and more important, good stability.
It looks like OP was mainly complaining about performance as it relates to IE. Personally I have not experienced performance problems but I'm using Safari so perhaps that's why.
OP went on to say that they reverted back to 3.x. That's a perfectly reasonable solution. Sencha is pushing the platform forward while taking advantage of state of the art browsers and if that means that older systems have to suffer, then so be it. If you want to better support older systems then stick with the older ExtJS.
As someone else pointed out, it may take several more dot-releases before ExtJS 4 is where everyone wants it to be, but just take a look at the overhauled layout system in 4.1b1 and you'll see that they're not ignoring it.
for those who cant wait for a faster and bug free version of extjs
check out KendoUI , its highly theme-able and built on jquery.
I am a big fan of extjs but their performance on IE and lack of communicating their plans have forced me to look out alternatives
KendoUI is what i am enjoying these days, moreover they are very clear on their road-maps and release schedule
I got most of my app migrated to 4.1. And its stable for as far as I see. That is quite a difference compared to 4.07. Performance is still bit a slower than 3.4. But acceptable. Tab changes could be a bit quicker.
If the resizer bug is fixed.... I dare to roll it out. Performance will come. Maybe we were spoiled, and is it sometimes necessary to take a step back....there is no other framework I have seen better than ExtJs .So hopelfully Sencha gets thing back on track after this painfull migration. But good job guys!