How did we get into this mess?
Before we discuss why this tool often makes life worse, let’s talk about a common reason for its adoption. The primary reason businesses adopt EXT JS is that executives love it. Executives want to deliver software faster and cheaper, and EXT JS does a very good job selling that it is capable of delivering software faster and cheaper.
You don’t know it, but a strategic thinker and decision maker in your organization is being wooed by a salesperson at Sencha as you read this. That thinker and decision maker also knows of several projects on the horizon that align almost perfectly with those amazing examples on the EXT demo page. In 6 months, you’ll be given the requirements for a feed reader that has been sold to one of your company’s clients. Within those requirements there will be a reference to EXT JS (and its feed reader demo), and, at the moment you see it, you’ll remember this article.
Unfortunately, at that point, it will be too late for you. But I hope a few strategic thinkers read this, get it, and choose to spare their organizations from the inevitable pain of developing with this framework.
(If you’re a strategic thinker, and you’re reading this, you’re almost certainly thinking, “We need a feed reader. They have a feed reader. Where is the mess?”)
Where exactly is the mess?
EXT JS has many widgets. They all look the same: crappy. (They look like AWT/Swing components. No one takes those seriously, do they?) If you’re a strategic decision maker, just ask your Sencha salesperson to skin your favorite demo with one of your favorite customers’ brand images. While Sencha makes it possible to compose UIs quickly from the various widgets, they won’t look anything like what they’ll need to look like to convince your best customer that your company isn’t a bunch of hacks. To use EXT JS to create UIs that your customers will take seriously takes time–a lot of time. (You can get to market quickly with their crappy-looking widgets, but you won’t get to market looking professional.)
Maintenance of this framework is a nightmare. Junior programmers inevitably leverage the massive number of attributes that EXT JS adds to the DOM in order to effect change using conventional JavaScript and CSS. They also commonly edit the idiomatic syntax of EXT JS code to make small tweaks, again, using conventional patterns. This will be a source of maintenance problems and bugs.
We could go on, but all of my complaints are variations on these two themes. EXT JS isn’t fast or cheap if you want to customize it or maintain it. In fact, it’s expensive (especially over the full life of the solution) and slow. If you really want to deploy the demo version of the EXT JS Feed Reader, and you never want to upgrade it or change it, then you’ve found your dream framework.
Summary
Don’t be the sucker. Don’t fall for those goofy demos. Don’t be the guy that brings this into your team with promises of improved timing and cost. You’ll just end up proving to your team that you’re too narrow to make such decisions. Or, worse, that you’re totally incompetent.
