Ext Core 3.0 vs jQuery, a comparison
sporcic.org
sporcic.org
The idea that people should choose this above jQuery because one day they may shell out the money on a proprietary JavaScript library is crazy, especially as so few people on the web are doing RIA stuff to begin with. There's simply no reason to use it unless you're relying on ExtJS anyway, especially as most web developers already knows and uses the simple jQuery syntax.
The bit to explain is that Ext.fly (and jQuery() for that matter) don't return actual DOM elements like document.getElementById does. Instead they return a Javascript object which you can use to interact with the DOM element(s) using a different API.
Both are probably slower than document.getElementById, but allow you to program at a higher level of abstraction. For example, jQuery(".foo").someMethod() could act on many DOM elements, but document.getElementById().someMethod() can only act on one.
Deleted comment
Actually you can't use CSS selectors with the Ext.fly method. I think you are confused with the Ext.select method, which returns a CompositeElementLite instance containing an array of all elements conforming to the specified CSS selector. It lets you perform operations on a collection of elements as if you are using a single element. This is very close to what the jQuery $('.some-selector') provides you and works by iterating over the elements array and swapping the DOMElement pointer on an internal Flyweight instance right before it executes the operation on that Flyweight, and thus performing the operation on each element.
jQuery makes writing javascript much simpler. By this, I mean that it let's me write code to do what I want and not to get bogged down in the pecular aspects of the framework language. I have recently tried YUI and completely hated it for this reason. No consistency or simplicity to the framework. Doesn't help me build products faster.
Or ExtJS's ostensibly "more powerful DOM manipulators", which actually fail to be demonstrated in the article.
Very poor article.
Bottom line is, use jQuery or dojo or prototype if you want to avoid headaches.
The company behind Ext wants to have the cake and eat it too. They want people to adopt the code (hence the GPL) but they want people to pay for it too.
Nobody has to pay for using Ext Core, so the only valid reason for not choosing it is a dislike for its syntax, internal workings or any other technical reason.
Once bitten, twice shy.
Ext is not trustworthy in this regard.
Ref Adobe rumor: http://www.sporcic.org/2009/04/ext-core/
On the other major topics above...
If you want an enterprise level Javascript framework, then ExtJS is your answer. When major web-app companies like SalesForce use ExtJS for core functionality, you might turn and ask yourself are YOU missing out on something because you are stuck in the past looking at licensing?
Respect the past but, quit complaining and get out their and DO. Think about the time an energy you wasted trying to remind everyone of some indirect pain you experience while a start-up company discovered their positioning within a tough market.
I for one will continue to use ExtJS and Ext Core for my clients commercial applications because I want a company I can rely on and not bet my customers success on some 3rd party plug-in developer to always be their to upgrade or update there jQuery Form or LiveGrid plugin.
I do want to note quickly that I use jQuery on my front-end websites and it is a great core library for websites. It just can't make the jump from web to web application.
Besides that, The Ext Core library is released under the permissive MIT license, and I'm confident in saying that that won't change in the future.
Why am I reminded of this? http://www.youtube.com/watch?v=eKgPY1adc0A
It won't soon be forgotten. I will never touch a piece of code that comes out of that project again if I can avoid it.
Being "talented developers" is not an excuse for being untrustworthy.
It should be mentionned that you can replace the ExtJS base library with JQuery, so you get the nice ExtJS UI widgets + the JQuery DOM interaction.
For websites, I use JQuery. But if I build a web application that looks like a desktop application, ExtJS is much better at it.
Why use this license mess, when I can use YUI/jQuery and know where they stand?