jQuery Plugins vs UI vs some alternative
I've been building a web app using jQuery as much as possible. Every time I need to add some new feature, I usually search for a jQuery plugin that does what I need, then I integrated it into my web app. Of course after a while this application becomes very cluttered with all these "random" plugins from different authors, each one having different coding style, naming convention, etc. I would really prefer to use one uniform UI library or framework. I am looking at jQ开发者_如何学运维uery UI, but frankly I am not impressed. Although jQuery Tools (http://flowplayer.org/tools/download.html) looks kind of nice. Does anyone have any experience with any of these?
Do you have any other suggestions? Not just regarding what UI frameworks to use, but your thoughts regarding dealing with cluttering web applications with different UI plugins in general.
Thanks
There is not a ton of movement to make a bunch of less fragmented ui libraries for jquery. I think many people are beginning to follow a pretty regimented style as far as authoring style goes, and most of the time, good plugins play together very nicely.
Specifically - Mike Alsup's pattern, described here:
http://www.learningjquery.com/2007/10/a-plugin-development-pattern
is one that is very uniform across most popular plugins. If you notice a plugin follows this pattern, you can have more confidence that it works the way you think you'd want it to.
However, there might be one more alternative for you - ExtJS ( http://www.extjs.com/ ) can be used as a UI library on top of jQuery. Just include jQuery, then the ext-jquery apapter file, and then the extjs ui library. This will give you the entire extjs UI library (which is very uniform and tested), and still give you all the core jQuery access that you want, as well as other plugin possibilities.
Hope that helps.
I invite you to check out Ninja User Interface, the jQuery plugin for lethal interaction. A single JavaScript file to include and you get beautiful unobtrusive user interface objects. We just released version 1.0!
http://ninjaui.com
I've used JQuery UI a good bit and have been reasonably happy with it. One note is that, using ThemeRoller, it is dead simple to get a theme that corresponds to your site, or just use one of the dozens of themes already created for you. On the other side of things, you do have to do some manual coding if you want to control certain behaviors, such as remembering which tab is active after a page posts back, etc.
When it comes down to it, JQuery UI, JQuery Tools and ExtJS appear to offer fairly similar UI elements, so it's really going to depend on the particulars of your project.
Edit: If licensing is important to you or your project, note that JQuery UI and JQuery Tools are dual-licensed under the MIT and GPL v2, based on whichever suits your needs better, while ExtJS is only available under the GPL for other GPL projects; if you can't or don't want to use the GPL, you have to purchase a rather expensive commercial license.
We have been using jQuery UI for about a year now on our web application and site http://kumutu.com. So far we are very happy with the quality and stability of the tools available. While the theme roller can get you started with a quick theme we found that editing the stylesheet directly by hand gave us the best results. For instance see our minimal approach to a calendar design or the overlay box for signin on our homepage.
While a few eagerly anticipated tools (menu, tooltips) are still waiting to be released we are happy to wait a little while longer for well thought out, high quality and decently designed controls jQuery UI offers. The structure they have done with tool options is nice and becomes very intuitive to add new controls around your web app with a common style for adding options.
As you can see, overall, we are very impressed with jQuery UI for our general set of UI tools but we have also implemented jQuery Tools (http://flowplayer.org/tools/index.html) in a few places where needed.
Since the JQuery UI and the Flowplayer thingy were a bit overkill for my purposes, I started to build something new which focuses on simplicity, a small size and easy styling. I would be happy for any suggestions (and I hope this isn't to much of self-advertising) about how to make it better / simpler or things I'm doing wrong.
Anyway. Here's the link: microUI
精彩评论