Microsoft Ajax
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Microsoft Ajax

on

  • 600 views

 

Statistics

Views

Total Views
600
Views on SlideShare
600
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Microsoft Ajax Presentation Transcript

  • 1. Microsoft ‘Atlas’ Part 1: The Microsoft Ajax Library Presenter: Tim Kremer
  • 2. About Tim
    • Project Manager at SSW
    • Software Engineering Background
    • Developing websites since 1998
    • Developing in .NET for 5+ years
  • 3. Ajax Timeline
    • Microsoft invents it
      • IE in 1998
      • OWA, MSDN take advantage
    • Google popularises it
      • Google Maps
    • Web 2.0 explodes
      • Flickr
      • Digg
      • Live.com
      • YouTube
      • www.Spyk.com (the newest!)
  • 4. Why is Web 2.0 difficult?
    • JavaScript apps are difficult to develop
      • Poor debug tools
  • 5. Many Popular Libraries
    • Prototype JavaScript extension library, and crux of many of the open-source offerings.
      • Script.aculo.us built on top of prototype
      • Dojo toolkit – rich client-side UI library built on top of prototype
    • Google Web Toolkit server side java libraries that emit javascript and html
    • Component Art Server controls and update panels for ASP.NET
    • Microsoft ‘Atlas’ - **This presentation**
    • Many more:
    • http:// wiki.osafoundation.org/bin/view/Projects/AjaxLibraries
  • 6. Problems with the landscape
    • Most existing libraries are:
      • Incomplete
        • Some improve on the javascript structure
        • Some do cool UI effects
        • Some on client side
        • Some tied to a particular server technology
      • Can’t be used with each other
  • 7. 3 Parts of Atlas
    • Client Side Stuff **this presentation**
    • Server Side Stuff
    • Atlas Control Toolkit
  • 8. Briefly - Microsoft ASP.NET 2.0 Server Extensions
    • Server Controls
      • Script Manager
      • Update Panel
      • Server side equivalents of UI controls
      • Server Control extensions
    • Server Extensions
      • Web Services Bridge
        • JSON serialiser
        • Javascript proxy generation
        • Bridge files (*.asbx) to connect via the server to external web services. **Awesome for mashups!!
      • Application Services Bridge
        • User authentication (using membership service)
        • User data storage (using profile service)
  • 9. Briefly - Microsoft ASP.NET 2.0 Ajax Toolkit
    • Overview
    • Asp.net Official Link: http://atlas.asp.net/default.aspx?tabid=47&subtabid=477
    • Project Source on Codeplex: http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=AtlasControlToolkit
    • Join the open community effort!
  • 10. The Microsoft Ajax Family
    • Formerly codenamed ‘Atlas’
      • Client-side framework
      • Server side extensions
      • Atlas Control Toolkit
    • New Official Names, Sept 2006:
      • Microsoft Ajax Library **this presentation**
      • Microsoft ASP.NET 2.0 Ajax Extensions
      • Microsoft ASP.NET 2.0 Ajax Toolkit
  • 11.  
  • 12. Microsoft Ajax Client Library
    • More than just Ajax:
      • Cross-Browser Framework
      • Extends Javascript to a rich OO model
      • Components, Events, Actions
      • Imperative or Declarative programming paradigm
      • Control Binding
      • Control Extensions & Behaviours
      • Data Binding
      • Not just for ASP.NET
      • More efficient AJAX calls using JSON
  • 13. Microsoft Ajax Client Library Browser Compatibility
    • Browser Compatibility Layer Supports
    • IE
    • Mozilla
    • Safari
    • Opera (in the works)
  • 14. Microsoft Ajax Client Library Script Core - Rich OO model
    • Your client-side script supports:
    • Inheritance
    • Interfaces & Abstract classes
    • Namespaces
    • Enumerations
    • Delegates
  • 15. Microsoft Ajax Client Library Base Class Library
    • Useful types:
    • StringBuilder
    • Debug
    • Event
    • IDisposable
    • Other Support:
    • Serialisation for JSON
    • Authentication integration with the server counterpart
    • Profile integration with the server counterpart
    • Abstractions:
    • Abstractions for XMLHTTP
      • WebRequest
      • WebResponse
    • Further Abstractions for invoking WebMethods
      • Aspx pages
      • Web services
      • any server class
  • 16. Microsoft Ajax Client Library Client-side Programming Models
    • Traditional Imperative Code
    • And/or
    • Declarative XML-script mark-up called ‘Atlas Script’
  • 17. Microsoft Ajax Client Library Components, Events & Actions
    • Components
    • Components are reusable, self-describing types
    • Common components include:
      • Controls Includes visible UI Controls (eg. ListView, VEMap) and non-visible controls (eg. Timer, Counter)
      • Behaviours Pre-written functionality to attach additional semantics to existing controls (eg. drag/drop and hover behaviours)
      • Validators Like Behaviours, but allow you to define validation rules for input controls
  • 18. Microsoft Ajax Client Library Components, Events & Actions
    • Events
    • Components can raise events. Events can have Actions attached to them. (eg. An event could be raised when a property changes on the component)
    • Actions
    • Actions allow performing work, by calling Component methods or setting properties in response to events
  • 19. Microsoft Ajax Client Library Control Bindings
    • Control Bindings
    • Bindings allow wiring up components to transfer property values from one component to another. Transformations can be called in the process, and methods can also be invoked.
    • <span id=&quot;label2&quot;>Empty</span>
    • <input type=&quot;text&quot; id=&quot;textBoxInput&quot; />
    • <script type=&quot;text/xml-script&quot;> ..
    • <textBox id=&quot;textBoxInput&quot;/>
    • <label id=&quot;label2&quot;>
    • <bindings>
    • <binding dataContext=&quot;textBoxInput&quot; dataPath=&quot;text&quot; property=&quot;text&quot; />
    • </bindings>
    • </label>
    • ..
  • 20. Control Extensions & Behaviours
    • Control Extensions exist to add interesting functionality to simple html or asp controls
    • Client Side Extenders
      • Eg. AutoCompletion
    • Server Side Extenders
      • Eg. AutoCompletion
  • 21. Microsoft Ajax Client Library Data Binding
    • Atlas provides a rich set of data controls using familiar html templates: Variety of DataBound Controls
      • ListView
      • DataNavigator
      • ItemView
      • Paging Control
    • Additional Client-side behaviours
      • Sorting behavior
    • Variety of Data Sources
      • DataSource
      • DataTable
      • XML Data Source – uses XPATH on the client side for filtering!!
    • This is a whole topic of its own, and ripe for future usergroup presentations.
  • 22. Essential Tools
    • http://www.fiddlertool.com
      • IE powertoy from Microsoft
      • HTTP debugging proxy. Inspect traffic, set breakpoints, and ‘fiddle’ with requests
    • Microsoft Internet Explorer Developer Toolbar
      • View & manipulate Browser DOM, Caches
      • Highlighting & labelling of html elements
      • Validate CSS, HTML, Links
  • 23. Real World Web 2.0
    • Spyk.com Property Search
    • Using:
    • Atlas (mostly client-side with service calls)
    • Virtual Earth
    • SQL Server
    • ASP.NET
    • .NET multithreaded rich client for spidering properties.
  • 24. Questions?
  • 25.
    • Future Atlas Presentation Topics:
    • Client-side Data Binding
    • Client-side Authentication + Profile
    • Server Control Creation
    • Web Services Bridge for Mashups
    • Gadget Creation
  • 26.
    • Thank you!