Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ajax toolkit framework


Published on

Ajax toolkit

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Ajax toolkit framework

  1. 1. AJAX Toolkit Framework Robert Goodman ( [email_address] ) Leugim (Gino) Bustelo ( [email_address] ) IBM Software Group
  2. 2. Agenda <ul><li>Overview </li></ul><ul><li>AJAX Toolkit Framework Components </li></ul><ul><li>Component Details </li></ul><ul><li>Where to get AJAX Toolkit Framework </li></ul><ul><li>Demonstrations through-out </li></ul><ul><li>ATF Based Products </li></ul>
  3. 3. Overview <ul><li>The AJAX Toolkit Framework (ATF) is an Integrated Development Environment (IDE) for AJAX developers and an extensible framework for adding AJAX runtimes in to the IDE. </li></ul><ul><li>ATF is an open-source project in incubation phase on Eclipse. </li></ul><ul><li>Provides </li></ul><ul><ul><li>Tools to develop any DHTML/AJAX application </li></ul></ul><ul><ul><li>Tooling to facilitate use of various AJAX toolkits </li></ul></ul><ul><ul><li>Tight integration with the existing Eclipse user interface and development paradigm </li></ul></ul><ul><li>Targets AJAX Application Developers and Toolkit Developers </li></ul><ul><li>Aims to provide an ever-expanding set of high-function tools for AJAX developers </li></ul>
  4. 4. AJAX Toolkit Framework are Eclipse Plugins Mozilla XULRunner & JavaXPCOM E C L I P S E Eclipse WebTools AJAX Toolkit Framework
  5. 5. AJAX Toolkit Framework Components <ul><li>Creating AJAX applications </li></ul><ul><ul><li>Drag and Drop Application Snippets </li></ul></ul><ul><li>Browser Tooling </li></ul><ul><ul><li>DOM Source view, DOM Inspector, Browser Console, XHRequest Monitor, and CSS Tools </li></ul></ul><ul><li>JavaScriptTM Editor </li></ul><ul><ul><li>Integrated JavaScript editor with batch and as-you-type syntax validation </li></ul></ul><ul><li>JavaScript Debugger </li></ul><ul><ul><li>Stack Frame, Variables and Script view </li></ul></ul><ul><li>Embedded Mozilla Browser </li></ul><ul><ul><li>Run/Debug an Ajax application in the Embedded Mozilla Browser </li></ul></ul><ul><li>Application Deployment </li></ul><ul><ul><li>Deployment of an AJAX Application to a server. </li></ul></ul><ul><li>Personality Builder </li></ul><ul><ul><li>Ability to create tooling for AJAX toolkits </li></ul></ul>
  6. 6. AJAX Toolkit Framework Components Mozilla XULRunner & JavaXPCOM Eclipse WebTools Eclipse Plugins Personalities JavaScript Syntax Validator Personalities DOM Inspector And JavaScript Console Java Script Debugger Embedded Mozilla Browser Personality Builder Rico Personality Zimbra Personality Dojo Personality Rico Zimbra Dojo Personality Common Libraries AJAX “X” Personality Ajax-x
  7. 7. Ajax Application Creation <ul><li>Support for three AJAX runtimes today </li></ul><ul><ul><li>Dojo, Rico, and Zimbra </li></ul></ul><ul><ul><li>Personality Builder supports adding other AJAX runtimes. </li></ul></ul><ul><li>Application Creation Wizard </li></ul><ul><ul><li>Template to create initial Ajax Application </li></ul></ul><ul><ul><li>Drag and Drop snippets to Application Source File </li></ul></ul><ul><li>Eclipse Projects </li></ul><ul><ul><li>Static Web Project, Dynamic Web Project, and PHP Projects </li></ul></ul><ul><ul><li>Able to add in AJAX to existing project. </li></ul></ul>
  8. 8. JavaScript Editor <ul><li>Enhanced Editor with Validation </li></ul><ul><ul><li>Integrated JavaScript editor </li></ul></ul><ul><ul><li>Batch and as-you-type syntax validation </li></ul></ul><ul><ul><ul><li>Syntax checker based on the Mozilla Rhino engine </li></ul></ul></ul><ul><ul><ul><li>Validator based on JSLint </li></ul></ul></ul><ul><ul><ul><ul><li>Detects undesirable or ambiguous constructs considered to be bad practice </li></ul></ul></ul></ul><ul><ul><ul><ul><li>JSLint errors are consider warnings. </li></ul></ul></ul></ul><ul><li>Drag and Drop snippets to Application Source File </li></ul>
  9. 9. Application Deployment <ul><li>Multiple Server Types </li></ul><ul><ul><li>HTTP Web Server </li></ul></ul><ul><ul><li>J2EE Servers </li></ul></ul><ul><li>HTTP Web Server </li></ul><ul><ul><li>Support defining a HTTP Web Server in Eclipse </li></ul></ul><ul><ul><ul><li>Ability to specify publish directory </li></ul></ul></ul><ul><ul><ul><li>Defining the HTTP server port </li></ul></ul></ul><ul><ul><ul><li>Support for Home Page URLs (~username) </li></ul></ul></ul><ul><li>J2EE Servers </li></ul><ul><ul><li>Multiple J2EE Servers (Tomcat, JBOSS. etc.) </li></ul></ul><ul><ul><li>Testing done using Tomcat </li></ul></ul><ul><li>Publishing Options </li></ul><ul><ul><li>Automatically publish to server </li></ul></ul><ul><ul><li>Never publish to server </li></ul></ul>
  10. 10. Embedded Mozilla Browser <ul><li>Integrated the Mozilla Browser </li></ul><ul><li>Using XULRunner </li></ul><ul><li>Provides the engine for AJAX Tooling </li></ul><ul><ul><li>Debugger </li></ul></ul><ul><ul><li>JavaScript Engine </li></ul></ul><ul><ul><li>Browser Views </li></ul></ul><ul><li>Mozilla perspective </li></ul>
  11. 11. JavaScript Debugger <ul><li>Breakpoints </li></ul><ul><ul><li>Ability to set breakpoints in JavaScript </li></ul></ul><ul><ul><li>Any file type with JavaScript content (html, js, php). </li></ul></ul><ul><ul><li>Breakpoints can be enable/disabled </li></ul></ul><ul><li>Debug Views for JavaScript </li></ul><ul><ul><li>Call Stack </li></ul></ul><ul><ul><li>Variables </li></ul></ul><ul><ul><li>Breakpoints </li></ul></ul><ul><ul><li>Scripts View </li></ul></ul><ul><li>Expression Support </li></ul><ul><li>Debug Preference options </li></ul>
  12. 12. URL Debugging/Running <ul><li>Able to launch and debug an AJAX application using a URL. </li></ul><ul><li>Application doesn’t have to reside in Eclipse. </li></ul><ul><li>All tooling supports handling files by URL. </li></ul><ul><ul><li>Editor </li></ul></ul><ul><ul><li>Debugger </li></ul></ul><ul><ul><li>Browser tooling </li></ul></ul><ul><li>Breakpoint Management </li></ul><ul><ul><li>User has to manually delete breakpoints </li></ul></ul>
  13. 13. Browser Tooling <ul><li>DOM Inspector </li></ul><ul><ul><li>Shows the DOM tree rendered by the Browser </li></ul></ul><ul><ul><li>Dynamically updated to reflect changes within the browser </li></ul></ul><ul><ul><li>Attributes of a node can be edited, added to, and removed </li></ul></ul><ul><ul><li>A breadcrumb trail of hyperlinks is created for the node's path </li></ul></ul><ul><li>DOM Source view </li></ul><ul><ul><li>Displays the HTML source of the selected DOM node </li></ul></ul><ul><ul><li>Source can edited, validated, and updated back to the browser </li></ul></ul><ul><ul><li>Notification of a DOM element's source being out of sync with the browser </li></ul></ul>
  14. 14. Browser Tooling <ul><li>Browser Console </li></ul><ul><ul><li>Shows all browser (i.e JavaScript, CSS) errors, warnings, and logging messages </li></ul></ul><ul><ul><li>Double clicking on an error opens to the relevant line of code </li></ul></ul><ul><li>XMLHTTPRequest Monitor </li></ul><ul><ul><li>Observe XMLHTTPRequest request/response information </li></ul></ul><ul><ul><li>Formatting of the response body based on content-types </li></ul></ul>
  15. 15. Browser Tooling <ul><li>CSS View </li></ul><ul><ul><li>Style Rules </li></ul></ul><ul><ul><ul><li>Shows the rules and their defined properties </li></ul></ul></ul><ul><ul><ul><li>Able to edit and add a property </li></ul></ul></ul><ul><ul><ul><li>Open CSS file for the rule and property </li></ul></ul></ul><ul><ul><ul><li>Highlights the DOM elements using a selected style rule or property </li></ul></ul></ul><ul><ul><li>Computed Styles </li></ul></ul><ul><ul><ul><li>Shows every style rule computed by the browser </li></ul></ul></ul><ul><ul><li>Box Model </li></ul></ul><ul><ul><ul><li>Shows the dimensions, x-y coordinates, padding, border, and margin information </li></ul></ul></ul><ul><ul><li>Diffs </li></ul></ul><ul><ul><ul><li>Shows the changes made to CSS rules and properties </li></ul></ul></ul>
  16. 16. Personality Builder <ul><li>A set of Wizards which accept: </li></ul><ul><ul><li>Artifact data (AJAX toolkit libraries) </li></ul></ul><ul><ul><li>Build requirements data </li></ul></ul><ul><ul><li>New application templates </li></ul></ul><ul><ul><li>Code patterns </li></ul></ul><ul><ul><li>Deployment data </li></ul></ul><ul><li>Wizards output a ‘basic’ Personality Plugin </li></ul><ul><ul><li>The builder will provide necessary basic development features targeted for AJAX toolkits </li></ul></ul><ul><ul><li>Enables customization and addition of functionality </li></ul></ul>
  17. 17. Future Enhancements <ul><li>Robust JavaScript Tooling </li></ul><ul><ul><li>Real JavaScript Model, Enhanced code completion, Enhanced Outline view , Code formatting, etc </li></ul></ul><ul><li>Debugger enhancements </li></ul><ul><li>Improve Install </li></ul><ul><ul><li>better support for run time dependencies </li></ul></ul><ul><li>Personality Builder improvements </li></ul><ul><li>Multiple Browser Support (IE, Opera, etc) </li></ul>
  18. 18. Where to get AJAX Toolkit Framework <ul><li>Open Source Project on Eclipse </li></ul><ul><ul><li> </li></ul></ul><ul><li>Listserv and Newsgroup </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>news:// eclipse.webtools.atf / </li></ul></ul><ul><li>Source Code in Eclipse CVS </li></ul><ul><li>Milestones and Weekly builds </li></ul><ul><ul><li> </li></ul></ul><ul><li>Flash Demo Movies </li></ul><ul><ul><li> </li></ul></ul>
  19. 19. Legal Notices <ul><li>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. </li></ul><ul><li>Other company, product, or service names may be trademarks or service marks of others. </li></ul>
  20. 20. Screen Shots of products using ATF provided by different vendors.
  21. 21. Helmi Technologies RIA IDE
  22. 22. Genuitec MyEclipse 2.0
  23. 23. Visual Drag Drop Editing
  24. 24. DOM Inspection
  25. 25. Event Wizard