SlideShare una empresa de Scribd logo
1 de 105
jQTouch
Mobile Web Apps with
HTML, CSS & JavaScript




@philippbosch
February 18, 2010 – jsberlin
Hi, I’m Philipp.
Hi, I’m Philipp.
• Freelance Web Developer
Hi, I’m Philipp.
• Freelance Web Developer
• Working in Kreuzberg
Hi, I’m Philipp.
• Freelance Web Developer
• Working in Kreuzberg
• Creating websites & web applications since 1995
Hi, I’m Philipp.
• Freelance Web Developer
• Working in Kreuzberg
• Creating websites & web applications since 1995
• Been doing some mobile projects recently
Mobile Apps.
Mobile Apps.
• Two different ways to develop for mobile devices:
Mobile Apps.
• Two different ways to develop for mobile devices:
  • «Native Apps»
Mobile Apps.
• Two different ways to develop for mobile devices:
  • «Native Apps»
    • Objective-C (iPhone)
Mobile Apps.
• Two different ways to develop for mobile devices:
  • «Native Apps»
    • Objective-C (iPhone)
    • Java (Android)
Mobile Apps.
• Two different ways to develop for mobile devices:
  • «Native Apps»
    • Objective-C (iPhone)
    • Java (Android)
  • «Web Apps»
Mobile Apps.
• Two different ways to develop for mobile devices:
  • «Native Apps»
    • Objective-C (iPhone)
    • Java (Android)
  • «Web Apps»
    • HTML, CSS, JavaScript
Mobile Apps.
• Two different ways to develop for mobile devices:
  • «Native Apps»
    • Objective-C (iPhone)
    • Java (Android)
  • «Web Apps»
    • HTML, CSS, JavaScript
    • run on all devices with a web browser
Web Apps.
Web Apps.
• Any regular website can be a web app.
Web Apps.
• Any regular website can be a web app.
• On the iPhone you can add web apps to the
 home screen.
jQuery.com WebClip
jQuery.com WebClip
jQuery API Browser
jQuery API Browser
Voilà: jQTouch.
Voilà: jQTouch.
• Plugin for jQuery
Voilà: jQTouch.
• Plugin for jQuery
• User interface elements (iPhone style)
Voilà: jQTouch.
• Plugin for jQuery
• User interface elements (iPhone style)
• Themes
Voilà: jQTouch.
• Plugin for jQuery
• User interface elements (iPhone style)
• Themes
• Automatic Navigation
Voilà: jQTouch.
• Plugin for jQuery
• User interface elements (iPhone style)
• Themes
• Automatic Navigation
• Animations
Voilà: jQTouch.
• Plugin for jQuery
• User interface elements (iPhone style)
• Themes
• Automatic Navigation
• Animations
• Supports mobile Webkit browsers (iPhone,
 Android, Palm Pre, …)
How does it work?
How does it work?
• One HTML file.
How does it work?
• One HTML file.
• Inside the <body> element create a <div>
 element for each panel of your app.
How does it work?
• One HTML file.
• Inside the <body> element create a <div>
 element for each panel of your app.
• Use class name conventions in your HTML, e.g.
 div.toolbar, ul.rounded, a.back, …
How does it work?
• One HTML file.
• Inside the <body> element create a <div>
 element for each panel of your app.
• Use class name conventions in your HTML, e.g.
 div.toolbar, ul.rounded, a.back, …

• Add jqtouch.js, jqtouch.css, theme.css.
How does it work?
• One HTML file.
• Inside the <body> element create a <div>
 element for each panel of your app.
• Use class name conventions in your HTML, e.g.
 div.toolbar, ul.rounded, a.back, …

• Add jqtouch.js, jqtouch.css, theme.css.
• Call $.jQTouch().
<!doctype html>
<html>
  <head>
    <title>jsberlin</title>
    <script src="jqtouch/jquery.1.3.2.min.js">…
    <script src="jqtouch/jqtouch.min.js">…
    <style type="text/css">
       @import "jqtouch/jqtouch.min.css";
    </style>
    <style type="text/css">
       @import "themes/jqt/theme.min.css";
    </style>
    <script>
       $.jQTouch();
    </script>
  </head>
  …
…
  <body>
    <div id="home">
      <div class="toolbar"><h1>My app</h1></div>
      <ul class="rounded">
         <li><a href="#foo">Foo</a></li>
         <li><a href="#bar">Bar</a></li>
      </ul>
    </div>
    <div id="foo">
      <div class="toolbar">
         <h1>Foo</h1>
         <a href="#" class="back">Back</a>
      </div>
    </div>
  </body>
</html>
Animation.
Animation.
• 8 built-in animations: slide, slideup,
 dissolve, fade, flip, pop, swap and cube.
Animation.
• 8 built-in animations: slide, slideup,
 dissolve, fade, flip, pop, swap and cube.
Animation.
• 8 built-in animations: slide, slideup,
 dissolve, fade, flip, pop, swap and cube.

• Use these as class names for links to another
 panel (<a href="#foo" class="swap">).
Animation.
• 8 built-in animations: slide, slideup,
 dissolve, fade, flip, pop, swap and cube.

• Use these as class names for links to another
 panel (<a href="#foo" class="swap">).

• Default is slide.
Animation.
• 8 built-in animations: slide, slideup,
  dissolve, fade, flip, pop, swap and cube.

• Use these as class names for links to another
  panel (<a href="#foo" class="swap">).

• Default is slide.
• If you click on a back button the reverse
  animation is applied automatically.
…
<div id="home">
  <div class="toolbar"><h1>My app</h1></div>
  <ul class="rounded">
    <li><a href="#foo" class="flip">Foo</a></li>
    <li><a href="#bar">Bar</a></li>
  </ul>
</div>
…
Events.
Events.
• Five new events you can bind callbacks to:
Events.
• Five new events you can bind callbacks to:
 • tap
Events.
• Five new events you can bind callbacks to:
 • tap
 • http://blog.jqtouch.com/post/205113875/
Events.
• Five new events you can bind callbacks to:
 • tap
 • http://blog.jqtouch.com/post/205113875/

 • pageAnimationStart
Events.
• Five new events you can bind callbacks to:
 • tap
 • http://blog.jqtouch.com/post/205113875/

 • pageAnimationStart
 • pageAnimationEnd
Events.
• Five new events you can bind callbacks to:
 • tap
 • http://blog.jqtouch.com/post/205113875/

 • pageAnimationStart
 • pageAnimationEnd
 • turn
Events.
• Five new events you can bind callbacks to:
 • tap
 • http://blog.jqtouch.com/post/205113875/

 • pageAnimationStart
 • pageAnimationEnd
 • turn
 • swipe
$('#mybutton').tap(function() {
    // do something when the button is tapped on
});
$('#mypanel').bind('pageAnimationStart',
   function(event, info) {
     if (info.direction == 'in') {
       populateThePanelWithAjaxData();
     }
   }
);
$('body').bind('turn', function(event, info) {
    console.log(info.orientation);
    // landscape or profile
});
$('#swipeme').bind('swipe',
    function(event, info) {
        console.log(info.direction);
        // left or right
    }
);
Init Options.
Init Options.
$.jqTouch({
    icon: "path/to/homescreen-icon.png",
    startupScreen: "path/to/startup-image.png",
    statusBar: "default|black|black-translucent",
    addGlossToIcon: true|false,
    fixedViewport: true|false,
    preloadImages: ["img1.png","img2.png", …],
    ...
});
Themes.
Themes.
• Comes with two complete themes:
Themes.
• Comes with two complete themes:
 • «apple» mimics the default iPhone look
Themes.
• Comes with two complete themes:
 • «apple» mimics the default iPhone look
 • «jqt» is based on «apple» but darkermore
   universal
Themes.
• Comes with two complete themes:
 • «apple» mimics the default iPhone look
 • «jqt» is based on «apple» but darkermore
   universal
• Custom theming is easy: alter the CSS, throw in
 some graphics and you're done.
Themes.
• Comes with two complete themes:
  • «apple» mimics the default iPhone look
  • «jqt» is based on «apple» but darkermore
    universal
• Custom theming is easy: alter the CSS, throw in
  some graphics and you're done.
• Most graphical fx (gradients, round corners,
  shadows) are CSS3-based, so no gfx needed.
Pros & Cons.
Web apps: Pros.
Web apps: Pros.
• Ease of development.
Web apps: Pros.
• Ease of development.
• Cross-device compatibility.
Web apps: Pros.
• Ease of development.
• Cross-device compatibility.
• No AppStore approval needed.
Web apps: Pros.
• Ease of development.
• Cross-device compatibility.
• No AppStore approval needed.
• Easy updates.
Web apps: Cons.
Web apps: Cons.
• Only few APIs for device features available in JS.
Web apps: Cons.
• Only few APIs for device features available in JS.
• No AppStore.
Web apps: Cons.
• Only few APIs for device features available in JS.
• No AppStore.
• Hard to sell your app.
PhoneGap.
PhoneGap.
• Container for your web app.
PhoneGap.
• Container for your web app.
• Enables you to create a native app with your
 web app in it.
PhoneGap.
• Container for your web app.
• Enables you to create a native app with your
 web app in it.
• Put it in the AppStore, Android Market, …
PhoneGap.
• Container for your web app.
• Enables you to create a native app with your
 web app in it.
• Put it in the AppStore, Android Market, …
• Provides JS access to otherwise inaccessible
 device APIs.
Device APIs in JS.
Device APIs in JS.
• Device          • Camera
• Location        • Vibrate
• Accelerometer   • Sound
• Contacts        • Telephony
• Orientation     (if supported by the device)
PhoneGap.
PhoneGap.
• Supported platforms: iPhone, Android,
 Blackberry, Symbian, Palm.
PhoneGap.
• Supported platforms: iPhone, Android,
 Blackberry, Symbian, Palm.
• Windows Mobile, N900/Maemo to be added.
PhoneGap.
• Supported platforms: iPhone, Android,
 Blackberry, Symbian, Palm.
• Windows Mobile, N900/Maemo to be added.
• Open Source (MIT license).
Summing it up.
Summing it up.
Combine jQTouch with PhoneGap and the
possibilities of HTML 5 (Offline Cache,
localStorage/sessionStorage, client-side
databases) and you're gonna have a lot of fun.
Further reading.
Further reading.
• jQTouch » jqtouch.com
Further reading.
• jQTouch » jqtouch.com
• PhoneGap » phonegap.com
Further reading.
• jQTouch » jqtouch.com
• PhoneGap » phonegap.com
• Jonathan Stark: Building iPhone Apps with
 HTML, CSS, and JavaScript » building-iphone-
 apps.labs.oreilly.com
Thanks.




   CC-BY
Thanks.
Slides available at » pb.io/talks/jqtouch/.




        CC-BY
Thanks.
Slides available at » pb.io/talks/jqtouch/.
Tomorrow :)




        CC-BY
Demo
Showtime
Showtime
Todo
Todo
That's it.

Más contenido relacionado

La actualidad más candente

AtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
AtlasCamp 2011 - Five Strategies to Accelerate Plugin DevelopmentAtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
AtlasCamp 2011 - Five Strategies to Accelerate Plugin Developmentmrdon
 
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015Phil Leggetter
 
Develop your first mobile App for iOS and Android
Develop your first mobile App for iOS and AndroidDevelop your first mobile App for iOS and Android
Develop your first mobile App for iOS and Androidralcocer
 
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGLearn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGMarakana Inc.
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical WritingSarah Maddox
 
Getting the Most Out of jQuery Widgets
Getting the Most Out of jQuery WidgetsGetting the Most Out of jQuery Widgets
Getting the Most Out of jQuery Widgetsvelveeta_512
 
Java days Lviv 2015
Java days Lviv 2015Java days Lviv 2015
Java days Lviv 2015Alex Theedom
 
The Developer Experience
The Developer Experience The Developer Experience
The Developer Experience Pamela Fox
 
Oracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxOracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxLuc Bors
 
Web Components v1
Web Components v1Web Components v1
Web Components v1Mike Wilcox
 
Google Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, PlatformGoogle Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, PlatformPamela Fox
 
Android | Busy Java Developers Guide to Android: UI | Ted Neward
Android | Busy Java Developers Guide to Android: UI | Ted NewardAndroid | Busy Java Developers Guide to Android: UI | Ted Neward
Android | Busy Java Developers Guide to Android: UI | Ted NewardJAX London
 
iPhone Appleless Apps
iPhone Appleless AppsiPhone Appleless Apps
iPhone Appleless AppsRemy Sharp
 
Keyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesKeyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesJared Smith
 
Bootstrap cheat-sheet-websitesetup.org
Bootstrap cheat-sheet-websitesetup.org Bootstrap cheat-sheet-websitesetup.org
Bootstrap cheat-sheet-websitesetup.org Ali Bakhtiari
 
Dev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrDev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrJohn Allspaw
 
Fake Your Way as a Mobile Developer Rockstar with PhoneGap
Fake Your Way as a Mobile Developer Rockstar with PhoneGapFake Your Way as a Mobile Developer Rockstar with PhoneGap
Fake Your Way as a Mobile Developer Rockstar with PhoneGapglen_a_smith
 
Real Life MAF (2.2) Oracle Open World 2015
Real Life MAF (2.2) Oracle Open World 2015Real Life MAF (2.2) Oracle Open World 2015
Real Life MAF (2.2) Oracle Open World 2015Luc Bors
 
MOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentMOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentanistar sung
 
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...Yottaa
 

La actualidad más candente (20)

AtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
AtlasCamp 2011 - Five Strategies to Accelerate Plugin DevelopmentAtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
AtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
 
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
 
Develop your first mobile App for iOS and Android
Develop your first mobile App for iOS and AndroidDevelop your first mobile App for iOS and Android
Develop your first mobile App for iOS and Android
 
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGLearn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUG
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical Writing
 
Getting the Most Out of jQuery Widgets
Getting the Most Out of jQuery WidgetsGetting the Most Out of jQuery Widgets
Getting the Most Out of jQuery Widgets
 
Java days Lviv 2015
Java days Lviv 2015Java days Lviv 2015
Java days Lviv 2015
 
The Developer Experience
The Developer Experience The Developer Experience
The Developer Experience
 
Oracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxOracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptx
 
Web Components v1
Web Components v1Web Components v1
Web Components v1
 
Google Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, PlatformGoogle Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, Platform
 
Android | Busy Java Developers Guide to Android: UI | Ted Neward
Android | Busy Java Developers Guide to Android: UI | Ted NewardAndroid | Busy Java Developers Guide to Android: UI | Ted Neward
Android | Busy Java Developers Guide to Android: UI | Ted Neward
 
iPhone Appleless Apps
iPhone Appleless AppsiPhone Appleless Apps
iPhone Appleless Apps
 
Keyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesKeyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility Techniques
 
Bootstrap cheat-sheet-websitesetup.org
Bootstrap cheat-sheet-websitesetup.org Bootstrap cheat-sheet-websitesetup.org
Bootstrap cheat-sheet-websitesetup.org
 
Dev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrDev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and Flickr
 
Fake Your Way as a Mobile Developer Rockstar with PhoneGap
Fake Your Way as a Mobile Developer Rockstar with PhoneGapFake Your Way as a Mobile Developer Rockstar with PhoneGap
Fake Your Way as a Mobile Developer Rockstar with PhoneGap
 
Real Life MAF (2.2) Oracle Open World 2015
Real Life MAF (2.2) Oracle Open World 2015Real Life MAF (2.2) Oracle Open World 2015
Real Life MAF (2.2) Oracle Open World 2015
 
MOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentMOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app development
 
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
 

Destacado

HTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsHTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsSun Technlogies
 
HTML/CSS/JS基础
HTML/CSS/JS基础HTML/CSS/JS基础
HTML/CSS/JS基础jay li
 
JavaScript Programming
JavaScript ProgrammingJavaScript Programming
JavaScript ProgrammingSehwan Noh
 
Html / CSS Presentation
Html / CSS PresentationHtml / CSS Presentation
Html / CSS PresentationShawn Calvert
 
Refacoring vs Rewriting WixStores
Refacoring vs Rewriting WixStoresRefacoring vs Rewriting WixStores
Refacoring vs Rewriting WixStoresDoron Rosenstock
 
Mobile Roadie - Profile Accelerator
Mobile Roadie - Profile AcceleratorMobile Roadie - Profile Accelerator
Mobile Roadie - Profile AcceleratorMobile Roadie
 
5 visual tips for an awesome Wix site
5 visual tips for an awesome Wix site5 visual tips for an awesome Wix site
5 visual tips for an awesome Wix siteAnnie Laurie Malarkey
 
Code This, Not That: 10 Do's and Don'ts For Learning HTML
Code This, Not That: 10 Do's and Don'ts For Learning HTMLCode This, Not That: 10 Do's and Don'ts For Learning HTML
Code This, Not That: 10 Do's and Don'ts For Learning HTMLHubSpot
 
Html 4 01 Weekend Crash Course (2000) 0764547461
Html 4 01 Weekend Crash Course (2000)  0764547461Html 4 01 Weekend Crash Course (2000)  0764547461
Html 4 01 Weekend Crash Course (2000) 0764547461bhuvanann
 
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
 Scaling Wix with microservices architecture and multi-cloud platforms - Reve... Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...Aviran Mordo
 
HTML CSS and Web Development
HTML CSS and Web DevelopmentHTML CSS and Web Development
HTML CSS and Web DevelopmentRahul Mishra
 
Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015Aviran Mordo
 
jQTouch at jQuery Conference 2010
jQTouch at jQuery Conference 2010jQTouch at jQuery Conference 2010
jQTouch at jQuery Conference 2010David Kaneda
 
Building a Best-in-Class Economic Development Website
Building a Best-in-Class Economic Development WebsiteBuilding a Best-in-Class Economic Development Website
Building a Best-in-Class Economic Development WebsiteAtlas Integrated
 

Destacado (20)

Up to Speed on HTML 5 and CSS 3
Up to Speed on HTML 5 and CSS 3Up to Speed on HTML 5 and CSS 3
Up to Speed on HTML 5 and CSS 3
 
HTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts BasicsHTML, CSS and Java Scripts Basics
HTML, CSS and Java Scripts Basics
 
HTML/CSS/JS基础
HTML/CSS/JS基础HTML/CSS/JS基础
HTML/CSS/JS基础
 
JavaScript Programming
JavaScript ProgrammingJavaScript Programming
JavaScript Programming
 
Web Development using HTML & CSS
Web Development using HTML & CSSWeb Development using HTML & CSS
Web Development using HTML & CSS
 
Html / CSS Presentation
Html / CSS PresentationHtml / CSS Presentation
Html / CSS Presentation
 
Refacoring vs Rewriting WixStores
Refacoring vs Rewriting WixStoresRefacoring vs Rewriting WixStores
Refacoring vs Rewriting WixStores
 
Building The Wix SDK
Building The Wix SDKBuilding The Wix SDK
Building The Wix SDK
 
Mobile Roadie - Profile Accelerator
Mobile Roadie - Profile AcceleratorMobile Roadie - Profile Accelerator
Mobile Roadie - Profile Accelerator
 
Wix - NOAH12 London
Wix - NOAH12 LondonWix - NOAH12 London
Wix - NOAH12 London
 
5 visual tips for an awesome Wix site
5 visual tips for an awesome Wix site5 visual tips for an awesome Wix site
5 visual tips for an awesome Wix site
 
Code This, Not That: 10 Do's and Don'ts For Learning HTML
Code This, Not That: 10 Do's and Don'ts For Learning HTMLCode This, Not That: 10 Do's and Don'ts For Learning HTML
Code This, Not That: 10 Do's and Don'ts For Learning HTML
 
Apps On Click, Mobile Apps Development Company Corporate Profile
Apps On Click, Mobile Apps Development Company Corporate ProfileApps On Click, Mobile Apps Development Company Corporate Profile
Apps On Click, Mobile Apps Development Company Corporate Profile
 
Html 4 01 Weekend Crash Course (2000) 0764547461
Html 4 01 Weekend Crash Course (2000)  0764547461Html 4 01 Weekend Crash Course (2000)  0764547461
Html 4 01 Weekend Crash Course (2000) 0764547461
 
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
 Scaling Wix with microservices architecture and multi-cloud platforms - Reve... Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
 
HTML CSS and Web Development
HTML CSS and Web DevelopmentHTML CSS and Web Development
HTML CSS and Web Development
 
Html
HtmlHtml
Html
 
Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015
 
jQTouch at jQuery Conference 2010
jQTouch at jQuery Conference 2010jQTouch at jQuery Conference 2010
jQTouch at jQuery Conference 2010
 
Building a Best-in-Class Economic Development Website
Building a Best-in-Class Economic Development WebsiteBuilding a Best-in-Class Economic Development Website
Building a Best-in-Class Economic Development Website
 

Similar a jQTouch – Mobile Web Apps with HTML, CSS and JavaScript

Beginning jQuery Mobile
Beginning jQuery MobileBeginning jQuery Mobile
Beginning jQuery MobileTroy Miles
 
Cordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsCordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsClay Ewing
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make itJonathan Snook
 
Iphone Presentation for MuMe09
Iphone Presentation for MuMe09Iphone Presentation for MuMe09
Iphone Presentation for MuMe09Gonzalo Parra
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsRomain Guy
 
Mobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery MobileMobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery MobileTerry Ryan
 
Adobe phonegap-workshop-2013
Adobe phonegap-workshop-2013Adobe phonegap-workshop-2013
Adobe phonegap-workshop-2013Haig Armen
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applicationsFDConf
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Jan Jongboom
 
iOS and Android Acceptance Testing with Calabash - Xcake Dublin
iOS and Android Acceptance Testing with Calabash - Xcake DubliniOS and Android Acceptance Testing with Calabash - Xcake Dublin
iOS and Android Acceptance Testing with Calabash - Xcake Dublinroland99
 
Mobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPressMobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPressDanilo Ercoli
 
GeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPressGeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPressGGDBologna
 
Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An IntroductionTyler Johnston
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
 

Similar a jQTouch – Mobile Web Apps with HTML, CSS and JavaScript (20)

Web app
Web appWeb app
Web app
 
Web app
Web appWeb app
Web app
 
Beginning jQuery Mobile
Beginning jQuery MobileBeginning jQuery Mobile
Beginning jQuery Mobile
 
Cordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web SkillsCordova: Making Native Mobile Apps With Your Web Skills
Cordova: Making Native Mobile Apps With Your Web Skills
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Intro to appcelerator
Intro to appceleratorIntro to appcelerator
Intro to appcelerator
 
jQTouch and Titanium
jQTouch and TitaniumjQTouch and Titanium
jQTouch and Titanium
 
Iphone Presentation for MuMe09
Iphone Presentation for MuMe09Iphone Presentation for MuMe09
Iphone Presentation for MuMe09
 
Google I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb HighlightsGoogle I/O 2011, Android Honeycomb Highlights
Google I/O 2011, Android Honeycomb Highlights
 
Mobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery MobileMobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery Mobile
 
Adobe phonegap-workshop-2013
Adobe phonegap-workshop-2013Adobe phonegap-workshop-2013
Adobe phonegap-workshop-2013
 
Hybrid app development with ionic
Hybrid app development with ionicHybrid app development with ionic
Hybrid app development with ionic
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applications
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014
 
iOS and Android Acceptance Testing with Calabash - Xcake Dublin
iOS and Android Acceptance Testing with Calabash - Xcake DubliniOS and Android Acceptance Testing with Calabash - Xcake Dublin
iOS and Android Acceptance Testing with Calabash - Xcake Dublin
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
 
Mobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPressMobile Hybrid Development with WordPress
Mobile Hybrid Development with WordPress
 
GeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPressGeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPress
 
Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An Introduction
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 

Último

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 

Último (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

jQTouch – Mobile Web Apps with HTML, CSS and JavaScript

  • 1. jQTouch Mobile Web Apps with HTML, CSS & JavaScript @philippbosch February 18, 2010 – jsberlin
  • 3. Hi, I’m Philipp. • Freelance Web Developer
  • 4. Hi, I’m Philipp. • Freelance Web Developer • Working in Kreuzberg
  • 5. Hi, I’m Philipp. • Freelance Web Developer • Working in Kreuzberg • Creating websites & web applications since 1995
  • 6. Hi, I’m Philipp. • Freelance Web Developer • Working in Kreuzberg • Creating websites & web applications since 1995 • Been doing some mobile projects recently
  • 8. Mobile Apps. • Two different ways to develop for mobile devices:
  • 9. Mobile Apps. • Two different ways to develop for mobile devices: • «Native Apps»
  • 10. Mobile Apps. • Two different ways to develop for mobile devices: • «Native Apps» • Objective-C (iPhone)
  • 11. Mobile Apps. • Two different ways to develop for mobile devices: • «Native Apps» • Objective-C (iPhone) • Java (Android)
  • 12. Mobile Apps. • Two different ways to develop for mobile devices: • «Native Apps» • Objective-C (iPhone) • Java (Android) • «Web Apps»
  • 13. Mobile Apps. • Two different ways to develop for mobile devices: • «Native Apps» • Objective-C (iPhone) • Java (Android) • «Web Apps» • HTML, CSS, JavaScript
  • 14. Mobile Apps. • Two different ways to develop for mobile devices: • «Native Apps» • Objective-C (iPhone) • Java (Android) • «Web Apps» • HTML, CSS, JavaScript • run on all devices with a web browser
  • 16. Web Apps. • Any regular website can be a web app.
  • 17. Web Apps. • Any regular website can be a web app. • On the iPhone you can add web apps to the home screen.
  • 24. Voilà: jQTouch. • Plugin for jQuery • User interface elements (iPhone style)
  • 25. Voilà: jQTouch. • Plugin for jQuery • User interface elements (iPhone style) • Themes
  • 26. Voilà: jQTouch. • Plugin for jQuery • User interface elements (iPhone style) • Themes • Automatic Navigation
  • 27. Voilà: jQTouch. • Plugin for jQuery • User interface elements (iPhone style) • Themes • Automatic Navigation • Animations
  • 28. Voilà: jQTouch. • Plugin for jQuery • User interface elements (iPhone style) • Themes • Automatic Navigation • Animations • Supports mobile Webkit browsers (iPhone, Android, Palm Pre, …)
  • 29. How does it work?
  • 30. How does it work? • One HTML file.
  • 31. How does it work? • One HTML file. • Inside the <body> element create a <div> element for each panel of your app.
  • 32. How does it work? • One HTML file. • Inside the <body> element create a <div> element for each panel of your app. • Use class name conventions in your HTML, e.g. div.toolbar, ul.rounded, a.back, …
  • 33. How does it work? • One HTML file. • Inside the <body> element create a <div> element for each panel of your app. • Use class name conventions in your HTML, e.g. div.toolbar, ul.rounded, a.back, … • Add jqtouch.js, jqtouch.css, theme.css.
  • 34. How does it work? • One HTML file. • Inside the <body> element create a <div> element for each panel of your app. • Use class name conventions in your HTML, e.g. div.toolbar, ul.rounded, a.back, … • Add jqtouch.js, jqtouch.css, theme.css. • Call $.jQTouch().
  • 35. <!doctype html> <html> <head> <title>jsberlin</title> <script src="jqtouch/jquery.1.3.2.min.js">… <script src="jqtouch/jqtouch.min.js">… <style type="text/css"> @import "jqtouch/jqtouch.min.css"; </style> <style type="text/css"> @import "themes/jqt/theme.min.css"; </style> <script> $.jQTouch(); </script> </head> …
  • 36. … <body> <div id="home"> <div class="toolbar"><h1>My app</h1></div> <ul class="rounded"> <li><a href="#foo">Foo</a></li> <li><a href="#bar">Bar</a></li> </ul> </div> <div id="foo"> <div class="toolbar"> <h1>Foo</h1> <a href="#" class="back">Back</a> </div> </div> </body> </html>
  • 37.
  • 38.
  • 39.
  • 41. Animation. • 8 built-in animations: slide, slideup, dissolve, fade, flip, pop, swap and cube.
  • 42.
  • 43. Animation. • 8 built-in animations: slide, slideup, dissolve, fade, flip, pop, swap and cube.
  • 44. Animation. • 8 built-in animations: slide, slideup, dissolve, fade, flip, pop, swap and cube. • Use these as class names for links to another panel (<a href="#foo" class="swap">).
  • 45. Animation. • 8 built-in animations: slide, slideup, dissolve, fade, flip, pop, swap and cube. • Use these as class names for links to another panel (<a href="#foo" class="swap">). • Default is slide.
  • 46. Animation. • 8 built-in animations: slide, slideup, dissolve, fade, flip, pop, swap and cube. • Use these as class names for links to another panel (<a href="#foo" class="swap">). • Default is slide. • If you click on a back button the reverse animation is applied automatically.
  • 47. … <div id="home"> <div class="toolbar"><h1>My app</h1></div> <ul class="rounded"> <li><a href="#foo" class="flip">Foo</a></li> <li><a href="#bar">Bar</a></li> </ul> </div> …
  • 48.
  • 50. Events. • Five new events you can bind callbacks to:
  • 51. Events. • Five new events you can bind callbacks to: • tap
  • 52. Events. • Five new events you can bind callbacks to: • tap • http://blog.jqtouch.com/post/205113875/
  • 53. Events. • Five new events you can bind callbacks to: • tap • http://blog.jqtouch.com/post/205113875/ • pageAnimationStart
  • 54. Events. • Five new events you can bind callbacks to: • tap • http://blog.jqtouch.com/post/205113875/ • pageAnimationStart • pageAnimationEnd
  • 55. Events. • Five new events you can bind callbacks to: • tap • http://blog.jqtouch.com/post/205113875/ • pageAnimationStart • pageAnimationEnd • turn
  • 56. Events. • Five new events you can bind callbacks to: • tap • http://blog.jqtouch.com/post/205113875/ • pageAnimationStart • pageAnimationEnd • turn • swipe
  • 57. $('#mybutton').tap(function() { // do something when the button is tapped on });
  • 58. $('#mypanel').bind('pageAnimationStart', function(event, info) { if (info.direction == 'in') { populateThePanelWithAjaxData(); } } );
  • 59. $('body').bind('turn', function(event, info) { console.log(info.orientation); // landscape or profile });
  • 60. $('#swipeme').bind('swipe', function(event, info) { console.log(info.direction); // left or right } );
  • 62. Init Options. $.jqTouch({ icon: "path/to/homescreen-icon.png", startupScreen: "path/to/startup-image.png", statusBar: "default|black|black-translucent", addGlossToIcon: true|false, fixedViewport: true|false, preloadImages: ["img1.png","img2.png", …], ... });
  • 64. Themes. • Comes with two complete themes:
  • 65. Themes. • Comes with two complete themes: • «apple» mimics the default iPhone look
  • 66. Themes. • Comes with two complete themes: • «apple» mimics the default iPhone look • «jqt» is based on «apple» but darkermore universal
  • 67. Themes. • Comes with two complete themes: • «apple» mimics the default iPhone look • «jqt» is based on «apple» but darkermore universal • Custom theming is easy: alter the CSS, throw in some graphics and you're done.
  • 68. Themes. • Comes with two complete themes: • «apple» mimics the default iPhone look • «jqt» is based on «apple» but darkermore universal • Custom theming is easy: alter the CSS, throw in some graphics and you're done. • Most graphical fx (gradients, round corners, shadows) are CSS3-based, so no gfx needed.
  • 69.
  • 72. Web apps: Pros. • Ease of development.
  • 73. Web apps: Pros. • Ease of development. • Cross-device compatibility.
  • 74. Web apps: Pros. • Ease of development. • Cross-device compatibility. • No AppStore approval needed.
  • 75. Web apps: Pros. • Ease of development. • Cross-device compatibility. • No AppStore approval needed. • Easy updates.
  • 77. Web apps: Cons. • Only few APIs for device features available in JS.
  • 78. Web apps: Cons. • Only few APIs for device features available in JS. • No AppStore.
  • 79. Web apps: Cons. • Only few APIs for device features available in JS. • No AppStore. • Hard to sell your app.
  • 82. PhoneGap. • Container for your web app. • Enables you to create a native app with your web app in it.
  • 83. PhoneGap. • Container for your web app. • Enables you to create a native app with your web app in it. • Put it in the AppStore, Android Market, …
  • 84. PhoneGap. • Container for your web app. • Enables you to create a native app with your web app in it. • Put it in the AppStore, Android Market, … • Provides JS access to otherwise inaccessible device APIs.
  • 86. Device APIs in JS. • Device • Camera • Location • Vibrate • Accelerometer • Sound • Contacts • Telephony • Orientation (if supported by the device)
  • 88. PhoneGap. • Supported platforms: iPhone, Android, Blackberry, Symbian, Palm.
  • 89. PhoneGap. • Supported platforms: iPhone, Android, Blackberry, Symbian, Palm. • Windows Mobile, N900/Maemo to be added.
  • 90. PhoneGap. • Supported platforms: iPhone, Android, Blackberry, Symbian, Palm. • Windows Mobile, N900/Maemo to be added. • Open Source (MIT license).
  • 92. Summing it up. Combine jQTouch with PhoneGap and the possibilities of HTML 5 (Offline Cache, localStorage/sessionStorage, client-side databases) and you're gonna have a lot of fun.
  • 95. Further reading. • jQTouch » jqtouch.com • PhoneGap » phonegap.com
  • 96. Further reading. • jQTouch » jqtouch.com • PhoneGap » phonegap.com • Jonathan Stark: Building iPhone Apps with HTML, CSS, and JavaScript » building-iphone- apps.labs.oreilly.com
  • 97. Thanks. CC-BY
  • 98. Thanks. Slides available at » pb.io/talks/jqtouch/. CC-BY
  • 99. Thanks. Slides available at » pb.io/talks/jqtouch/. Tomorrow :) CC-BY
  • 100. Demo
  • 103. Todo
  • 104. Todo

Notas del editor

  1. Share my experiences / lessons learned with you.
  2. Share my experiences / lessons learned with you.
  3. Share my experiences / lessons learned with you.
  4. Share my experiences / lessons learned with you.
  5. Native: device-specific framework / environment
  6. Native: device-specific framework / environment
  7. Native: device-specific framework / environment
  8. Native: device-specific framework / environment
  9. Native: device-specific framework / environment
  10. Native: device-specific framework / environment
  11. Native: device-specific framework / environment
  12. One HTML file makes the skeleton of your app.
  13. One HTML file makes the skeleton of your app.
  14. One HTML file makes the skeleton of your app.
  15. One HTML file makes the skeleton of your app.
  16. One HTML file makes the skeleton of your app.
  17. Easy customizing
  18. Easy customizing
  19. Easy customizing
  20. Easy customizing
  21. Easy customizing
  22. Device: properties of the phone, device ID, model, and OS version number. Location: Latitude/Longitude, course, speed, altitude. Accelerometer: detect orientation, shaking etc. Contacts: addressbook, read the users contacts. Orientation: device layout orientation, e.g. landscape vs portrait. Camera: Brings up the camera or photo browser. Vibrate: vibration alert if supported. Sound: Play sound files (WAV, MP3, etc). Telephony: Trigger and activate phone calls.
  23. Device: properties of the phone, device ID, model, and OS version number. Location: Latitude/Longitude, course, speed, altitude. Accelerometer: detect orientation, shaking etc. Contacts: addressbook, read the users contacts. Orientation: device layout orientation, e.g. landscape vs portrait. Camera: Brings up the camera or photo browser. Vibrate: vibration alert if supported. Sound: Play sound files (WAV, MP3, etc). Telephony: Trigger and activate phone calls.
  24. Device: properties of the phone, device ID, model, and OS version number. Location: Latitude/Longitude, course, speed, altitude. Accelerometer: detect orientation, shaking etc. Contacts: addressbook, read the users contacts. Orientation: device layout orientation, e.g. landscape vs portrait. Camera: Brings up the camera or photo browser. Vibrate: vibration alert if supported. Sound: Play sound files (WAV, MP3, etc). Telephony: Trigger and activate phone calls.
  25. Device: properties of the phone, device ID, model, and OS version number. Location: Latitude/Longitude, course, speed, altitude. Accelerometer: detect orientation, shaking etc. Contacts: addressbook, read the users contacts. Orientation: device layout orientation, e.g. landscape vs portrait. Camera: Brings up the camera or photo browser. Vibrate: vibration alert if supported. Sound: Play sound files (WAV, MP3, etc). Telephony: Trigger and activate phone calls.
  26. Device: properties of the phone, device ID, model, and OS version number. Location: Latitude/Longitude, course, speed, altitude. Accelerometer: detect orientation, shaking etc. Contacts: addressbook, read the users contacts. Orientation: device layout orientation, e.g. landscape vs portrait. Camera: Brings up the camera or photo browser. Vibrate: vibration alert if supported. Sound: Play sound files (WAV, MP3, etc). Telephony: Trigger and activate phone calls.
  27. Device: properties of the phone, device ID, model, and OS version number. Location: Latitude/Longitude, course, speed, altitude. Accelerometer: detect orientation, shaking etc. Contacts: addressbook, read the users contacts. Orientation: device layout orientation, e.g. landscape vs portrait. Camera: Brings up the camera or photo browser. Vibrate: vibration alert if supported. Sound: Play sound files (WAV, MP3, etc). Telephony: Trigger and activate phone calls.
  28. Device: properties of the phone, device ID, model, and OS version number. Location: Latitude/Longitude, course, speed, altitude. Accelerometer: detect orientation, shaking etc. Contacts: addressbook, read the users contacts. Orientation: device layout orientation, e.g. landscape vs portrait. Camera: Brings up the camera or photo browser. Vibrate: vibration alert if supported. Sound: Play sound files (WAV, MP3, etc). Telephony: Trigger and activate phone calls.
  29. Device: properties of the phone, device ID, model, and OS version number. Location: Latitude/Longitude, course, speed, altitude. Accelerometer: detect orientation, shaking etc. Contacts: addressbook, read the users contacts. Orientation: device layout orientation, e.g. landscape vs portrait. Camera: Brings up the camera or photo browser. Vibrate: vibration alert if supported. Sound: Play sound files (WAV, MP3, etc). Telephony: Trigger and activate phone calls.
  30. Device: properties of the phone, device ID, model, and OS version number. Location: Latitude/Longitude, course, speed, altitude. Accelerometer: detect orientation, shaking etc. Contacts: addressbook, read the users contacts. Orientation: device layout orientation, e.g. landscape vs portrait. Camera: Brings up the camera or photo browser. Vibrate: vibration alert if supported. Sound: Play sound files (WAV, MP3, etc). Telephony: Trigger and activate phone calls.
  31. Device: properties of the phone, device ID, model, and OS version number. Location: Latitude/Longitude, course, speed, altitude. Accelerometer: detect orientation, shaking etc. Contacts: addressbook, read the users contacts. Orientation: device layout orientation, e.g. landscape vs portrait. Camera: Brings up the camera or photo browser. Vibrate: vibration alert if supported. Sound: Play sound files (WAV, MP3, etc). Telephony: Trigger and activate phone calls.