JQuery vs ExtJS [closed]

We are planning the development of completely new GUI. We were very happy with JQuery which we used in our old product. It was easy, classy and fast.

We have heard about ExtJS. It also has AJAX and a large list of other features.

We want to use only one of them.

Which is best based on your experience?


I have used jQuery extensively and love it. I have reviewed ExtJS on several occasions and would love to have the chance to use this library at some point. This is my take.

jQuery

The junk drawer of javascript programming. They got everything you need in there, if you're willing to dig, use some duct tape and super glue, and in general have a group of developers able and willing to hammer code. jQuery is great!

It's used in way more places than you think. However, like Drupal and other community-supported frameworks/libraries, when you get free support, you get what you pay for. You can get it all done with jQuery, but sometimes you need a shovel, flashlight and perseverance.

Additionally, very good documentation (on par with PHP's online docs), and tons, literally tons, of example code and blog entries out there.

Will appeal to tinkerers and "advanced scripters" who are not shy to Google a phrase to find an example that can be used to scaffold a problem and speed development.

ExtJS

Professionally developed by a for-profit company, these are more akin to controls (in the context of Visual Studios) than widgets or plugins. Intentionally complete and robust, with an eye for detail and a higher-level organizational structure than I think exists in the wilds of jQuery, ExtJS is a get what you pay for: A professionally-developed and supported product that lives and dies by it's ability to return value.

Will appeal to professionally-trained "programmers" expecting extensive testing and a higher-order or rigorousness in the development of the controls.

Final Recommendation

It really has to do with your shop and customers. If your group is more DIY and likes to glue together things and get it out the door, go with jQuery. It's robust for any situation. If you have a very ordered and professional shop, ExtJS might be a good choice, but jQuery will also be viable. I don't see the need to split your knowledgebase and use both, but really, if you do, use ExtJS for the client-facing portion and jQuery for the admin consoles. I don't see the benefit the other way around.

Also, for you admin consoles, look into TIBCO. Possibly overkill, but very interesting.


Jared Farrish's answer is pretty extensive already.

I've used both on different projects.

ExtJS is a lot heavier in both size and what it allows you to do. It's excellent if you need a complex web application interface, it has great controls for windows, tables, etc, and it looks sleek.

The ext forum community is quite helpfull through their forum.

That said it a lot more "rigid" than jQuery, and there's a significantly longer learning curve to get started, but if you are looking at complex UIs it will pay off down the track.

The benefits of jQuery is therefore that it will get your project moving quicker, and it will be easier to "experiment" while implementing new features.

They're both good for their own type of applications. I've actually used both on a project, the extensive admin (lots of windows and sections) is built in ExtJS and the front end, which needs faster turn around to tweak things but has limited ui interaction is built in jQuery.

Hope this helps


I do not agree on the learning curve of jQuery being faster than ExtJS. Every component in ExtJS has a worked out example on the site and the API docs are absolutely wonderful, structured, easy to use and complete.

What you choose depends on your interfaces. More web-2.0 like shiny interfaces might be a little easier in JQuery, the ExtJS interface is good looking but very application like. That said I think there is no comparison between the two if you are looking to create a seriously complex, data-heavy interface. ExtJS allows you to program you interface like you would your backend, completely object oriented. If you do not like some behaviour of the default components you override it. It is super easy to create reusable components yourself. In ExtJS 3 the Direct layer was introduced that takes away all the returning hassle of Ajax client-server communication and batches multiple calls together for you automatically, reducing the number of server requests you need to feed your interface. I can go on and on, but ExtJS for me is a godsend, I would not be able to create the highly complex interfaces I create in the time I am able to charge my clients.

Good luck with anything you choose, Rob


I just started to use the 2 of them in 2 different projects one on each. (Ext 4 and JQuery). And yes Ext seems to be more "enterprise" but docs and learning jquery has been nice and pleasant .. On the other hand ext has been very confusing considering the most docs will refer to ext 3 and I am trying to do things on ext 4.

All books and tutorials on jquery allowed me to make way more than ext so far.

Its important to note that my js experience is limited.