SlideShare uma empresa 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.

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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...
 

Destaque

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
 

Destaque (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
 

Semelhante 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
 

Semelhante 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

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Último (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

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 do 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.