JQuery vs ExtJS

JqueryExtjs

Jquery Problem Overview


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?

Jquery Solutions


Solution 1 - Jquery

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.

Solution 2 - Jquery

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

Solution 3 - Jquery

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

Solution 4 - Jquery

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.

Solution 5 - Jquery

Let's see. EXT has a steep learning curve to get it right, and it's extremely powerful. It's the only JavaScript library I've used that I would call an actual framework (similar in that sense to YUI, which I haven't used). In version 4.x Sencha has made a full-on commitment to the MVC pattern, which appeals to a lot of experienced programmers.

On the other hand, jQuery makes it easy to do simple things and in my experience virtually impossible to do anything complex.

Why are you limiting yourself to just those two? Take a look at MooTools, for example. It's a powerful, flexible, and extensible library, and you don't have to guess about how it's doing things, like with jQuery, or resort to raw JS to do anything other than simple DOM manipulation or JSON loads (like with jQuery!).

I note that nobody has mentioned Dojo, which is also quite powerful, very complex, and from what I've seen from shoulder-surfing other teams at my office very heavy in the browser.

EXT uses some add-on tools like compass (running in ruby) and YUI compressor to help you output extremely efficient, stripped-down download packages once you've "finished" your site. I put finished in quotes because I think this is a downfall for EXT. After all, sites are almost never finished, and this process is roughly analogous to compiling a Java application, in that if you change anything, you have to go through the whole output process again.

You get a lot straight out of the box with EXT, but that also means there's a lot to learn and a certain amount of planning and forethought to go through to execute a responsive, good-looking project. In the old days they used to call that "discipline," but it's not much in fashion these days (for more information, see "jQuery").

But I have no opinions!

Solution 6 - Jquery

I'll only answer this question since it shows as first result for "jquery vs extjs". Like some of the people here, I've used both professionally. I especially liked the first response. For me, if I'm going to build very small application with very small team then I'd definitely go with jQuery. However... if you're working on a large team then dividing the work of jQuery might not be trivial to implement one user story. With ExtJS, they truly embrace the OO paradigm and making it easily maintainable. Also, you can use their MVC to be used as divide the work among developers. However, it comes with steep learning curve. The people who said "Look at the sample and you're gold!" clearly doesn't understand how to write GOOD extjs code. People really need to learn ExtJS Core before tackling the ExtJS UI portion... though this is really the company's fault for not having good developer documentation... good news is that there are books like ExtJS In Action that comes to the rescue. In general, I will use ExtJS because it's much more structured then jQuery. Of course, the benefit of jQuery is the flexiblity...However, too much flexibility may kill the project... Just because you can super glue lego piece in your eyes doesn't mean you should. If you have the money, go for ExtJS.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionRajeevView Question on Stackoverflow
Solution 1 - JqueryJared FarrishView Answer on Stackoverflow
Solution 2 - JqueryBenView Answer on Stackoverflow
Solution 3 - JqueryRob BoermanView Answer on Stackoverflow
Solution 4 - JqueryGuillermo DeweyView Answer on Stackoverflow
Solution 5 - JqueryNeil JS GrumpView Answer on Stackoverflow
Solution 6 - JquerySomeGuyOnTheNetView Answer on Stackoverflow