Advanced & Emerging Topics
Already completed an Ajax project (or two)? Think you’ve got a pretty good handle on working with Ajax? TAE covers what’s changed with Ajax development (the release of Dojo 0.9, the trend towards offline, new security risks) and offers advanced sessions covering JavaScript; building rich database applications with Jester and Ajax; creating offline applications with Dojo and more. Select a title, or choose a topic: Advanced | Emerging Topics. .
- Advanced jQuery
- Advanced Prototype
Advanced Web Application Security
Beyond XHR: Taking Ajax Offline with Google Gears
Building Rich JavaScript Database Apps with Jester
Case Study: Taking Large Browser-Based Applications Offline
Continuations in JavaScript - Creating Offline Web Applications with Dojo Offline
- Ext: Extend the Web
- JavaScript: The Good Parts
JavaScript on Client and Server with Phobos
OpenAjax Alliance - OpenAjax Hub 1.0 (And more!)
•Advanced jQuery with John Resig, jQuery founder
After attending the Intro to jQuery talk, come to this session and take your newfound (or pre-existing) jQuery 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 hear 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.
•Advanced Web Application Security with Joe Walker, creator, DWR and Jeremiah Grossman, founder and CTO, WhiteHat Security
Web application security is hard, and many developers and architects mistakenly assume that they understand all the issues. The security landscape has changed dramatically in the past 12 months. Attackers used to concentrate on ActiveX, but now JavaScript, CSS and even simple HTML elements have are used against websites. Unless you are aware of CSRF, Javascript Highjacking, and the many ways to fool an XSS filter, it's likely that your web application are not be secure. In this session, you will learn:
- • Security challenges specific to the Web 2.0 World;
• Available protection tools for both site owners and web users;
• The effects XSS, CSRF and JavaScript Hijacking can have on your application.
•Continuations in JavaScript with Kris Zyp
Are you tired of writing complex callbacks and encapsulating asynchronous operations to simplify coding and improving the linearity and manageability of complex rich internet applications? Continuations can prevent the endless series of callbacks that can occur in normal client-side Web application code, and result in much cleaner, easier to maintain code. This session will delve into the motivations for continuations, which eliminate callbacks. Including code samples for using continuations, attendees will learn about continuation-related programming language concepts, including cooperative threading, coroutines, and futures. The different continuation engines/compilers such as Narrative JavaScript, Jwacs, Djax, and Rhino and their distinctions will also be discussed. You will learn:
- • The fundamental concepts of continuations and how to utilize them to your benefit;
• How to start improving your code by using different continuations engines to encapsulate asynchronous operations such as Ajax requests, sleeps (setTimeouts), and linear user interaction;
• How to use cooperative threads and futures to handle conceptually parallel tasks in the user interface.
•JavaScript: The Good Parts with Douglas Crockford, creator of JavaScript Object Notation (JSON)
Are you sick of working around browser bugs and incompatibilities and ready to throw the towel in on JavaScript? Or, do you love it and need some ammo to defend it?
In this session, Douglas Crockford shows how to peel away the layers of cruft and good intentions to reveal the true nature and power of the language.
•Beyond XHR: Taking Ajax Offline with Google Gears with Dan Morrill, Developer, 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.
•Case Study: Offline Ajax – Taking Large Browser-based Applications Offline with J.J. Zhuang, Zimbra
Ajax delivers a new set of internet-based applications that provide users with a rich set of integrated features traditional applications failed to provide. But despite its game-changing hype, Ajax is limited in its usefulness – it only helps people on the Web, when the majority of users want to access their applications even when they aren’t connected to the Internet. This session explores how open source software provider Zimbra managed to integrate several open source projects, including Tomcat, Jetty, Jakarta, MySQL and Firefox, to create an architecture for offline Ajax applications. Using the Zimbra e-mail client as an example, you’ll see how to use these technologies to take your own Web-based service offline.
•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.
