3 ms·
ExtJS is a prime example of what I like to call "Best Buy Developers". What are "Best Buy Developers" you ask? They are the kind of software engineers who sho
by iamleppert 9y ago
ExtJS is a prime example of what I like to call "Best Buy Developers".
What are "Best Buy Developers" you ask?
They are the kind of software engineers who shop for frameworks like they are shopping for a TV at Best Buy. What if I need to watch YouTube inside my grid component?! What if I need to add in sorting that can only be done on the server-side? What if the application grows to be 10,000 forms? goes the thinking. Instead of focusing on absolute simplicity, clean code, minimal dependencies, pragmatism and addressing the needs of the application at the present time, they try to predict the future needs of the application without having any ideas on what the future could possibly look like and not being product visionaries themselves. Everyone always wants to feel like they can predict the future and have solutions ready for problems that don't exist yet, but most of the time they're wrong and the abstractions created in the process, in retrospect, look rather crazy. I speak from experience here.
At the time ExtJS was becoming popular, there was a big desire to duplicate the desktop look and feel in the browser. Anyone remember the ExtJS desktop interface, complete with start button??? I'm guilty of making on those beasts, complete with graphs and windows that could be dragged and minimized. It made for good demos, but wasn't useful. It turns out that the web offers a lot better UI's and UX interaction concepts than desktop apps and it was a poor decision to try and duplicate 1990's and early 2000 UI paradigms in the browser. It was cool at the time you could duplicate a Microsoft Access style fancy filter grid component (and to your boss who didn't know about ExtJS it made you look cool), and frankly many people latched on to it because it was beyond their abilities to do in raw HTML/CSS, and the API was well done, and hid a lot of the early complexity with doing more complicated layouts in CSS and javascript and slow browsers of the day. For your typical engineer who couldn't implement drag and drop using raw mouse events and the DOM, ExtJS provided an easy way to get their job done.
I was an early adopter of ExtJS (since version 1 and I used 2 and 3). I remember being excited about the remoting framework and I'd spend a lot of time dreaming up UI's created with components from the kitchen sink page. I was excited when the designer came out. I tried to convince everyone at my current company to use it, thank god they ignored me. I remained excited about it for a little while longer...
But then something changed. I changed the way I approached software. I no longer cared about fancy stuff. I started to care more about the actual product and what it can do, how easy it is to use for the user, and if it actually solved the problem or not (rather than look fancy or like "big boy" desktop software). I started to not care about component libraries. I learned that its more important to have absolute simplicity and pragmatism than a big framework with a kitchen sink that can seemingly do everything and solve all your problems.
And just like that, I said goodbye to ExtJS and moved on with the rest of my life.