views:

871

answers:

8

Before I choose the first / only JS GUI library I know, I'd like to see what else is there on the market.

Reason: For my taste, Ext.js has a too strong "Windows XP" touch which looks really weird on a mac. Mac users are my target customers, so maybe there's something out there that suits this much better or is more neutral.

Needed: A customizable GUI JavaScript framework especially for "intelligent" forms and form functionality (validation, pleasing visual feedback), Ajax roundtrips (i.e. checking if a user name already exists), sophisticated input fields like those from Ext.js, where you can also start typing in a dropdown to search through (similar to word processors where you type in a font into the font selector dropdown), etc.

Most importantly customizable: My entire page is in black/silver/white style so it would be great if it was possible to develop own skins and graphics for it.

+7  A: 

List of some Javascript GUI libraries (not ordered):

Gregory Pakosz
jQueryUI and jQueryTools are not comparable to Ext (or YUI or Dojo or some others) as a UI toolkit, if building data-driven apps is your goal. They are basic web widget and effect libs. MochaUI seems to be not much more than a lib for making nice windows.
bmoeskau
Apart from ExtJS which is excluded by the OP, would you suggest something else?
Gregory Pakosz
Great ones!! Thanks!
openfrog
I realize Ext is one of the biggest and most complete libs. Two things bother me most about it: First, I see no way of optical customization. Looks like Outlook Express all over the place, not so good suited for a site targetet to Mac users. And finally their pricing model... not suited for non-webdevelopment one-man-shows.
openfrog
@Gregory Pakosz: I already mentioned two. There's also Cappucino, SmartClient and I'm sure several others. I have no quarrel with jQuery as a lib -- I've used it for web sites. It's just not suitable as a data-driven app framework unless you're planning on writing a lot of widgets yourself.
bmoeskau
@lolcat: As mentioned by others already, the Ext GUI is completely customizable via CSS. However, since you have licensing concerns, that's another matter.
bmoeskau
+1  A: 

There are a lot to choose from. ASP.Net AJAX is a good one (which has been extended - AJAXControlToolkit). Yahoo's YUI library is also good. This is just my personal preference, but I would stay away from JQueryUI.

Gabriel McAdams
The AjaxControlToolkit is horrible if you ever need to get into the code and try to extend the default behavior. At least it was last time I worked with it, hopefully it's improved since then. From a visual standpoint, most of the controls still look like crap as they have from day one.
bmoeskau
Why would you stay away from JQueryUI? Because the weather sucks, or is there a good reason? ;)
openfrog
+1  A: 

The closure library has some great UI Components. In the documentation, you can see the available components by looking under "ui" in the "Type Index" tab, or just look at the "Demos" tab.

Annie
+3  A: 

ExtJS is designed to be easily customised. With some design skills, you should not have problems getting a Mac look and feel.

You may want to check out this service, which uses a very customized skin on ExtJS:

Filespots using ExtJS

Daniel Vassallo
I agree. I've done extensive ExtJS skin customization (read: completely changing everything) in the past and it really isn't all that difficult.
Marc W
so you mean it's possible to make the window close/minimize buttons on the left and change all the resizing behavior to suit the mac? And the overal color style to match apple.com's style? Well, then their's still their way too high prizing model. Just inaffordable unless you're a webdesign company that resells that a lot. I would use it only for my own framework, on my own site, to bublish online ebooks.
openfrog
@opendog: Yes, it is possible to customize everything, even the position of the close/min buttons. Colours, textures and positioning can all be modified by overriding the CSS sytles... However, as you noted, a commercial license costs $329, and you would need that for a commercial project. The costs and benefits of using it are obviously subjective, depending on your project.
Daniel Vassallo
Actually, 329 is fine. I mean, that's really an excellent and hard work they've done. But when I get that right from their site, you'll not receive any bugfix for that price. Their target customers are clearly the big companies. Just doesn't fit an average developer's financial plans. Maybe it's also a sales strategy. Keeping thousands of small developers out of the scope makes it more interesting for the big, Inc. companies to stand out exclusively.
openfrog
Well, then for $299 per year, you can get silver support, with svn read-access, and monthly patches, plus some support tickets. From your other comments, it seems that you are looking for something with a functionality library like that of ExtJS... Now only you can judge if the costs of ExtJS costs outweighs the benefits you will reap.
Daniel Vassallo
+1  A: 

If you’re targeting Mac users, Cappucino is well worth a look. It’s aiming to be the web equivalent to Apple’s desktop Cocoa framework.

Paul D. Waite
wow, that's COOL! Unfortunately I need to auto-generate that code from within PHP, guess it won't work. Objective-J must be compiled to run in the browser or not?
openfrog
No compilation required for Objective-J, it’s all done within the browser’s JavaScript interpreter. Shouldn’t be any different from generating JavaScript from within PHP. Not sure how customisable it is though.
Paul D. Waite
+1  A: 

You've got lots of choices in open source. Most leading open source AJAX toolkits have a UI component. As mentioned in a previous post, there are widget libraries based on MooTools, JQuery, and YUI. Dojo's Dijit library has a mature widget offering with a large set of widgets, including form and validation widgets, which can be themed with CSS (a handful of themes are provided) All widgets are accessible (keyboard as well as assistive technologies like screen readers) and localized in many languages. The core library provides wrappers for XHR and other server I/O as well as dojo.data, an abstraction to allow widgets to communicate with a variety of sources on the backend.

peller
A: 

ExtJs ia a very mature JavaScript GUI library, so your choise is a good one. It is definitely much more object oriented than jQueryUI. It is customizable by themes. Have a look at this blog post. It doesn't (yet) have a theme roller like the jquery has, but a theme roller is in the roadmap for next releases. After experience with jqueryUI, I had to switch to ExtJS and I don't want to go back to jQueryUI. ExtJS is great, go for it!

Radu Brehar
unfortunately too expensive ;)
openfrog
if it's ok for you, you can use ExtJs with the GNU GPL license v3. The library is the same as the version with the commercial license, but you have to stick to the license terms.
Radu Brehar
+1  A: 

Check out "qooxdoo", it looks a bit like Windows 7 but is themable

http://qooxdoo.org/demo

simonw