iPhone Appleless Apps

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

    iPhone Appleless Apps - Presentation Transcript

    1. Appleless iPhone Apps
    2. ...without the App Store
    3. ...without Objective-C
    4. ...using web technology
    5. HTML5 & CSS3
    6. And it works without a connection!
    7. Demo
    8. Technology
    9. •HTML & CSS •HTML5 offline applications •Meta tags to hide status bar •Touch icon •Touch events
    10. Offline Applications <html manifest="rubiks.manifest">
    11. CACHE MANIFEST /demo/rubiks/style.css /demo/rubiks/jquery.min.js /demo/rubiks/rubiks.js # version (busting)
    12. First Load 1. Requests all resources 2. Parses manifest 3. Reloads and stores/caches all resources (not sure why) 4. Now ready
    13. Subsequent load 1. Request manifest 2. Checks for changes in manifest 3. If changed: • Reload all resources and cache locally 4. else • Load client with local resources
    14. Home Screen App •Touch icon 73x73: <link rel="apple-touch-icon" href="apple-touch-icon.png" /> •Web app capable meta tags
    15. <meta name="apple-mobile-web-app- capable" content="yes" /> <meta names="apple-mobile-web-app- status-bar-style" content="black- translucent" />
    16. Touch Events •mousedown => touchstart •mouseup => touchend •mousemove => touchmove •within event.touches[0]
    17. Simple jQuery $(document).bind('touchstart', function (evt) { // jQuery creates a bespoke event evt = evt.originalEvent.touches[0]; } );
    18. Simple jQuery $(document).bind('touchstart', function (evt) { // jQuery creates a bespoke event evt = evt.originalEvent.touches[0]; } );
    19. Detecting iPhones var iPhone = RegExp(" AppleWebKit/") .test(navigator.userAgent) && RegExp(" Mobile/") .test(navigator.userAgent);
    20. Detecting iPhones var iPhone = RegExp(" AppleWebKit/") .test(navigator.userAgent) && RegExp(" Mobile/") .test(navigator.userAgent);
    21. Native Look
    22. •iUi - older, doesn't do native CSS transforms •jqTouch - jQuery does do native CSS transforms
    23. jqtouch.com
    24. But also:
    25. •Geolocation •Offline storage: web database or storage •Off/Online detection •CSS 3D transforms & CSS transitions •Canvas
    26. Thanks! Remy Sharp / @rem http://icanhaz.com/rubiks

    + Remy SharpRemy Sharp, 3 weeks ago

    custom

    278 views, 0 favs, 0 embeds more stats

    A talk that demonstrates how to exploit the technol more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 278
      • 278 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 7
    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