A World Beyond Ajax Accessing Googles Ap Is From Flash And Non Java Script Environments

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    A World Beyond Ajax Accessing Googles Ap Is From Flash And Non Java Script Environments - Presentation Transcript

    1. A World Beyond AJAX: Accessing Google's APIs from Flash and other Non- JavaScript Environments Vadim Spivak 5/29/2008
    2. Introduction APIs Google AJAX Search API Google AJAX Feed API Google AJAX Language API Goals Show how easy it is to use the RESTful interface Go through several use cases where the traditional JavaScript library does not work Latency sensitive websites Flash/Silverlight Server-side
    3. Google AJAX Search API Web Video News Image Local Book Blog
    4. Sample var videobar = new GSvideoBar( document.getElementById(\"videoBarHorizontal\"), GSvideoBar.PLAYER_ROOT_FLOATING, {largeResultSet : false, horizontal : true}); videobar.execute(“ytchannel:nba\");
    5. Customers
    6. Google AJAX Feed API Load Find Lookup
    7. Sample var feed = \"http://www.google.com/uds/solutions/slideshow/sample.rss\"; var slideshow = new GFslideShow(samples, \"sampleSlideshow\", { linkTarget : google.feeds.LINK_TARGET_BLANK, fullControlPanel : true });
    8. Customers
    9. Google AJAX Language API Translate Detect Language
    10. Sample google.language.translate(\"Hello World\", \"en\", \"es\", function(result) { alert(result.translation); } );
    11. Customers
    12. The Basic Blocks JavaScript Controls and UI elements JavaScript Runtime Layer AJAX APIs RESTful Data Access Layer
    13. Why? Restricted or no access to JavaScript Tighter integration Latency sensitive application Flash Silverlight Facebook iPhone Android
    14. Interface RESTful HTTP Read Only JSON Lightweight Text Based Compact Language Independent
    15. Sample API Request curl “http://ajax.googleapis.com/ajax/services/feed/load? v=1.0&num=1&q=http://digg.com/rss/index.xml\" { \"responseData\": { \"feed\": { \"title\": \"Digg\", \"link\": \"http://digg.com/\", \"entries\": [ { \"title\": \"LittleBigPlanet Killzone\", \"publishedDate\": \"Wed, 07 May 2008 21:20:09 -0700\", \"content\": \"Just to show off how ...\" } ] } }, \"responseDetails\": null, \"responseStatus\": 200 }
    16. crossdomain.xml Allows cross-domain requests in Flash and Silverlight http://ajax.googleapis.com/crossdomain.xml <?xml version=\"1.0\"?> <!DOCTYPE cross-domain-policy SYSTEM \"http://www.macromedia. com/xml/dtds/cross-domain-policy.dtd\"> <cross-domain-policy> <allow-access-from domain=\"*\" /> </cross-domain-policy>
    17. Fine Print Referrer Specify the URL where the API results are being displayed Fall back to homepage URL if necessary Optionally specify API key Limitations
    18. Examples
    19. Faster AJAX Traditional example <script src=\"http://www.google.com/jsapi\" type=\"text/javascript\"></script> <script language=\"Javascript\" type=\"text/javascript\"> google.load(\"feeds\", \"1\"); google.setOnLoadCallback(OnLoad); function OnLoad() { var feed = new google.feeds.Feed( \"http://www.digg.com/rss/index.xml\"); feed.load(FeedLoaded); } function FeedLoaded(result) { //... } </script>
    20. Faster AJAX DOMContentLoaded Faster than OnLoad Cross browser google.setOnLoadCallback(fn, onDomContentLoaded)
    21. Faster AJAX JSON with Padding Callback $ curl \"http://ajax.googleapis.com/ajax/services/feed/load? callback=FeedLoaded&v=1.0&num=1&q=http://digg.com/rss/index.xml\" FeedLoaded({ \"responseData\": { \"feed\": { \"title\": \"Digg\", \"entries\": [ { \"title\": \"LittleBigPlanet Killzone\", \"content\": \"Just to show off how ...\" } ] } }, \"responseDetails\": null, \"responseStatus\": 200 })
    22. Faster AJAX Updated example Response returned before OnLoad or DOMContentLoaded 1 request vs. 3 requests (10K less in size) <script language=\"Javascript\" type=\"text/javascript\"> function FeedLoaded(result) { //... } </script> <script src=\" http://ajax.googleapis.com/ajax/services/feed/load? callback=FeedLoaded&v=1.0&num=1& q=http://digg.com/rss/index.xml\"> </script>
    23. Demo Traditional Traditional with onDOMContentLoaded Direct JSON-P
    24. News Bar Popular solution built using Google AJAX Search API Simple yet makes static content more sticky Limited to sites who allow third party JavaScript widgets
    25. News Bar In Flash ActionScript 3 HTTPService MXML corelib
    26. News Bar Code snippet var service:HTTPService = new HTTPService(); service.url = 'http://ajax.googleapis. com/ajax/services/search/news'; service.request.v = '1.0'; service.request.q = ‘Playstation'; service.resultFormat = 'text'; service.addEventListener(ResultEvent.RESULT, onServerResponse); service.send(); private function onServerResponse(event:ResultEvent):void { try { var json:Object = JSON.decode(event.result as String); // now display the results... } catch(ignored:Error) { } }
    27. Demo
    28. Server Side Translated Wall Attachments Facebook Application Google App Engine Google AJAX Language API
    29. Server Side Translated Wall Attachments URL Fetch API simplejson gminifb
    30. Server Side Code snippet def translate(s, lang): params = { 'v' : '1.0', 'q' : s, 'langpair' : '|%s' % lang } response = urlfetch.fetch('http://ajax.googleapis.com/ajax/' 'services/language/translate?%s' % urllib.urlencode(params)) data = simplejson.loads(response.content) if data['responseStatus'] != 200: return 'Error translating message.' else: return data['responseData']['translatedText'])
    31. Demo
    32. Reference General Documentation http://code.google.com/apis/ajaxsearch http://code.google.com/apis/ajaxfeeds http://code.google.com/apis/ajaxlanguage Complete source code for the presented examples http://code.google.com/p/google-ajax-examples

    + GoogleTecTalksGoogleTecTalks, 6 months ago

    custom

    572 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 572
      • 572 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 1
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories