Frameworks

With all the options out there, how do you know which framework is the right one for your project? How can you keep up with new releases and updates? Are you confident you know which features you need to look for? The Ajax Experience features more than 20 sessions covering client-side frameworks, server-side frameworks and emerging frameworks including jMaki, jQuery, Dojo, DWR, Prototype, Google Web Toolkit (GWT), Scriptaculous, qooxdoo and more. Select a title, or view sessions by type: Key Frameworks | Server-Side Frameworks | Emerging Frameworks

Achieving a runtime CPAN with Dojo's xdomain resource loader
Advanced jQuery
Advanced Prototype
Beyond XHR: Taking Ajax Offline with Google Gears
Building Ajax Applications with Google Web Toolkit
Building Rich JavaScript Database Apps with Jester
Client-Side Framework Overview
ColdFusion-Powered Ajax Applications

Creating Offline Web Applications with Dojo Offline
Discovering Prototype
Diving into symfony
Dojo 0.9: Faster, Leaner and Dijit?
Dynamic JavaServer Faces
Ext: Extend the Web
Go Deep with ASP.NET Ajax
Hands-on DWR
Introduction to jQuery
JavaScript on Client and Server with Phobos
jQuery for Designers
jMaki: Creating Ajax Application Made Easy

JSON Overview
OpenAjax Alliance - OpenAjax Hub 1.0 (And more!)
Prototype Patterns
qooxdoo
script.aculo.us
Xaja: A Server-Side PHP Reverse Ajax Framework

 

Key Frameworks

Achieving a runtime CPAN with Dojo's xdomain resource loader with James Burke, Dojo contributor, AOL

The Comprehensive Perl Archive Network (CPAN) is designed to help developers easily locate modules not found in the standard Perl distribution. It makes working with Perl easier and more efficient. How great would a runtime CPAN-like resource be for JavaScript? You’d be able to load JavaScript modules from anywhere on the web and reduce development cycle times for Ajax apps while increasing functionality. Learn how Dojo’s xdomain resource loader makes this a reality during a session with AOL’s Dojo contributor, James Burke.

James explains:

  • • The mechanics and pitfalls of using dynamic script tags to load JS libraries;
  • • Security implications you need to consider when using xdomain loader;
  • • Best practices for preparing your code to use xdomain loader;
  • • How to use Content Delivery Networks (CDNs) from AOL and Yahoo to load JavaScript code and more.

Advanced jQuery with John Resig, jQuery founder

If you’re already a jQuery user (Or, after attending the Intro to jQuery talk), come to this session and take knowledge to the next level. In this presentation, jQuery founder John Resig takes a look at complex development scenarios that can be simplified with jQuery.

You’ll learn how to:

  • • Use jQuery and various plugins to create an advanced wizard;
  • • Implement complex form and navigation into your applications;
  • • Add advanced Ajax interactions and more.

Advanced Prototype with Christophe Porteneuve, Prototype Core team member and CTO, Ciblo

You may be familiar with the Prototype framework, but chances are you’re underutilizing it. During this session, Christophe Porteneuve conveys several Prototype best practices and advanced uses found in “expert” code. Prototype is mostly about improving/shortening the code, and its main challenge resolution is about portability.

This session goes way beyond regular Prototype usage – you’ll learn:

  • • How to add custom methods to the DOM extension mechanism,
  • • Ways to improve the efficiency of your scripting
  • • What to expect with upcoming features in Prototype 1.6

Client-Side Framework Overview with John Resig, founder of jQuery

With so many Ajax framework options available, it’s difficult to select the right one for your project. During this session, jQuery founder John Resig gives you a tour of the most important open source client-side JavaScript frameworks. You’ll learn everything from features, to coding style, to file size, to community and growth so you can make an informed decision into your next framework choice. Frameworks covered include:

  • • Prototype
    • Dojo
    • jQuery
    • Yahoo UI
    • Mootools
    • Ext

Discovering Prototype with Christophe Porteneuve, Prototype Core team member and CTO, Ciblo

Developing Web 2.0 apps without a reliable JavaScript framework is a daunting task. Prototype is one of the leading JavaScript libraries around, and it also serves as foundation to many popular JavaScript frameworks. In this session, Prototype core team member Christophe Porteneuve reviews all the important features of Prototype, starting with a quick, targeted JavaScript redux to help make the code easier to understand, and moving on to JavaScript extensions, DOM extensions, Ajax capabilities and more.

You’ll learn how to:

  • • Write portable JavaScript;
  • • Explore and manipulate the DOM in a much easier way;
  • • Leverage the power of Ajax
  • • Reduce the time spent on scripting while enhancing readability and portability.

Dojo 0.9: Faster, Leaner and Dijit? with Dylan Schiemann, co-creator of Dojo Toolkit

As the Dojo Toolkit celebrates its third anniversary of providing a solid Ajax and JavaScript toolkit, it is undergoing a significant transformation to improve performance and simplify its usage.

In this session you will hear about the lessons learned in developing the toolkit from Dylan Schiemann, co-creator of Dojo. Regardless of whether you’ve used Dojo before or not, this session is for anyone that is considering writing their own JavaScript toolkit and wants to make new mistakes instead of the ones made in previous version of Dojo.

Dylan also shares a first-hand perspective on:

  • • What Dojo does well & what needs improvement;
  • • Features that are changing for the better;
  • • New functionality you can gain with Dijit, Dojo’s new widget library.

Fast, Beautiful, Easy: Pick Three -- Building Ajax Applications with the Google Web Toolkit with Dan Morrill, Developer Programs, Google, Inc.

As Ajax becomes an increasingly mainstream development platform, the ecosystem of Ajax-related tools will grow and thrive. Google Web Toolkit (GWT) is a powerful member of this new ecosystem. GWT is an open source framework for creating Ajax applications by cross-compiling Java source into JavaScript and allowing Java developers to use their existing Java skills and tools to easily create Ajax applications. This session will offer a short introduction to GWT, and then dive into its key topics, including high performance Ajax, remote procedure calls, and integration with existing web applications.

You’ll learn how to:

  • • Leverage your Java programming skills to develop high-quality, high performance Ajax applications;
  • • Write effective Ajax applications that integrate with existing web applications;
  • • Cross-compile Java source code with GWT, and write Ajax applications without learning JavaScript.

Go Deep with ASP.NET Ajax with Matt Gibbs, Development Manager, UI Framework and Services Team, Microsoft

Go below the surface of ASP.NET AJAX and see how the Microsoft AJAX Library and the ASP.NET AJAX server controls come together to create a rich platform for developing more immersive, responsive and interactive Web applications. Learn about how ASP.NET AJAX uses JSON serialization and the JavaScript proxies that are created for accessing Web services. The Microsoft AJAX Library provides an asynchronous request lifecycle; learn tips for working with the UpdatePanel control and ways to deploy scripts for greater performance.

Hands-on DWR with Joe Walker, creator of DWR (Direct Web Remoting)

Because of DWR's ability to fit into almost any Java web application, and to provide a very dynamic user experience, DWR is one of the most used Java / Ajax frameworks. This presentation digs into many advanced DWR features, including Reverse Ajax and the JavaScript proxy APIs.

DWR creator Joe Walker kicks off this presentation by demonstrating advanced page manipulation and server-based control of browsers, and showing you how to update any web application to react to server changes. Joe also outlines how DWR integrates with other Ajax libraries like TIBCO GI, Script.aculo.us, and the OpenAjax Hub.

In this session, you’ll learn:

  • • What DWR can do;
    • How DWR fits into a wide range of applications;
    • How straightforward it is to create advanced effects with minimal coding.

Intro to jQuery with John Resig, Founder of jQuery

jQuery is a concise open source JavaScript Library used for Document Object Model (DOM) traversal, event handling, Ajax requests, and animations. Whether you’re new to JavaScript entirely or experienced with JavaScript but looking to shorten and simplify your code, jQuery is a framework you need to be familiar with. In this introduction you’ll gain fundamental knowledge on how to use jQuery to write smaller code, faster.

During this session, framework founder John Resig provides a real-time demo and hands-on walk-through on writing an animated Accordion widget and Ajax to-do list from scratch.

You will learn:

  • • A basic overview of jQuery;
    • How to develop a number of common-case widgets;
    • Using jQuery to handle DOM, Event, Animations, and Ajax interactions.

jQuery for Designers with Glen Lipka, Sr. User Interface Designer

jQuery for Designers with Glen Lipka, Sr. User Interface Designer, Marketo

Advanced JavaScript is often viewed as a prerequisite to using Ajax for both designers and programmers. But in this session, senior user interface designer Glen Lipka demonstrates how designers can leverage existing HTML and CSS skills and use jQuery to dynamically update or edit any aspect of your web site or web application. Through a series of scenario/challenges, Glen demonstrates how all different categories of designers can improve the experiences of their customers without learning to "program" - and without getting the engineers involved.

You’ll learn how to:

  • • Go beyond Photoshop and add dynamic events and effects to your pages;
    • Transform static information containers into interactive tables;
    • Breathe new life into online forms;
    • Make your own prototypes in jQuery and more.

Prototype Patterns, with Ryan Johnson, founder of LivePipe

Prototype and script.aculo.us provide a wealth of useful components, but provide no pattern for developing larger applications. This session will provide the knowledge you need to take full advantage of the core features of these frameworks, including how to develop the largest of applications in a sustainable and well organized fashion.

In part one of this session, you will learn how to take advantage of JavaScript's flexible syntax and how to treat functions as a first class data type to fully utilize the Prototype framework's core features. Part two will focus on MVC-like patterns for developing larger JavaScript applications with the Prototype and script.aculo.us frameworks, including how to wrap any server-side API as your Model, how to use script.aculo.us Builder as your View, and how to combine DOM events with your own classes and events to create the Controller layer.

You’ll leave the session having mastered:

  • • The full flexibility of JavaScript syntax, enabling more compact and concise code as well as dynamic method calls.
    • The finer points and inner workings of function scope to fully utilize the core methods of the Prototype framework.
    • The creation of classes that properly use both static and instance methods and properties for proper encapsulation.
    • The elegant creation of a separation of concerns in your JavaScript applications.
    • The best way to set up event-based applications for scalable, sensible and sustainable development in applications of any size.

qooxdoo, with Andreas Ecker, Project Lead of qooxdoo and Derrell Lipman, qooxdoo Team Member

qooxdoo is a comprehensive and innovative Open Source JavaScript framework. In this session, you’ll learn how to leverage qooxdoo to develop professional JavaScript applications, using its state-of-the-art GUI toolkit that allows for easy development of impressive cross-browser web applications. Project lead Andreas Ecker and team member Derrell Lipman will also demonstrate and discuss qooxdoo's elegant Ajax and remote procedure call communication layers.

In this session, you will learn how to:

  • • Use qooxdoo's wide array of widgets and its tool chain to easily develop truly innovative web applications;
    • Create applications with zero-footprint and no memory leaks;
    • Have your application run transparently to the user;
    • Build applications without any knowledge of CSS or even HTML, using typical commands from other major toolkits for native applications.

script.aculo.us with Christophe Porteneuve, Prototype Core team member and CTO, Ciblo

This session is specifically targeted at Web developers trying to infuse some advanced interaction into their user interfaces. There is absolutely no requirement on what server-side technology is used, as script.aculo.us is “backend-agnostic.” Listen as Christophe Porteneuve gives a detailed overview of the script.aculo.us visual library, exploring all its features from visual effects, to drag and drop, to auto-completion and in-place editing, to DOM building, to slider controls.

You’ll learn how to:

  • • Provide advanced user interactions in a portable way;
    • Let users manipulate elements through drag and drop (e.g. reorder them or put them in a cart);
    • Improve feedback and understanding with appropriate use of visual effects;
    • Make any part of your pages in-place editable (e.g. custom portal pages)
    • Take advantage of the brand-new, improved rewrite of in-place editors.

Back to Top

Server-Side Frameworks

ColdFusion-Powered Ajax Applications with Tim Buntel, Sr. Product Marketing Manager, ColdFusion, Adobe

There are many great Ajax libraries, but it’s still difficult to bridge these rich clients with the vast array of enterprise data and services found in most organizations. ColdFusion 8 has unique features to make that connectivity simple – even for non-Java or .NET developers. If you’re comfortable with HTML and JavaScript, you can create powerful server-side logic with ColdFusion.

This session demonstrates the easy built-in Ajax support in Adobe ColdFusion 8, including a complete Ajax UI library and an Ajax proxy for linking rich web client applications to J2EE server resources. You’ll see how ColdFusion 8 makes it simple to pass data from such server-side resources as Java objects, .NET objects and Exchange servers, databases, LDAP directories and more to an Ajax client with automatic serialization and deserialization of data in JSON format. You’ll also learn how to use the built-in components such as data grids, rich text editors, menus and tree controls, pop-up windows and more. Finally, a completed application will be packaged as a standard Java archive and deployed on JBoss as pure Java bytecode.

In this session, you will learn how to:

  • • Easily share virtually any enterprise data or services with your Ajax application with a server-side technology that deploys into standard J2EE environments;
    • Address common pain points and allows you to perform server-side authentication, connect your application to an Oracle database, integrate your application with a server-side file system and access existing Java or .NET assets from your Ajax application;
    • Convert any server-side data into a JSON (JavaScript Object Notation) representation of the data;
    • Overcome challenges like structured reporting and PDF generation and integration.

Dynamic JavaServer Faces with Roger Kitain, co-spec lead, JavaServer Faces, Staff engineer, Sun Microsystems

JavaServer Faces (JSF) is a standardized specification for building User Interfaces (UI) for server-side applications. In this session, you’ll hear how to leverage the JSF architecture to work with Ajax. Roger Kitain, co-spec lead for JSF and staff engineer with Sun, will dive into code from a page author and component developer's perspective, and take a detailed look at the Dynamic Faces Ajax framework. You’ll also hear a summary of other Ajax/JSF frameworks that are available today.

In this session, you will learn:

  • • How to add Ajax to JSF applications – with or without JavaScript;
    • Features that make JSF a great foundation for web applications;
    • Why and how JSF’s unique features support the development of dynamic applications with Ajax.

jMaki: Creating Ajax Application Made Easy with Greg Murray, Ajax Architect, Sun Microsystems

Users want Ajax functionality, but integrating it with existing application and wiring everything together can be a pain. jMaki is a lightweight client-server framework for creating JavaScript-centric Ajax applications that use CSS layouts, the widget model and client services (such as publish/subscribe events) to tie widgets together; and JavaScript action handlers, and a generic proxy to interact with external RESTful web services. Users can employ jMaki to quickly create full-blown Ajax applications; or simply integrate snippets of Ajax functionality into existing applications.

This session covers the widget model and how to use jMaki to build an application. You will learn how to:

  • • Enable communication between widgets;
    • Connect to RESTful wfeb services;
    • Customize the look of the application using CSS themes.

RAD 2.0: Diving into symfony with Dustin Whittle, Technical Yahoo!, Social Search Group, Yahoo!, symfony evangelist,

Every time a team starts a new project, there is a common set of utilities needed – Standardizing on a framework provides a fast and consistent process to developing Web applications. This session covers rapid application development using the symfony PHP5 platform.

Learn what symfony is, how symfony works, and why it will simultaneously speed up your development and produce secure, maintainable code. symfony evangelist Dustin Whittle explains how to build, test, and deploy your Web 2.0 applications using symfony and an assortment of integrated tools. You’ll also see how to bridge the gap between the back-end and the front-end, by joining the power of symfony with your favorite JavaScript framework. Learn not only how to utilize symfony, but also how to incorporate other libraries such as the Zend Framework and ez components to seamlessly work within symfony.

In this session, you will learn:

  • • How to get a project started, tested and deployed in symfony;
    • Tested and proven best practices and design patterns;
    • Features of symfony, including developing fast with scaffolding and generators;
    • How to add your favorite JavaScript framework.

Xaja – A Server-Side PHP Reverse Ajax Framework with David Négrier, Lead developer, Xaja

Reverse Ajax enables developers to push data from the server to the browser with low-latency. Although this has become well understood and documented on the browser-side, it also has huge impacts on the server-side, since a process on the server needs to be kept “awake” to be able to push data on the browser. Xaja is the first framework to deal with those issues in the PHP world.

This session introduces the Xaja framework, which enables you to develop a complex Web 2.0 application without typing a single line of JavaScript. Attendees will get detailed insight into the architecture of the framework, and will also see a first hand demonstration on making a simple application with Reverse Ajax features.

You’ll learn how to:

  • • Design an event driven application using Xaja;
    • Modify the DOM from the server side and apply Script.aculo.us effects;
    • Use Xaja’s special taglib;
    • Push data from the server to the browser.

Back to Top

Emerging Frameworks

Beyond XHR: Taking Ajax Offline with Google Gears with Dan Morrill, Developer Programs, Google, Inc.

Users love Ajax-style applications, but one of the most common requests for Ajax applications – or any web-based application – is a way to access that application offline. Google Gears was created to make offline web application access possible. This session describes Google Gears, shows how it works and demonstrates cases where it’s been used effectively. The session also includes a demo of a Google Gears application, and a tour of its source code.

In this session, you will learn how to:

  • • How to enhance your Ajax applications to function offline;
    • The key issues with offline development; including data synchronization issues and application design issues;
    • Take advantage of the unique features of Google Gears.

Building Rich JavaScript Database Apps with Jester with Pete Forde, Unspace Interactive Partner

One of the primary concerns about Ajax applications has been the lack of support for basic browser functions, including using the Back button, or the ability to bookmark resources. Recently, several approaches have emerged that use the location.hash object (reperesented as the data after the # in an anchor URL) as an entry point, because chancing the hash doesn’t force the browser to reload the page. Jester is a new framework that provides similar syntax to ActiveResource for using REST to find, update and create data from the client side.

During this session, you will hear how:

  • • Client-side application development will evolve beyond Apollo, Slingshot and Firefox 3.0;
    • Combining Jester with location.hash helps you build rich database applications that degrade reasonably well;
    • Unique features in the latest release of Jester and more.

Creating Offline Web Applications with Dojo Offline with Brad Neuberg, Core developer, Dojo; Code contributor to Mozilla, JXTA, Jakarta Feed Parser & more

The offline world is here – Get a jump on adding this functionality to your web applications in this technical session. You’ll hear from Dojo’s core developer Brad Neuberg on how to use the new, open source Dojo Offline toolkit. Brad will also cover Google Gears integration, syncing, offline user-interfaces, and more.

In this session, you will learn how to:

  • • Add offline access to your web applications;
    • Add syncing;
    • Use Dojo Offline to work with Google Gears;
    • Create an offline user-interface;
    • Work with offline data.

Ext: Extend the Web with Rich Waters, Lead Developer, Builders Resource Group

Ext is that rare breed of open source library: Complete with documentation, premium support and extremely active community forums. In this session, you will learn about Ext’s ability to build on Prototype/Script.aculo.us, jQuaery or YUI. Ext provides amazingly simple and elegant JavaScript, Ajax and UI Components, as well as full API documentation, and support.

In this session, you will learn how to:

  • • Wield Ext for use in real world application;
    • Use Ext to rapidly accelerate your development process;
    • Extend Ext components to suit any need.

JavaScript on Client and Server with Phobos with Roberto Chinnici, Sr. Staff Engineer, Sun Microsystems, Inc.

The scope of JavaScript is quickly expanding to encompass more than the browser, and Phobos is at the forefront of this trend. In this session, Sun senior staff engineer Roberto Chinnici introduces Phobos, a JavaScript web framework running on the Java platform.

By using the same language (JavaScript) on client and server, Phobos aims to reduce the impedance mismatch between tiers, simplifying the creation of Ajax applications. And with JavaScript code everywhere, JSON becomes a natural data format and functions and entire scripts can be moved across tiers with minimal disruption. Favorite client-side toolkits like Dojo can be used on the server too, to minimize the differences between the browser and server environments. Phobos comes with a complete set of development tools, all integrated inside the NetBeans IDE, as well as support for a large number of Ajax toolkits thanks to jMaki.

In this session, you will learn how to:

  • • Write a rich web application entirely in JavaScript, using a visual development environment;
    • Use Ajax widgets in Phobos and how to attaching server-side logic to widgets;
    • Move JSON data and JavaScript code across tiers;
    • Implement RESTful web services in JavaScript;
    • Debug XMLHttpRequest exchanges interactively;
    • Deploy Phobos applications to servlet containers.

OpenAjax Alliance - OpenAjax Hub 1.0 (And more!) with Jon Ferraiolo, Web Architect, IBM Emerging Technologies and manager of operations at OpenAjax Alliance

Three major trends are pushing application developers towards integrating multiple Ajax technologies within the same application.

1) Ajax toolkit specialization (e.g., one toolkit might have the best calendar widget whereas another has the best data grid widget).
2) The emergence of SOA and web services promotes the proliferation of special-purpose client-side components that access particular back-end services.
3) The mashup trend where end users will build their own composite application by assembling pre-packaged Ajax components.

The OpenAjax Alliance addresses these trends by defining the key Ajax standards to allow multiple Ajax technologies to interoperate and integrate.

In this session, IBM Web architect and OpenAjax Alliance manager Jon Ferraiolo will describe the overall mission of OpenAjax Alliance and showcase OpenAjax Hub 1.0, the first major technical standard to come out of OpenAjax Alliance.

In this session, you will learn:

  • • Why the OpenAjax Conformance is key to achieving long-term Ajax interoperability and cost-effectiveness;
    • Why the OpenAjax Hub in particular enables successful integration of multiple Ajax technologies within a single Web application;
    • Which toolkits, frameworks and mashup applications have committed to OpenAjax Hub 1.0;
    • The role that OpenAjax Alliance plays in setting standards within the Ajax industry in order to help fulfill the promise of Ajax;
    • Why mashups almost always require integration of multiple Ajax toolkits within the same application, and why they are a key part of the future of Web 2.0 applications;
    • How OpenAjax Alliance’s other initiatives (e.g., Communications Hub, OpenAjax Registry, IDE Working Group, etc.) will help developers achieve Ajax interoperability and cost-effectiveness.