Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere. Get it Here.
A key aspect of the YUI Library is the cross-browser support, which you’ll also find in Ext JS. This allows you to build Web applications without worrying about the target browser.
Ext JS boasts excellent performance. The framework is fully object-oriented and extensible. Along with its excellent presentation, Ext JS’ features are ready to use once you download and install it.
Downloads and Samples
MooTools and Moo.Fx
MooTools code respects strict standards and doesn’t throw any warnings. It’s well commented and has meaningful variable names: a joy to browse and a snap to understand.
It’s very easy to use, blazing fast, cross-browser, standards compliant, provides controls to modify any CSS property of any HTML element, including colors, with builtin checks that won’t let a user break the effect with multiple, crazy clicks. Optimized to make you write the lesser code possible, the new moo.fx is so modular you can create any kind of effect with it.
Yahoo! User Interface Library
Two different types of components are available: Utilities and controls. The YUI utilities simplify in-browser devolvement that relies on cross-browser DOM scripting, as do all web applications with DHTML and AJAX characteristics. The YUI Library Controls provide highly interactive visual design elements for your web pages. These elements are created and managed entirely on the client side and never require a page refresh.
- Animation: Create cinematic effects on your pages by animating the position, size, opacity or other characteristics of page elements. These effects can be used to reinforce the user’s understanding of changes happening on the page.
- Browser History Manager: Developers of rich internet applications want bookmarks to target not just pages but page states and they want the browser’s back button to operate meaningfully within their application’s screens. Browser History Manager provides bookmarking and back button control in rich internet applications.
- Connection Manager: This utility library helps manage XMLHttpRequest (commonly referred to as AJAX) transactions in a cross-browser fashion, including integrated support for form posts, error handling and callbacks. Connection Manager also supports file uploading.
- DataSource Utility: DataSource provides an interface for retrieving data from arrays, XHR services, and custom functions with integrated caching and Connection Manager support.
- Dom Collection:The DOM Utility is an umbrella object comprising a variety of convenience methods for common DOM-scripting tasks, including element positioning and CSS style management.
- Drag & Drop: Create draggable objects that can be picked up and dropped elsewhere on the page. You write code for the interesting moments that are triggered at each stage of the interaction (such as when a dragged object crosses over a target); the utility handles all the housekeeping and keeps things working smoothly in all supported browsers.
- AutoComplete: The AutoComplete Control allows you to streamline user interactions involving text-entry; the control provides suggestion lists and type-ahead functionality based on a variety of data-source formats and supports server-side data-sources via XMLHttpRequest.
- Button Control: The Button Control provides checkbox, radio button, submit and menu-button UI elements that are more impactful visually and more powerful programmatically than the browser’s built-in form widgets.
- Calendar: The Calendar Control is a graphical, dynamic control used for date selection.
- Container: The Container family of controls supports a variety of DHTML windowing patterns including Tooltip, Panel, Dialog and SimpleDialog. The Module and Overlay controls provide a platform for implementing additional, customized DHTML windowing patterns.
- DataTable Control: DataTable leverages the semantic markup of the HTML table and enhances it with sorting, column-resizing, inline editing of data fields, and more.
Download and more information: here
MochiKit has HUNDREDS of tests. We build real applications with this thing. So even though development can move fast, we make sure to get tests written. This also makes platform compatibility issues much easier to detect and resolve than the “guess and check” style of quality assurance seen in some of the other libraries out there. It’s not broken.
MochiKit can adapt to anything you throw at it. It makes no assumptions about how your code needs to act, and it has hooks (by way of the the adapter registries) that makes sure that you can define your own comparisons, programmer representations, iterators, or DOM node coercion for any object in any way you wish. We’ll gladly serve you all the Kool-Aid you want, but we’re not going to make you drink any.
It includes a platform-independent development tool chain, a state-of-the-art GUI toolkit and an advanced client-server communication layer.
- Client detection: qooxdoo knows what browser is being used and makes this information available to you.
- Browser abstraction: qooxdoo includes a browser abstraction layer which tries to abstract all browser specifics to one common standard. This simplifies the real coding of countless objects by allowing you to focus on what you want and not how to want it. The browser abstraction layer comes with some basic functions often needed when creating real GUIs. For example, runtime styles or positions (in multiple relations: page, client and screen) of each element in your document.
- Advanced property implementation: qooxdoo supports real properties for objects. This means any class can define properties which the created instances should have. The addProperty handler also adds getter and setter functions. The only thing one needs to add – should you need it – is a modifier function.
- Event Management: qooxdoo comes with its own event interface. This includes event registration and deregistration functions.
Furthermore there is the possibility to call the target function in any object context. (The default is the object which defines the event listener.) The event system normalizes differences between the browsers, includes support for mousewheel, doubleclick and other fancy stuff. qooxdoo also comes with an advanced capture feature which allows you to capture all events when a user drags something around for example.
- Multiple Points Of Entry: A fundamental concept in the design of Dojo is multiple points of entry. This term means that Dojo should work very hard to make sure that users should be able to start using Dojo at the level they are most comfortable with.
- Unifies several codebases: builds on several contributed code bases (nWidgets, Burstlib, and f(m)).
- Components – Rico 2.0 extends the component set from the previous versions. The LiveGrid has been expanded to include filtering, column resizing, and many more features. The core of Rico 2.0 has been designed to enable custom components to be more easily built.
- Animation Effects – Rico 2.0 provides responsive animation for smooth effects and transitions that that can communicate change in richer ways than traditional web applications have explored before. Unlike most effects, Rico 2.0 animation can be interrupted, paused, resumed, or have other effects applied to it to enable responsive interaction that the user does not have to wait on.
- Behaviors – Take some raw HTML and sprinkle in some behaviors and what do you get? Well in Rico you can easily build an Accordion component like those found in Macromedia Flex and Laszlo.
- Styling – Rico provides several cinematic effects as well as some simple visual style effects in a very simple interface.
- Drag And Drop – Desktop applications have long used drag and drop in their interfaces to simplify user interaction. Rico provides one of the simplest interfaces for enabling your web application to support drag and drop. Just register