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.