Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Advantage of using ExtJS UI instead of pure HTML + jQuery [closed]

Tags:

html

jquery

extjs

I think, ExtJS has one and only one advantage over jQuery, which is rich UI components. Isn't it better option to build pure HTML UI and then use jQuery or anyother suitable javascript library?

like image 539
Kulin Choksi Avatar asked Sep 26 '12 13:09

Kulin Choksi


1 Answers

ExtJS does make sense in particular scenarios

If you're building desktop-like web applications (lots of intranet applications are like that) then ExtJS is one of the finest libraries to use because it gives you very clean object model and thoroughly tested rich client-side controls. And all that along with great and consistent look and feel so you won't be spending time doing all that. You'll rather build your app. They also provide great client support. I've had great experience using their forum and incident support.

I would avoid using jQuery if already using ExtJS, because everything you'll need is also provided by ExtJS and optimised for it as well. If you'll use it, embrace it completely.

What's different with HTML+jQuery

It would take you a lot of time to create i.e. HTML+jQuery rich client side grid that would be

  • pagable,
  • sortable,
  • filterable,
  • fully richly editable,
  • keyboard-navigatable and
  • consistent in look and functionality with the rest of the app

Not to mention all the bugs you'd have to resolve yourself (which tend to proportionally to control complexity). And this is just one control. They provide vast amount of them. Believe me, their controls have been on the market for a very long time and are really really polished and many browser supported.

Please don't reinvent the wheel if you don't have to.

Why is ExtJS different from 3rd party libs/controls

ExtJS started as free open source code. Free rich controls with consistent look and feel. And they've been written mainly by Jack Slocum apparently savvy and tedious individual that actually knew what he wanted and was very thorough while writing it.

He did a marvellous job providing the library and the whole object model that matured severely over versions. One could easily see that those controls were built by developers for developers. It progressed later on to a semi-open project (I think in version 3) with background revenue possibilities. ExtJS library (plumbing code similar to jQuery) is still free while the huge set of rich and polished controls is licensed.

The whole project progressed from one enthusiast's garage project to a full fledged product. So it was first done, polished and progressed and afterwards they incorporated the whole thing and continued on the same premise. So it's profit because of a (great) product.

Other third party providers are mostly driven by profits = product because of profit (needs). Their code more than reflects this fact. ExtJS legacy is different and hence much much better.

Maintenance

As @sra pointed out, maintenance is also lower because your code base is smaller which means smaller bug surface and smaller amount of lines to maintain. ExtJS is a separate library in this equation and is maintained by their respected owners. Since it's all Javascript you're of course able to extend it and change particular parts that you want to work differently. I've written many extensions those times... And the first thing I missed after starting using jQuery was namespace support and class structure. ExtJS feels very natural to a .net or Java developer because it gives you an object oriented feel. jQuery on the other hand doesn't and provides more of a procedural feel if you don't know what you're doing and how to use it correctly.

My advice to you?

If you think your app's UI could be built 75% of ExtJS out of the box controls I'd say embrace it completely and don't look back and compare it against jQuery. Don't mix and match it with jQuery either unless you have actual (other than being lazy to learn ExtJS completely) huge benefits of including and using it.

P.S. I don't work for Sencha, nor am I paid by them. I'm just a developer who worked on a project for 9 months that fully used ExtJS alog with Asp.net in time when jQuery was just a baby. Nowadays I'm also a heavy jQuery user so I know both. Ok. I don't know ExtJS since version 4, but I guess all it did was improve.

like image 173
Robert Koritnik Avatar answered Oct 01 '22 04:10

Robert Koritnik