Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
347
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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!