views:

81

answers:

1

I recently had the experience of doing the same thing (a search combo box) with jquery and extjs. I found extjs to be buggy and overly complex. On the contrary, I found jquery to work very well and be very simple. I am wondering what are other people's experiences of using extjs. Does extjs complexity actually buy you something?

+9  A: 

They are not comparable imho.

jQuery UI is just a combination of a couple of widgets which can be used together but are not really integrated or anything. Quite extensible, quite fast, but not a complete widget toolkit.

ExtJS is a full-blown widget toolkit Web App framework that is comparable to most GUI toolkits in terms of features. yes it's useful, but it's also very complex and very large/slow. So imho it depends on what you need. For a normal frontend I would never use ExtJS since it's way too large and slow. But for an Admin panel or something large where it actually adds a lot of usability, yes please.

Just try and create something like this with jQuery UI: http://dev.sencha.com/deploy/dev/examples/grid/totals.html

Also, with ExtJS you can even design your interfaces with a drag and drop interface these days: http://www.sencha.com/products/designer/download.php

Size comparison:

jQuery:

  • jquery-1.4.2.min.js: 70.5KiB
  • jquery-ui-1.8.5.min.js: 199.5KiB
  • Total: 270KiB

Ext:

  • ext-all.js: 697.7KiB
  • ext-base.js is 26.5KiB
  • Total: 724.2KiB
WoLpH
Have you seen the telerik extensions for ASP.NET MVC - http://demos.telerik.com/aspnet-mvc/grid/grouping?theme=vista? These were built with jQuery
Russ Cam
Maybe you haven't worked with jQuery UI that much? I have written a fully drag and drop dashboard with it and everybody that touches it loves it. I've even come across people using it in ways I hadn't expected. And that grid can easily be done in jQuery given the time to develop it. Find out how long it took them and I'll duplicate it in that time.
drachenstern
@Drachtenstern: I have experience with both jQuery UI and ExtJS and I find that both just serve a different purpose. I have never claimed that you can't build the same interfaces with jQuery UI. But it will probably take you quite a bit more time to build. jQuery UI is great if you want to integrate it with an existing UI, ExtJS is great for building an entire UI. Both are great but serve a different purpose.
WoLpH
@WoLpH - click on the editing link in the left navigation links - http://demos.telerik.com/aspnet-mvc/grid/editingajax?theme=vista. I wasn't contesting your point, just wanted to highlight some good examples built with jQuery :)
Russ Cam
@WoLpH ~ I'll buy that. I had no existing interface on mine, but granted I wasn't doing a full in-browser desktop-app (as I've seen done with ExtJS)
drachenstern
@Russ Cam: my bad, I expected it to work with doubleclick. Didn't look careful enough. Definately a great interface but with the plain jQuery UI library it would take you a huge amount of code to do that. When using a library like that it's definately on par if not even better.
WoLpH
@WoLpH - I would not at all say ExtJs was large and slow for an 'interface toolkit', I would also disagree that it is a 'widget toolkit'. What ExtJS is, is a Web App framework, There is far more in the API than interface objects, it is a framework built to include much of the backend operation too. I would propose that jQuery is an enhacement framework, where as ExtJS is an object/UI framework. Thus I would agree the two are not comparable. If anything, you can view ExtJS as an extension of jQuery, as it is a development of YUI.
Ergo Summary
@Ergo Summary: I wasn't really sure what to call it so I'll use your suggestion. The point is that it's a completely different thing and that you can't compare them like this. As for being large and slow, you can disagree with me but when comparing Ext to other frameworks it's definately one of the larger ones. And with a browser like Internet Explorer 7 the initial page load takes a significant amount of time. Once it's loaded it is amazingly fast and smooth, but before that... So that's why I'm saying that it's great for some pages and/or admin screens, but not for a full website.
WoLpH
@Ergo Summary: `ext-all.js` is `697.7KiB` and `ext-base.js` is `26.5KiB`. That is a total of `724.2KiB` in Javascript. `jquery-1.4.2.min.js` is `70.5KiB` and `jquery-ui-1.8.5.min.js` is `199.5KiB`. That is a total of `270KiB`. That is nearly 3 times smaller than ExtJS, so please explain to my how Ext is not "large".
WoLpH
@WoLpH, apologies I didnt realise it was a reference to filesize, more how 'cumbersome' it was. Filesize wise you're right, you 'get what you pay for', upfront large sizes including a large amount of precoded functionality, jQuery is smaller, but requires you then produce the code for this functionality- so it comes down to a question of use and whether you will use ExtJS enough to justify the size caused by the inbuilt functionality, so I do agree :)
Ergo Summary
+1 with revision
Ergo Summary