• Save
Atlas Php
Upcoming SlideShare
Loading in...5
×
 

Atlas Php

on

  • 1,481 views

 

Statistics

Views

Total Views
1,481
Views on SlideShare
1,481
Embed Views
0

Actions

Likes
0
Downloads
0
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

Atlas Php Atlas Php Presentation Transcript

  • An Introduction to Microsoft’s Codename “Atlas” (For PHP Developers) Gregory Renard CTO Wygwam [email_address] Microsoft Regional Director Microsoft MVP ASP.NET Asp-Php.Net Admin Aurélien Verla Architecte - Développeur [email_address] Microsoft MVP ASP.NET Asp-Php.Net Admin
  • Goals
    • NO MARKETING OR SALES
    • All free Microsoft stuff
    • Reframing AJAX Development
    • Explain Microsoft Rich Web UI Technology
    • Jump Start PHP Developers
  • Atlas is now……
    • The Microsoft AJAX Library (JavaScript)
    • The ASP.NET 2.0 AJAX Extensions
    • The ASP.NET AJAX Control Toolkit
  • Books
  • What is Ajax ?
    • Asynchronous JavaScript and XML ?
    • JavaScript / DOM
    • Client Accessed “Web Services” Calls
    • Programming Browser UI “Dynamics”
    • A new interface design predicate
    • Software as a Service
    • A paradigm.
    • … the next step to the User Experience
    • The User Interface
      • Entirely Synchronous
      • Reactive (as opposed to proactive)
      • Delivery timing is entirely user dependent
    • The Content
      • Single point of origin
      • Primarily Reactive
      • Often Untimely
      • Not Cost Effective
    What problems are we trying to solve?
  • What problems are we trying to solve?
    • We need to meet changing user expectations.
      • The ever changing definition of “Dynamic”
    • Engineering Efficacy
      • Improve the developer feature set of JavaScript
      • Write less code
      • Write code in ONE place
      • Abstract the plumbing.
  • Why Ajax ?
    • Fewer Postbacks ???
    • Better Applications
      • Fewer Page Navigations
      • User interactions
      • Dynamic Content
    • Applications we couldn’t even build before
      • Granular UI Dynamics = New Business
      • Fiscal Viability & Software as a Service
      • Combinatorial Design = New Problem Domains
  • What is “Atlas”?
    • Framework for Building Richer, Interactive, Personalized Web Experiences and Applications
    • A RICH Client Library & Toolset
    • High productivity AJAX development
    • Server side builds on top of ASP.NET 2.0
    • Works cross-browser (compatibility layer)
    • End-to-End Framework
    • Server Source Agnostic
      • JSON, POX, Etc…
    • Fully Extensible
  • What .NET Developers get from ATLAS
    • Ajax Style Asynchronousity
    • Codeless Ajax behaviors
    • Encapsulated Client Behavior
    • Rich, OO, Typed JavaScript
    • Codeless Service Proxies
      • SOAP Web Services
      • JSON
      • Windows Communication Foundation
      • Page methods
    • Sandbox Bridging Technology
    • Component based Dev Tools
    • ASP.NET 2.0 Services
  • Architecture Diagram “ Atlas” Server Framework “ Atlas” Client Framework and Services “ Atlas”-enabled ASP.NET Pages Web Services (ASMX or WCF) HTML, Script, “ Atlas” Markup “ Atlas” Service Proxies ASP.NET “Atlas” Server Extensions “ Atlas” Server Controls App Services Bridge Web Services Bridge “ Atlas” Client Script Library Controls, Components Script Core Base Class Library Component Model and UI Framework Browser Compatibility “ Atlas” Client Application Services Local Store, … Browser Integration ASP.NET 2.0 Application Services Page Framework, Server Controls
  • Atlas – Implementation Architecture IE Firefox Safari Browser Clients Web Server Atlas Client JavaScript Libraries AtlasUIGlitz.js AtlasGadgets.js AtlasFX.js AtlasCompat.js AtlasRuntime.js JSON Bridge Support Mashup Bridge Support Membership & Personalization Support ASP.NET Server Control Integration IIS & ASP.NET Apache & PHP
  • What PHP Developers Can Get from Atlas
    • JavaScript extensions .
      • Adds objects, functions, and data types to native JavaScript. Enables us to create simulated OO constructs
      • Classes, namespaces, enums, inheritance, and interfaces.
    • Base class library (BCL)
      • Commonly used classes for debugging, events, strings, web services, accessing host environment, timers, and components.
    • Core Client UI framework (JavaScript) .
      • Building block objects for the UI infrastructure and for interacting with the DOM and DHTML.
      • Includes base control object; a set of behaviors; validation; data binding; client content templates; drag & drop; and other UI effects.
    • UI toolkit
      • Set of individual, client-side controls that have richer capabilities than standard HTML controls.
      • Examples: hyperlink, listview, select, dataview, button, checkbox, textbox, label, datasource, counter, and more.
  • Client-Centric Programming Model Browser “Application” Presentation (HTML/CSS) “ Atlas” Service Proxies UI Behavior (Script) ASP.NET Application Services Page Framework, Server Controls Web Application Pages Web Services Atlas Script Framework Client Application Services Component/UI Framework, Controls Initial Rendering (UI + Behavior) Data Data
  • Atlas Client Library
    • AtlasRuntime.js
      • web services, networking, basic OO extensions
    • Atlas.js
      • 'Atlas' feature set,
      • Included when you add 'Atlas' ScriptManager.
    • AtlasCompat.js & AtlasCompat2.js
    • AtlasFX.js ( Same as Atlas.js less the AtlasRuntime.js)
      • For use with gadgets in hosted scenarios.
    • AtlasUIDragDrop.js
    • AtlasUIGlitz.js .
    • AtlasUIMap.js .
      • Implements a virtual mapping feature.
    • AtlasWebParts.js .
    • GadgetRuntime.js .
      • Runtime code used by Microsoft and MSN.
  • Client Libraries
  • What PHP Developers Loose
    • Server Controls
    • Drag ‘n Drop Design
    • Server Data Binding
    • Auto Class Proxies
    • Auto Generated Ajax Server Proxies
    • The Profile Service
    • Page Methods
    • Etc…..
    • But…………
  • Server-Centric Programming Model Browser “Application” Presentation (HTML/CSS) ASP.NET Application Services Page Framework, Server Controls Atlas Script Framework Client Application Services Component/UI Framework, Controls ASP.NET Application Pages UI Behavior (Managed Code) Input Data Updated UI + Behavior Initial Rendering (UI + Behavior)
  • PHP Programming
    • The Atlas Client Libraries
    • PHP on the Server
      • UI & Services in PHP
    • Mixed PHP & ASP.NET
      • UI in PHP
      • Page Services in ASP.NET
    • <script language=&quot;javascript&quot; type=&quot;text/javascript&quot;> var request = null;
    • function createRequest() {
    • try {
    • request = new XMLHttpRequest();
    • } catch (trymicrosoft) {
    • try {
    • request = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;);
    • } catch (othermicrosoft) {
    • try {
    • request = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);
    • } catch (failed) {
    • request = null;
    • }
    • }
    • }
    • if (request == null)
    • alert(&quot;Error creating request object!&quot;);
    • }
    function getBoardsSold() { createRequest(); var url = &quot;getUpdatedBoardSales-ajax.php&quot;; request.open(&quot;GET&quot;, url, true); request.onreadystatechange = updatePage; request.send(null); } function updatePage() { if (request.readyState == 4) { var newTotal = request.responseText; var boardsSoldEl = document.getElementById(&quot;boards-sold&quot;); var cashEl = document.getElementById(&quot;cash&quot;); replaceText(boardsSoldEl, newTotal); /* Figure out how much cash Katie has made */ var priceEl = document.getElementById(&quot;price&quot;); var price = getText(priceEl); var costEl = document.getElementById(&quot;cost&quot;); var cost = getText(costEl); var cashPerBoard = price - cost; var cash = cashPerBoard * newTotal; /* Update the cash for the slopes on the form */ cash = Math.round(cash * 100) / 100; replaceText(cashEl, cash); } } </script>
  • Atlas Programming in PHP
    • Create a Script Manager Instance
    • Select your “atlas_include”
    • Include your Atlas Components
      • Wire them to your HTML Artifacts
    • Specify your Service URL & Method
  • Ajax & PHP Applications
  • Community Participation Model
    • Plans are in progress, but forming quickly
    • Two pronged plan
      • Atlas Component Gallery that anyone can contribute to
      • Shared source Toolkit project
        • Selected members of the community have write access
        • Top gallery submissions and help recruit new contributors
        • Eventually hand off the Toolkit project to non-Microsoft stewards
    • ASP.NET Team’s will work hand in hand with community contributors until handoff
  • Atlas Summary
    • “ Atlas” is a key part of the ASP.NET story
    • “ Atlas” Goals
      • Make it super easy to incorporate AJAX patterns, and create rich user experiences, and leverage the browser
      • Create a natural progression from Web applications to Smart clients using a common application model
    • Still in its early stages – preview builds for greater transparency, more opportunities for feedback to have impact
  • Resources
    • “ Atlas” Web site
      • http://atlas.asp.net
      • Bits, Forums, Quickstarts, Docs, Updates
    • Blogs
      • http://www.nikhilk.net
      • http://weblogs.asp.net/scottgu
      • http://weblogs.asp.net/bleroy
    • “ Atlas” Control Toolkit
      • http://atlas.asp.net/default.aspx?tabid=47&subtabid=477
  •