views:

645

answers:

4

I've been using Ext JS as my rich-widget toolkit for a while, but I'm thinking of moving to YUI, partly because of the less restrictive license.

The component-oriented model used in YUI seems quite similar to the one that I've enjoyed so much in Ext JS, but I'm interested in how deep those similarities are. So I'm interested in feedback from people who've used both Ext JS and YUI. What is the same, and what is different? What do I lose by moving to YUI, and what do I gain?

+1  A: 

For me the difference is that YUI is very lightweight and flexible, whereas ExtJS is heavier, with a bigger footprint and more rigid in the way you use it. YUI is great if you know what you're doing in Javascript and want to extend your power; ExtJS is good if you want a UI abstraction layer that you don't have to mess with much ... but if you do want to make it do things it wasn't designed to do, it can be a real chore.

Robusto
Ext is extremely flexible and powerful if you know how to use it -- it is definitely not "rigid". I think a fairer statement might be that it has a steeper learning curve, but in my opinion it is an equally powerful framework.
bmoeskau
+5  A: 

I think both libraries actually address different needs.

YUI is designed addresses the needs of Yahoo inc. It is very good at building public facing applications where things like graceful degradation, clean markup and accessibility is important.

ExtJS is a very good and well designed full RIA framework that is very firmly targeted at building line of business applications. Features such as a really powerful grid component, strong layout and good professional look and feel.

I've used both quite considerably, although only up to YUI 2.7.0 and have built several full RIA using the frameworks.

Moving an existing application from one to another would be quite differcult as although they share a common ancestor (ExtJS was once YUIext) the frameworks are quite different now.

Gareth Davis
Interesting point about public facing vs. line of work applications. We've been using ExtJS for internal stuff so far, but we are thinking about using it for a public facing application - sounds like we may want to go with YUI in that case.
Spike Williams
that's where I kinda a draw the line, it doesn't have to be like that (I'm sure the ExtJS guys would say) but frameworks like YUI and jQuery seem to be a little better suited to public facing
Gareth Davis
That's a very interesting point, I agree 100%. Now that I've been using ExtJS a bit more, I remember the days of trying to use YUI in our business app and I thought it was good and fairly mature, but it was difficult to get it to handle all the little things you might want in a business app. YUI is quite mature, but they don't quite target the same people.
SBUJOLD
+1  A: 

When building a recent application I had the exact same decision to make YUI or Ext JS.

I ended up going with YUI for a few reasons: YUI 3 is extremely light weight and fast for simple tasks and the lazy loading makes things even faster.

Graceful degradation was important for this app.

Using YUI 2 widgets in YUI 3 is rather easy and with 3.1 literally weeks away that will become even easier.

YUI documentation is unbelievable and the irc chat and forums are very helpful and actually have people from the YUI development team.

+1  A: 

I haven't used ExtJS a lot yet, still in a learning phase, but for what I was able to do with it, I'm pretty sure that even a little more than 1 year ago when I was doing a lot of YUI dev, it would have been much more challenging and the result would not have been as slick.

It's not too say you shouldn't do it, but my advice to you would be to make some serious research and good prototyping of some of the existing features you have to see if YUI will fit your needs. DON'T just base yourself on the examples and the feel of "Yeah seems that would work".

SBUJOLD