Javascript Multipurpose Frameworks - Ajax Patterns

Javascript Multipurpose Frameworks

From Ajax Patterns

This page is for larger, Pure Javascript, frameworks. Please see Ajax Frameworks for frameworks and libraries with server-side components, as well as smaller Javascript frameworks.

Contents

Licensing

  • Free
  • Commercial

ActiveWidgets (from 2003)

ActiveWidgets includes very fast AJAX datagrid control and many smaller UI components.

The datagrid control works with very large client-side datasets without any loss of speed. This is achieved by virtual scrolling in both vertical and horizontal directions (repainting only visible rows and columns as you scroll). The grid loads data either directly from javascript or XML/CSV files or webservices.

The library is sold under commercial license (with source code). Also available fully functional free trial version.

ActiveWidgets is one of the 'older' frameworks and at the moment already has relatively wide client base.

Archetype

Archetype Javascript Framework is an MVC clientside framework.

Archetype is here to ease your developments and structure your code on the clientside in order to make complex clientside application. This feats well with web 2.0 trends that pushes rich internet applications.

The Framework:

  • takes care of all the application loading part
  • simplifies good practices in JS
  • is modular (can be used just for some of is function : loading, templates, logging, etc.)
  • is designed to fully work in MVC on the client side
  • works with convention over configuration in mind, but with ability to override conventions using configuration
  • provide an easy to use logging interface
  • adds a lightning fast template system for JS inspired by Smarty
  • help for files loading in an efficient way (JS dependencies, templates, etc.) to avoid JS errors in big projects
  • adds communication through Events between components
  • ease development through:
    • components
    • graphical components (aka your own widgets)
    • methodBuilders (Archetype associates a particular service to a method call)

Archetype simplifies much of JS uncommon behavior compared to common languages (java, php, etc.): you don't need to program exactly what you want, you just need to describe it and Archetype will write it as needed!

Archetype is licensed under the commonly called MIT License.

BACKBASE - Enterprise Ajax Framework (from 2003)

BACKBASE is a comprehensive Enterprise AJAX Framework with cross browser support. The framework includes the ability to customize, extend components, and create entirely new components, without writing browser-specific code, and without experience in the details of Ajax. The framework is extensible and integrates directly with Struts, JSF, SOA, Portals and other server platforms. Backbase Enterprise Ajax includes of full set of development tools designed to increase developers’ productivity.

  • Free Community Edition Download here...
  • Over 250 Widgets and Functions Go to: Backbase Explorer
  • Cross Browser support: IE, Firefox, Safari, Opera, Netscape and Mozilla.
  • Advanced Ajax Debugger (cross browser - including IE).
  • Visual Ajax Builder, the first wysiwyg visual Ajax editor, based on Eclipse See: Demo Visual Ajax Builder
  • Server-side Integration for PHP, JSP, Struts, Spring, etcetera
  • Server-side UI components for JSF (Java Server Faces)
  • Portal (JSR 168, WSRP) Integration
  • Web Services Connector (SOAP, WSDL)
  • Push (DWR & Comet)
  • JSON and XML support
  • WAI / Section 508 support
  • Optimized Ajax Security (many large banks use Backbase)
  • 3rd Party Widget Integration (e.g. ExtJS, YUI, Google Gadgets)
  • Pre-build Rich Apps: Rich Dashboard, Rich Forms, Co-Browse, In-page Analytics
  • Pre-build Composite Widgets: SuperGrid (similar to Google Spreadsheet)
  • Active AJAX developer community Go to: Backbase Developer Network

Cross-Browser Core Engine

The Backbase Core Engine provides a cross-browser Ajax-UI runtime (IE, Firefox, Safari, Opera, Netscape and Mozilla). The core includes a DOM Abstraction layer that shields developers from cross-browser incompatibility issues and it provides a dual programming API: JavaScript and XML (to enable developers to use Ajax tag libraries).

Comprehensive Widget Library : 250+ widgets & functions

The Backbase offers a very complete UI widget library with over 250 pre-built widgets and functions. The widgets are built in XHTML, CSS, JavaScript and XML, and can be plugged-in anywhere on the page. Backbase allows you to change widgets to fit your needs. The source code of all pre-built widgets is included and Backbase encourages customers to modify and adapt the controls to suit their needs. Custom widgets can be created by adjusting pre-built widgets or by building widgets from scratch. With Backbase you are not stuck with rigid single purpose widgets; rather, you can create any UI control you need. Go to: Backbase Explorer

Cross Browser Ajax Debugger

The Backbase Ajax Debugger allows interactive, real-time debugging of the complete Ajax user interface. The developer loads the debugger inside the browser, on top of the interface being debugged. Once loaded, the debugger gives the developer a 360-degree view of the interface. For each element currently used in the Ajax interface, the developer can easily inspect the XML data, the DOM node, the computed style, the behaviors and also the variables. The tool is fully integrated with the tracer and command execution. Following the trace, the developer can identify UI elements that have caused execution errors, and fix those. The debugger works in all major Browsers (including IE). See: Demo of Debugger

Visual Ajax Builder

Backbase offers a unique WYSIWYG visual Ajax development environment, specifically designed for Rapid Application Development of Ajax based applications. The builder is an Eclipse plug-in, is intended for professional and enterprise developers, and includes all the development tools and features necessary to cover the full Ajax based RIA application development lifecycle – from development to deployment. See: Demo Visual Ajax Builder

Server-side Integration Framework

Backbase JSP / Struts / Spring Connector: add Ajax features to existing JSP, Struts, spring and HTML code, while making only minimal changes to your existing code base ("ajaxify" your existing java applications).

Backbase Portal Connector: enables you to create JSR-168 compliant portlets that do not require your portal page to re-render all portlets after each operation and also offers over 250 Ajax widgets and functions that simplify the development of your “ajaxified” portlets. The concept of the Portal Connector is that we want to avoid as many page refreshes as possible when interacting with a portlet. We’re using the WSRP protocol and JSR-168. To avoid page refreshes, we avoid rerunning the portlet class, because that would cause the entire portal page to refresh. So the main thing we do in an Ajax portlet is to dispatch to a view. When you need other functionality such as editing portlet preferences, you can define other JSR168 defined methods (like processAction) to take care of this.

Backbase JSF Edition: is a JavaServer Faces (JSF) implementation that takes advantage of the client runtime and Eclipse-based development tools. The Backbase JSF runtime performs the Ajax component rendering in the JSF presentation framework. It extends the JSF request lifecycle to work in a Single Page Interface environment, it synchronizes client-server state and facilitates data binding. Backbase Ajax JSF Components are pre-built and accelerate application development. Over 50 customizable UI components are included, and developers can also create their own components. Besides the ajaxified flavours of the standard JSF components, the JSF Edition delivers rich Ajax JSF components that combine rich client side and server side behavior such as the listGrid.

Pre-build Rich Applications

Backbase delivers a comprehensive Suite of Rich Applications that brings customer facing web applications to the next level. These Rich Apps helps companies create, manage, and deliver online applications more effectively, so they can truly interact and connect with their customers. Backbase Rich Applications are built on top of the leading world class Enterprise Ajax Framework, are fully based on open industry standards, and consist of the following functional rich applications.

    • Rich Dashboard
    • Rich Forms
    • Co-Browse & Chat
    • In-Page Analytics

Bindows Enterprise Framework - True Ajax with a Windows Look-and-Feel

The Most Powerful Ajax SDK in the Market

Bindows' is the premier corporate choice for building "zero-footprint" Rich Internet Applications (RIA) and has been around even before the term AJAX was coined. Bindows is a Graphical User Interface (GUI) software framework for development of rich AJAX and Web 2.0 web applications. It can generate the exact look-and-feel of a Windows GUI (Windows) on web pages. Its object-oriented approach and expandability scales well to very large development teams and projects. Full Section-508 accessibility support and industrial strength tools, makes Bindows the only choice for Section-508 compatible government sites and applications.

Bindows powered applications, are used by:

  • More than 500,000 business users
  • 91 of the Fortune-100 Companies
  • 85 of the Global-100 Companies
  • 352 of the Global-500 Companies

Bindows 4.1 includes four major additions: Bindows 4.1 is the latest released version of Bindows. Bindows 4.1 supports the latest versions of all the major browsers, including IE8, Firefox 3.6, Safari 4, and Chrome.


The Bindows framework is based on Dynamic HTML and the programming language used is Application Description Files (ADF), executed at the client's end as JavaScript. When the web application is run, the scripts are downloaded from the server as XML|XML files and executed at the client's end.

The framework follows the Swing programming and JavaScript object models. Class names start with 'Bi', e.g., BiObject, BiRadioButton, etc. The name Bindows comes from a combination of Business Intelligence (BI) and windows, BI being one of the interests of the company MB Technologies, responsible in creating the framework.

Bindows applications are agnostic to:

  • Server - any server (Java, .NET, PHP, etc. can be used with Bindows)
  • Backend platform - Any backend hardware and backend software
  • Operating system - Any operating system can be used on the client (as long as it includes a supported browser)
  • Language - All languages supported. Bindows supports Unicode
  • Browser - most browsers are supported (i.e., Internet Explorer 5.5 and higher, Mozilla 1.4 and higher, Netscape 7.1 and higher, Firefox, K-Meleon, and Camino)

Bindows supports the following widgets: labels, buttons, check boxes, radio buttons, text areas, menus, toolbars, statusbars, tool tips, grids, trees, sliders, spinners, progress bars, gauges, image maps and live vector graphics. Commercial ( You have to pay in order to use this software! )


Charting & Vector Graphics

Bindows supports client-side charting in all supported browsers, which is both rich, scalable and dynamic (animations), that are designed to be easily extended and enhanced:

  • Line charts
  • Columns and bars
  • Pie charts
  • Stacked columns and bars
  • Percentage stacked columns and bars
  • Gauges
  • Grids


Vector Graphics

The Bindows Graphical-Links API - BiLink API enables drawing of graphical links (lines and arrows) that join elements. The properties of the links, including color, width and style, can be customized. The basic task of the API is to manage the anchoring of the link to the elements. Live sample


Complete Animation Library

Bindows animation library enables adding animations to Bindows components - thus creating visual effects like pulsating buttons, fade-ins, fade-outs, animated movement and resizes.


Section-508 Accessibility

Bindows 2.0 is now the first Ajax framework with enhanced support for section 508 accessibility compliance. Bindows 2.0 enables developers to reach all audiences effectively and efficiently by building Ajax and Web 2.0 applications that meet Government and international standards for accessibility.

The Bindows framework enables development of Ajax and Web 2.0 applications that work with leading screen readers, such as JAWS, without requiring any download or installation (zero-footprint).



Internationalization & Localization

Bindows provides full support for internationalization and localization. Localized Bindows applications (including combined locales) are in use across the globe. Checkout the Bindows localized sites listed in the External Links below.


BindowsFaces

BindowsFaces is a components library that enables you create powerful Ajax web applications with a Windows look-and-feel - using Java through JSF.

Run your Java-based applications, inside a browser (pure Ajax), with a Windows look-and-feel!

Who should consider using BindowsFaces?

  • Developers creating enterprise strength web applications.
  • Java developers that do not want to engage in JavaScript "hacking".
  • Bindows programmers that want to expand into and leverage JSF technologies.

Why use BindowsFaces

  • Most JSF based frameworks in the market provide the client side components as an afterthought - their client side is quite weak.
  • BindowsFaces provides Java developers with a market leading client-side component model, built from the ground up with TRUE object-oriented Ajax.
  • Bindows is famous for being full, rich and mature (probably the richest Ajax framework). Bindows also provides the best in market support for developing Section-508 accessible web applications.


Visual Layout Development Tool

Next major release of Bindows (code name "Torne") will include a visual layout development tool.



Versions

  • 0.9  - 2003 August
  • 1.1  - 2004 February
  • 1.20 - 2004 August
  • 1.25 - 2004 November
  • 1.3 - 2005 February
  • 1.5 - 2005 July
  • 1.51 - 2005 September
  • 2.0 - 2006 June
  • 2.5 - 2006 October
  • 2.55 - 2006 December
  • 3.0 - 2007 May
  • 4.0 - 2009 February
  • 4.1 - 2010 March (latest release)

Adds-on Tools

  • Bindows Linker - The Bindows Linker is a tool that reduces the code size of a Bindows application by including only the classes and methods required. Decreasing the code size results in improved performance. This is visible at startup and also during runtime due to the decreased memory usage.
  • Bindows Compiler - The Bindows Compiler is a tool that converts Bindows ADFs to JavaScript, for increased execution speed.
  • InfiView - Interactive & Infinite Ajax Graphical Maps and Diagrams.
  • BindowsFaces - A components library that enables programmers create powerful Ajax web applications using Java through JSF (free).
  • Bindows Ajax Gauges Library- Bindows Ajax Gauges Library toolkit to add vector-graphics based, Ajax-enabled gauges to any HTML page (free).


External links

Cerny.js (from 2006)

Cerny.js is a JavaScript library trying to ease the development of projects in large teams.

It makes use of method call interception and aims at separation of concerns. Cerny.js can be used as a base library or can temporarily be pulled in the project for code analysis. It offers solutions for

  • type checking,
  • programming by contract,
  • logging,
  • code profiling and tracing,
  • dependency management, and for
  • validating a JavaScript object against a schema.

crossvision Application Composer (from July 2006)

crossvision Application Composer is a framework incorporating Application Designer with the purpose of easily defining the user interface of applications in a Service Oriented Architecture (SOA). In addition to the Application Designer capabilities crossvision Application Composer offers a BPEL engine and a service repository integration with crossvision Centrasite.

  • BPEL-based orchestration

Leverages the open BPEL standard to orchestrate page flow and Services

  • Web Services integration

Define UIs and declaratively bind UI data and events to the calling of one or more web services.

  • Service Repository Integration

The crossvision Centrasite repository knows about Web Service consumption and as consequence can e.g. tell which UIs are affected when a Web Service gets modified.

crossvision Application Designer (from July 2006)

crossvision Application Designer comprises an Ajax framework and a web based IDE as well as an IDE plugin for Eclipse. This set of tailored tools allows business analysts as well as developers to compose business applications based on existing systems and provides the required capabilities to build rich and intuitive Web 2.0 user interfaces. Check out this interactive demo.

  • AJAX-based UI technology

Create rich Web 2.0 Internet applications using AJAX (asynchronous Java Script and XML) technology, for superior user experience within ubiquitous browser technology.

  • WYSIWYG layout editor

Create rich layouts using a comprehensive library of controls without the need to code and know HTML, CSS or JavaScript.

  • Comprehensive layout controls

In addition to traditional controls, the library includes controls to generate reports, right-click menus, tab or multi-pane interfaces and hot keys without worrying about the complexity of their implementation.

  • Google maps controls

Ready-to-use controls for Google maps functionality within your applications! You can view a demo here.

  • pinEdit Word processor controls

Provide your end users with the same text formatting capabilities that they know from thick client office applications. You can try it yourself here.

  • Multi-language translation assistant

Localize any application rapidly and easily.

  • Style sheet generator

Create style sheets without knowledge of CSS.

  • Support for a broad range of J2EE servers

crossvision Application Designer runs on the application server of your choice, including Tomcat, JBoss, IBM WebSphere, BEA WebLogic or SAP NetWeaver.

DHTMLX (Since 2005, GPL/Commercial)

DHTMLX (JavaScript UI Library) provides a comprehensive set of Ajax-enabled user interface components, including feature rich datagrid, treegrid, tree, combo, tabs, windows, calendar, menu, etc. DHTMLX also offers Google-like event calendar, Gantt control, and charting library.

The components are written in pure JavaScript and compatible with all main browsers:

  • IE 6+
  • Opera 9+
  • FireFox 1+
  • Safari 2+
  • Google Chrome

DHTMLX components support the main types of functionality required for development of modern web applications:

  • easy server-side integration (ASP, .NET, PHP, JSP, Ruby, ColdFusion);
  • XML/CSV/JSON support;
  • wide script API;
  • drag-n-drop support;
  • live editing;
  • customizable skins;
  • special optimization techniques for working with large volumes of data;
  • compatibility with other Ajax libraries (including jQuery, Prototype, Dojo, YUI).

Online Demos and Documentation:

Forum:

Learn more about DHTMLX:

License

  • GNU GPL
  • Commercial


DOJO (Under development; from September, 2004)

DOJO offers comprehensive widget and browser-server messaging support.

  • Extensive deployment support: dependency-based packaging, compression of required libraries into a single download. (See On-Demand Javascript pattern).
  • Framework for creation of custom Javascript widgets.
  • Library of pre-built widgets.
  • Solid drag-and-drop, effects, and generic animation support
  • Browser-server messaging support - XMLHttpRequest and other mechanisms.
  • Event management. (See Distributed Events pattern).
  • Support for bookmarkability and manipulating URLs in the browser.
  • Open-source license (Academic Free License 2.1). Led by Alex Russell of SitePen.

Comments:

  • Examples now online, 22 May 2006, GER

Engine for Web Applications (Since 2002)

Engine for Web Applications is a framework for building modular components for Web applications, and separating content from functionality.

Ext JS - JavaScript Library (from 2006)

Ext is a library of reusable JavaScript widgets and classes that extends libraries; such as the Yahoo! UI Library, jQuery and Prototype.

Formerly known as yui-ext. As of February 2007 it has changed its name to Ext.

  • API Documentation
  • Crossbrowser - Works with any modern web browser: IE, Firefox, Safari, Opera.
  • CSS-based - fully customizable look. (xp, vista, aero themes currently supported)
  • Open Source / Commercial - The library is released under commercial and LGPL licenses, depending on your needs.

Live demos: (source included)

Freja (from 2006)

Freja is a javascript MVC (Model-View-Controller) framework. Freja stands for Framework for REstful Javascript Applications. It offers the following benefits:

  • Geared toward single-screen, zero-latency web applications.
  • Excellent scalability (much less server round-trips).
  • True MVC separation.
  • True Server-side / Client-side code separation.
  • Very light footprint. Only a handful of methods to learn (the framework is 25kb uncompressed).
  • Based on Open Standards (XML/XSLT).
  • Works with any modern web browser: IE, Firefox, Safari, Opera.
  • Plays well with other javascript toolkits and libraries (prototype, scriptaculous, dojo, etc..). Freja is not "yet another Ajax library", it is a Ajax-based high-level framework. It is not its purpose to provide drag&drop functionality or visual effects, but it will let you use your favorite javascript library to do so.
  • See Tutorials and Documentation
  • Open-source under CC-GPL.

Gapjumper (from 2008)

The Gapjumper Framework supports developers in pushing the limits of what can be achieved in a client-side web application. Stand-out features include a class-leading animation module, sophisticated drag-and-drop support and a flexible, easy-to-use template-based platform for building reuseable components.

The Gapjumper website has an excellent Demo area which serves as a good introduction to the available feature set. Demo source code can also be edited live to allow visitors to better explore the functionality in greater depth without having to download and install the client engine.

The Framework is available under the Creative Commons Attribution-Non-Commercial-No Derivative Works 3.0 Unported License.

gara (from 2007)

gara is a JavaScript-Toolkit. The gara toolkit comes with two powerful packages to create Rich Internet Applications (RIA). The jsWT (JavaScript Widget Toolkit) package for the UI-widgets and the jsFace package to support the MVC design-pattern.

Gravey (aka Gravy) (from 2005)

Gravey is an all JavaScript library that supports browser based Single Page Applications built following an Object-Oriented Model-View-Controller approach a la "fat GUI" frameworks. The Gravey AJAX framework is compatible with any server-side platform (e.g. Java, .NET, PHP, Coldfusion). This platform is under constant development as it is the basis for several enterprise Banking applications.

  • There are published articles describing its techniques collected here
  • Gravey supports the following browsers:
    • Internet Explorer 5+ (complete framework and all demonstration applications)
    • Firefox 0.8+ (bottom layers of framework, higher layers in process)
    • Mozilla 1.5+ (bottom layers of framework, higher layers in process)
    • Netscape 7.1+ (bottom layers of framework, higher layers in process)

JackBe (From 2002)

JackBe NQ Suite is complete set of development tools that allows rapid development of sophisticated, rich-client applications using AJAX. JackBe was the first company to provide a visual GUI development tool for AJAX applications, releasing version 1.0 of the JackBe GUI Builder in 2003. Advantages include:

  • AJAX-based - secure, standards based, no plugins.
  • Packaged Platform - avoid the pain of doing it all yourself.
  • Visual Development - dramatically simplifies AJAX programming.
  • JackBe Markup & API - program in the mode of your choice.
  • Cross-Browser - support for all major browsers. today.
  • Integration - integrates with existing server-side code and services.
  • Performance - leading user experience, even on dial-up connections.

JavaScript MVC

JavaScript MVC is a JavaScript framework used to develop web applications.

JavaScriptMVC is general purpose framework. It is useful for many types of web development including: Rich Internet Applications, simple CRUD applications, Enterprise Mashups, and more.

Model-View-Controller

Junction is designed to help developers build web applications efficiently. This is done by enforcing a Model-View-Controller (MVC) design pattern. This has several benefits:

   * Clarity of design
   * Efficient modularity
   * Multiple views
   * Ease of growth
   * Distributable
   * Powerful user interfaces

Client Side Development

JavaScriptMVC applications run in a user’s browser and manipulate web services. Because JavaScriptMVC enforces the use of services, you benefit from the traditional advantages of web services:

   * Interoperability
   * Usability
   * Service reuse
   * Deploy-ability

Running in the browser also provides Junction with unique advantages:

   * Performance and parallelism
   * Powerful user interfaces
   * Specialization between service and client functionality.

JavaScriptMVC helps developers create web applications efficiently and correctly.

Javeline PlatForm

Javeline PlatForm is a unique software development kit for building next-generation applications. With Javeline PlatForm developers can deliver applications to modern browsers on all platforms, in shorter development cycles and with more functionality. Javeline PlatForm outperforms other toolkits in two key aspects – development time and user functionality.

For coupling data to the interface, Javeline PlatForm embodies a revolutionary technology called SmartBindings. SmartBindings define how data is transformed to the user interface, including standard operations for manipulating data, but also more advanced features such as Undo and Drag & Drop. SmartBindings are defined in XML-based property sheets, greatly reducing the amount of code to be written – thus minimizing the chance of errors and speeding up the development cycle. Through SmartBindings, developers can quickly create the basic structure of their application without writing a single line of code. This means developers can economically explore multiple variations of a prototype or quick-build a complete concept application for winning a pitch. Since SmartBindings are an abstract layer between data and interface, it makes changing the data-structure or the interface a trivial affair, even at the final stages of the project. It also means developers and designers can truly work in parallel, further speeding up overall development.

Data is delivered to the application via the Open Source Javeline TelePort layer, making Javeline PlatForm applications agnostic of back-end technology. Javeline TelePort takes care of the communication between the client and the server. It automatically handles errors, time-outs and retry. TelePort features an advanced polling interface for controlling reconnecting and polling frequency. Javeline TelePort supports all major protocols for web services and the Javeline-specific protocols HTTP-Socket and Javeline PHP Protocol. Since Javeline has released TelePort under the Open Source GPL license, adding support for other protocols is easy.

Javeline PlatForm can be extended with various components available from Javeline, such as DeskRun™ and MediaFlow™. DeskRun delivers a FrameWork application to the Windows desktop from the exact same code base. MediaFlow allows extensive manipulation of media, for instance the realtime subtitling of video-streams.

Javeline® PlatForm Suite includes the following tools and libraries:

  • Javeline PlatForm Libraries:
    • Javeline Core Library
    • Javeline Component Library
    • Javeline TelePort Library
  • Manual and reference guide
  • Documented and Commented Example Code and Demos
  • Windows 2000 and Perspex Skin set

For documentation and the beta release visit the Javeline Developer Center at developer.javeline.net.

For Live demos and Tutorials Check out www.ajax.org

Documentation:

More information:

Download Javeline PlatForm Beta:

Licence

  • GPL
  • Commercial


JsLINB - Javascript framework of LINB (since 2006)

jsLINB is a Cross-Browser javascript framework with WYSIWYG GUI builder and javascript-based source code Editor.

Features

   * Rich client-side API, works with any backend (php, .Net, Java, python) or static HTML pages.
   * More then 40 common components, including Tabs, Dialog, TreeGrid, TimeLine and many other web GUI components.
   * Wide cross-browser compatibility, IE6+, firefox1.5+, opera9+, safari3+ and Google Chrome.
   * Full API Documentation with tons of samples.
   * Ever Increasing Code Snippets.
   * Drag&Drop WYSIWYG GUI builder and IDE available. Significantly reduced development time.
   * Source code editor Integrated (Code Intellisense, Code folding, Syntax Check and Undo/Redo).
   * Compatible with jQuery, prototype, mootools and other frameworks.
   * Open Source under LGPL license, and commercial support available.

Online Demos

   * GUI Builder
   * GUI Builder with file management
   * Examples
   * API Documentation 
   * Code Snippets

Browser Support (tested)

   * Internet Explorer 6.0+
   * Firefox 1.5+ 
   * Opera 9+
   * Safari 3+
   * Google Chrome
   * other modern browsers too.

Licence :

   * Open source
   * Commercial

JsRia - Javascript Rich Internet Application (since 2005)

[1] JsRIA is a opensource framework enabling rich client interface development. It's pure javascript and is completely independant of the server side technology. The client interface is described by an xml file (or dynamically in javascript if you need that). JsRIA is completely object oriented (javascript components, xml description, css style) and you can very easily build a hierarchy for your interface objects. You also can use AJAX technology to bring really dynamic interface to your users. Numerous functions are provided to parse and use xml flux coming from your server.

Online Demo : [2]

Browser Support :

   * Internet Explorer 6.0+
   * Firefox 1.0+ 
   * Netscape Navigator 7.0+
   * Opera8+

Licence :

All JsRIA code and documentation are released under the Apache Software Licence V2. JsRIA distribute third party tools and components with compatible licences.

Macao - The Web Animation Framework (developed since 2000 published 2005)

Macao is a framework based on JavaScript and DHTML for building animated interactive homepages and applications with a focus on games. It features:

  • Event driven architecture.
  • Action-based definition of objects behaviors.
  • Build in support for internationalization.
  • Complete Java-style API documentation.
  • Detailed step-by-step tutorial on how to build Macao pages.
  • A road editor is available for building pages with road maps.
  • Controls for graphic adventures.
  • A module for card games.
  • Can be hosted on any static Web server.
  • Can also be run from the local file system.
  • GNU General Public License

More information:


MochiKit (from 2005)

MochiKit is a highly documented and well tested, suite of JavaScript libraries that will help you get your work done, fast. Authors borrowed good ideas from Python, Objective-C, etc. and adapted them to JavaScript. It features:

  • MochiKit.Async - manage asynchronous tasks
  • MochiKit.Base - functional programming and useful comparisons
  • MochiKit.DOM - painless DOM manipulation API
  • MochiKit.Color - color abstraction with CSS3 support
  • MochiKit.DateTime - "what time is it anyway?"
  • MochiKit.Format - string formatting goes here
  • MochiKit.Iter - itertools for JavaScript; iteration made HARD, and then easy
  • MochiKit.Logging - we're all tired of alert()
  • MochiKit.LoggingPane - interactive MochiKit.Logging pane
  • MochiKit.Visual - visual effects
  • MIT license or Academic Free License, v2.1.

Mootools

Mootools is a compact, modular, Object-Oriented javascript framework designed to make writing extensible and compatible code easier and faster. MooTools lets you get the job done efficiently and effectively.

  • Pros
    • It is lightweight, powerful and makes use of many of the new javascript coding functions that we’ve become accustomed to (such as $()).
    • The FX library is incredibly solid, doesn’t require div-itis, and uses the same physics easing equations as most flash users.
  • Browser Compatibility -mootools is compatible and fully tested with Safari, internet explorer 6 and 7, Firefox (and its mozilla friends), Opera and Camino.
  • License - mooTools is released under the Open Source MIT license, which permits you to use it and modify it in every circumstance.


Open Rico (Under development; from May, 2005; based on earlier proprietary framework)

Open Rico is a multi-purpose framework with support for Ajax infrastructure and user interaction.

  • An XMLHttpRequest response can be routed to one or more callback operation, DOM object, or Javascript object.
  • Easy drag-and-drop.
  • Ajax animation such as scaling and transitions (and presumably the increasingly common idioms such as progress indicators and fading technique?)
  • "Behaviors" - Essentially a widget library.
  • External tutorial by Yonah Russ of Mirimar?
  • Builds on prototype library.
  • Open-source. From Sabre Airline Solutions. By Bill Scott, Darren James, and others.

OpenLink AJAX Toolkit, a/k/a OAT (since 2006)

OAT is a JavaScript-based toolkit for browser-independent Rich Internet Application development. It includes a rich collection of UI Widgets/Controls, Event Management System, and a truly platform independent Data Access Layer called AJAX Database Connectivity (ADBC).

  • Open source, released under GPLv2, found on SourceForge
  • OpenAjax Compliant (as of March, 2007)
  • Fully functional online demo
  • Full documentation also online
  • Widgets include Bar Chart, Pie Chart, Line Chart & Sparklines, Grid, Pivot table, Tree, Dock, Panelbar, Ticker, FishEye, WebDAV Browser, Timeline, RDF Graph, Variable upload, Input restrictions, Dimmer, QuickEdit, Combo list, Combo box, Combo button, Slider, Date picker, Color picker, Enhanced Anchor, and an RSS Reader.
  • Libraries include JSON, Cryptography, Statistics, AJAX, Ghost Drag, OS-style Windows, Rounded Corners
  • AJAX Database Connectivity, or ADBC, enables and richens Mapping Mashups, Pivot Tabless, Scrollable Cursors, and Data Modelling, through trivially easy binding of widgets to SQL (via XMLA), RDF (SPARQL), XML (HTTP), and Web Services (both SOAP & REST).
  • Usage is as simple as including two .js files in the <head> portion of an HTML document, and specifying a list of features you want to use. The framework will build the dependency tree and dynamically include all needed (and no other!) files, minimizing client payload size.
  • OAT has been tested in Gecko browsers (Firefox, Mozilla/SeaMonkey), IE6, Opera and Apple WebKit.

Plex Toolkit (Open Source RIA Framework and GUI Toolkit)

Plex Toolkit is an open source feature-complete DHTML GUI toolkit and AJAX framework based on a pure Javascript/DOM GUI tookit and AJAX framework. Uses the almost identical markup language to PXML (Flex) embedded in ordinary HTML documents for describing the UI. Binding is done with Javascript.

Pros:

  • Full set of widgets such as datagrid, tree, accordion, pulldown menus, DHTML window manager, viewstack and more (over 60 libraries)
  • Markup driven (makes it easy to build the interface)
  • Interface components can be easily themed with CSS
  • Client side XSLT for IE and Mozilla
  • Well documented with examples.
  • Multiple remoting transport options - XMLHttpRequest, IFrame (RSLite cookie based coming soon)
  • Back button support (complete history management for all components)
  • Support for YAML serialization
  • Open-source under GPL, LGPL, or Artistic License (your choice) by Richard Hundt.

Cons:

  • No animation framework

Prototype (From 2005)

Prototype makes it easy to use object-oriented concepts like classes and inheritance within Javascript. It also supports basic Ajax functionality such as web remoting.

  • A project run in conjunction with Ruby on Rails, but can be (and certainly is) used independent of Ruby or RoR.
  • Open-source by Sam Stephenson.
  • Animation and effects can be added on using the Scriptaculous library.

jQuery (From 2005)

jQuery jQuery is a new type of Javascript library. It is not a huge, bloated, framework promising the best in AJAX - nor is just a set of needlessly complex enhancements - jQuery is designed to change the way that you write Javascript..

  • Open-source by John Resig.

qooxdoo (LGPL/EPL open-source, since 2005)

qooxdoo is one of the most comprehensive and innovative Open Source (EPL/LGPL) multipurpose AJAX frameworks. It includes support for professional JavaScript development, a state-of-the-art GUI toolkit and high-level client-server communication.

Framework

It is entirely class-based and tries to leverage the features of object-oriented JavaScript. qooxdoo is fully based on namespaces and does not modify or extend native JavaScript types. Most modern browsers are supported (Mozilla, IE, Opera; Safari to follow) and it is free of memory leaks. It comes with a comprehensive API reference, that is auto-generated from JavaDoc-like comments and from the syntax tree representing the code. The fast and complete JavaScript parser not only allows for doc generation, but is an integral part of the automatic build process that makes optimizing, compressing, linking and deployment of custom applications extremely simple.

GUI Toolkit

Despite being a pure JavaScript framework, qooxdoo is quite on par with GUI toolkits like Qt or SWT when it comes to advanced yet easy to implement user interfaces. It offers a full-blown set of widgets that are hardly distinguishable from elements of native desktop applications. Full built-in support for keyboard navigation, focus and tab handling and drag & drop is provided. Dimensions can be specified as static, auto-sizing, stretching, percentage, weighted flex or min/max or even as combinations of those. All widgets are based on powerful and flexible layout managers which are a key to many of the advanced layout capabilities. Interface description is done programmatically in JavaScript for maximum performance.

No HTML has to be used and augmented to define the interface. The qooxdoo user does not even have to know CSS to style the interface. Clean and easy-to-configure themes for appearance, colors or icons allow for a full-fledged styling that even supports runtime switching.

AJAX

While being a client-side and server-agnostic solution, the qooxdoo project does include complete implementations of RPC servers (currently Java, PHP, Perl) to demonstrate some of its advanced client-server communcation. An abstract transport layer supports queues, timeouts and implementations via XMLHttpRequest, Iframes and Scripts. Like the rest of qooxdoo it fully supports event-based programming which greatly simplifies asynchronous communication.

External links

Script.aculo.us (from 2005)

Scriptaculous builds on Prototype library to provide a Javascript with comprehensive Ajax coverage.

  • Visual Effects (See One-Second Spotlight pattern)
  • Drag-And-Drop (See Drag-And-Drop pattern)
  • Unit-Testing (See System Test pattern)
  • etc.
  • Open-source by Thomas Fuchs and others. A project run in conjunction with Ruby on Rails, but can be (and certainly is) used independent of Ruby or RoR.

SmartClient (enterprise AJAX GUI system since 2000)

SmartClient from Isomorphic Software is the cross-platform AJAX GUI system chosen by top commercial software vendors, on-demand service providers, and enterprise IT developers for thousands of deployments since 2000.

  • cross-browser foundation classes and services
    • JSON or XML programming
    • browser abstraction layer
    • GUI component services
    • logging and debugging services
  • extensible GUI components
    • navigation and command controls
    • form controls and managers
    • flat, hierarchical, and multidimensional grids
    • containers and layout managers
  • data & services stack
    • client data caches and local operations
    • client data model managers
    • communication and protocol services
  • visual development tools
    • runtime console
    • log viewer
    • component inspector and editor
    • admin console
    • integrated developer reference
  • SmartClient AJAX applications run on Internet Explorer, Mozilla, Netscape, Firefox, and Safari web browsers, on Windows, MacOS, Linux, and Solaris. Unlike other AJAX systems, SmartClient applications are fully functional even when ActiveX is disabled.
  • See www.smartclient.com for a product brief, live demos, and downloadable SDK for SmartClient version 5.5.
  • "We evaluated many alternatives, and Isomorphic provides the most mature smart client technology for zero-install web applications." - VP Tools & Technology, PeopleSoft
  • Commercial product from Isomorphic Software

Subsys_JsHttpRequest

Subsys_JsHttpRequest - Russian Ajax framework with XmlHttpRequest support and dynamic "script src" generation to emulate Ajax functionality for old browsers, which not compatable with XmlHttpRequest.

Comments:

  • english version available

ThyAPI (Under development; Since end of 2004)

ThyAPI is a library of DHTML reusable components. AJAX is only one of its features. Its main purpose is to allow the creation of full desktop-like applications in browser. ThyAPI is a library based on DynAPI, and Open-source (LGPL)

  • Made entirely in DHTML (Javascript + CSS)
  • Totally object-oriented, extensible
  • XMLRPC protocol, for data exchange with the server. Plans to implement JSON-RPC.
  • Interface definition entirely in CSS
  • Working in Mozilla Firefox (version 1.0+) and Internet Explorer (version 6+)
  • A DataSource component, to simplify linking of javascript widgets with server methods
  • Cross-browser, cross-platform support (it inherits this characteristic from DynAPI)
  • Aimed to provide RAD development of browser-based applications, and reuse of custom-made widgets
  • Open Source (LGPL)

TIBCO General Interface (Open Source AJAX RIA Framework with commerical backing from TIBCO (Nasdaq: TIBX)) Update Jan 2008

  • TIBCO General Interface" is a mature AJAX RIA framework that's been at work powering applications at Fortune 100 and US Government organziations since 2001. In fact the framework is so mature, that TIBCO General Interface's visual development tools themselves run in the browser alongside the AJAX RIAs as you create them.

Focused on enabling rapid creation of reliable Ajax applications, components and portlets with the look and feel of desktop graphical user interface applications. General Interface features:

  • Over 100 ready-made Ajax components, and hundreds more functions
  • Visual Ajax tools for rapid assembly, coding, and connectivity to services
  • A "server-less" architecture ready to use with what you already have
  • Vector based charting package
  • Support for SOAP communication (in adiition to your basic HTTP and XML too)
  • Full visual development environment
    • WYSIWYG GUI layouts
    • step-through debugging
    • code completion

Interactive Website Framework (from May 2005)

Interactive Website Framework is a project aiming to support the various aspects of Ajax infrastructure in the browser. Describes itself as a "framework for creating highly interactive websites using javascript, css, xml, and html. Includes a custom xml parser for highly readable javascript. Essentially, all the plumbing for making AJAX-based websites, as well as other common scripts.".

  • Thread-safe XMLHttpRequest implementation
  • Wrapper around XML document, so you can make more readable code:
   var node = doc.groceries.frozen[0].pizza[0].size;

instead of manual navigation:

   var node = doc.documentElement.firstChild.firstChild.getAttribute("size");


TIBET (Early Access Releases available; from July, 1999)

TIBET "Enterprise Ajax" framework supporting XML-based authoring layered above extensive object-oriented JavaScript extensions. Initial development began in 1999 with a 1.0 version shipping in 2001 which ran on Nav4 and IE4. TIBET has been in continuous development since that time and has recently undergone a redesign to focus on XML-based authoring. Early Access releases of this new XML-focused version of TIBET are available from http://www.technicalpursuit.com.


Strange Site. Does not appear to have any way to access their products or its documentation. ???

twoBirds (April 2007)

twoBirds Prototype "Web Component Framework" modular, asynchronous, recursive on-demand web-element loader including fw structure - backend independent, cross-browser, cross-system.

twoBirds is based on web design principles (XHTML, CSS) for design, but has a component-like programming logic to allow for unlimited complexity. twoBirds uses jQuery as selector and effect lib as standard, but can generally bind any lib that doesn´t change JS standard syntax and has a clear namespace distinction. It can be used standalone also, no other lib is required.

twoBirds has only 4 major function calls: - tb.element.show( pDivId, pModule, pElement) loads a web-element and displays it in the given div. - tb.element.require( pReqArray, pCallbackFunction, pIsAsync) loads a web-elements additional required files (HTML templates, CSS) and calls the pCallback function once everything has loaded. - tb.request.add(...) is the typical request wrapper. - tb.loader.tplget( pModule, pElement) retrieves an HTML template from the cache.

Due to this small number of essential features, the learning curve is close to zero. It is a functional principle, not a heavyweight framework. Compressed twoBirds library files have 6kb.

No matter how many web-elements you load simultaneously, and whether some have partially identical requirements, twoBirds will automatically ensure that nothing is loaded twice. Since everything except the sheer data (usually transferred via JSON objects) is cached, it is very fast.

For more information see AJAX framework typology and twoBirds Introduction. For more information contact the programmer via phpBuero

UI4W (from 2006)

UI4W is a Java Script User Interface library, aiming at providing widgets common in desktop UIs (such as tables, trees and tabs) to the web developer toolbox in a consistent way. It's based on MochiKittries to follow the same good practices such as 100% documentation coverage and extensive test suite .

The primary target is the data-centric web application, but applying some good stylesheets can make UI4W usable in sites where the look and feel should be somewhat special.

UI4W plays nice with asynchronous requests (the coolest AJAX part) but it's not in any way tied to them. In fact, UI4W uses only simple JavaScript objects or HTML attributes as the input, making it very flexible.

Yahoo! User Interface Library (YUI)

Yahoo! User Interface Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX. The library is released under the BSD license (Open Source)

WinLIKE - a real Window Manager for the Web

  • WinLIKE is an easy and universally to integrate framework from CEITON technologies
  • it provides Web application with real windows
  • learn more about WinIKE Wiki: What is it?
  • see all samples live at WinLIKE contents

Zimbra AjaxTK (Commercial-OpenSource RIA Toolkit)

Zimbra is a recently released client/server open source email system. Buried deep within this product is an excellent Ajax Tool Kit component library (AjaxTK) written in Javascript. A fully featured demo of the product is available on zimbra.com, and showcases the extensive capabilities of their email client. A very large and comprehensive widget library as only available in commercial Ajax toolkits is now available to the open source community. Download the entire source tree to find the AJAX directory which includes example applications.

  • Description: Zimbra is a recently released client/server open source email system.

Pros:

  • Full support of drag and drop in all widgets. Widgets include data list, wizard, button, text node, rich text editor, tree, menus, etc.
  • Build system uses Ant and hosting is based on JSP and Tomcat.
  • Very strong client-side MVC architecture based; architect is ex-Javasoft lead developer.
  • Communications support for client-side SOAP, and XmlHttpRequest? as well as iframes.
  • Support for JSON serialized objects, and Javascript-based XForms.
  • Strong multi-browser capabilities: IE 5.5+, Firefox 1.0+, latest Safari
  • Hi quality widgets have commercial quality since this is a commercial open source product.
  • Widget library is available as a separate build target set from the main product.
  • Debugging facility is built in to library, displays communications request and response.
  • License terms making it suitable for inclusion in other commercial products free of charge.

Cons:

  • Does not currently support: Keyboard commands in menus, in-place datasheet editing.
  • Does not support graceful degradation to iframes if other transports unavailable.
  • Documentation is lacking, but PDF white paper describing widget set and drag and drop is available.
  • Open-Source License (Zimbra Ajax Public License ZAPL, derived from Mozilla Public License MPL) from Zimbra.