Movatterモバイル変換


[0]ホーム

URL:


Philipp Bosch, profile picture
Uploaded byPhilipp Bosch
7,783 views

jQTouch – Mobile Web Apps with HTML, CSS and JavaScript

The document discusses jQTouch, a plugin for jQuery that allows developers to build mobile web apps with HTML, CSS, and JavaScript. It works by turning regular web pages into touch-friendly "apps" that can be added to a mobile device's home screen. Key points covered include:- jQTouch uses jQuery and adds iPhone-style UI elements and themes - It supports animations between "pages" and touch events- Combined with PhoneGap, web apps built with jQTouch can be wrapped into native mobile apps and distributed through app stores- The presentation demonstrates jQTouch's capabilities and provides information on getting started and further resources

Embed presentation

jQTouchMobile Web Apps withHTML, CSS & JavaScript@philippboschFebruary 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 thepossibilities of HTML 5 (Offline Cache,localStorage/sessionStorage, client-sidedatabases) 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.

Recommended

PDF
Google Developer Day: State of Ajax
 
PPTX
jQuery for web development
PDF
BDD - Writing better scenario
PDF
Effectively Testing Services - Burlington Ruby Conf
PDF
Appcelerator Titanium Kinetic practices part 1
PDF
Angular or Backbone: Go Mobile!
PDF
ADF Mobile: 10 Things you don't get from the developers guide
PDF
Ionic: The Web SDK for Develop Mobile Apps.
PPT
AtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
 
PDF
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
PDF
Develop your first mobile App for iOS and Android
PDF
Learn about Eclipse e4 from Lars Vogel at SF-JUG
PDF
API Technical Writing
PPTX
Getting the Most Out of jQuery Widgets
PPT
Java days Lviv 2015
PDF
The Developer Experience
PDF
Oracle MAF real life OOW.pptx
PDF
Web Components v1
PPT
Google Wave 20/20: Product, Protocol, Platform
PPT
Android | Busy Java Developers Guide to Android: UI | Ted Neward
PDF
iPhone Appleless Apps
PDF
Keyboard and Interaction Accessibility Techniques
PDF
Bootstrap cheat-sheet-websitesetup.org
PDF
Dev and Ops Collaboration and Awareness at Etsy and Flickr
PDF
Fake Your Way as a Mobile Developer Rockstar with PhoneGap
PDF
Real Life MAF (2.2) Oracle Open World 2015
PDF
MOPCON 2014 - Best software architecture in app development
PPTX
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...
 
PDF
Up to Speed on HTML 5 and CSS 3
PPTX
HTML, CSS and Java Scripts Basics

More Related Content

PDF
Google Developer Day: State of Ajax
 
PPTX
jQuery for web development
PDF
BDD - Writing better scenario
PDF
Effectively Testing Services - Burlington Ruby Conf
PDF
Appcelerator Titanium Kinetic practices part 1
PDF
Angular or Backbone: Go Mobile!
PDF
ADF Mobile: 10 Things you don't get from the developers guide
PDF
Ionic: The Web SDK for Develop Mobile Apps.
Google Developer Day: State of Ajax
 
jQuery for web development
BDD - Writing better scenario
Effectively Testing Services - Burlington Ruby Conf
Appcelerator Titanium Kinetic practices part 1
Angular or Backbone: Go Mobile!
ADF Mobile: 10 Things you don't get from the developers guide
Ionic: The Web SDK for Develop Mobile Apps.

What's hot

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

Viewers also liked

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

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

PDF
jQuery Mobile and JavaScript
KEY
Beginning jQuery Mobile
PDF
jQtouch, Building Awesome Webapps
 
PPT
From jQuery to App Store in 30 Minutes
PDF
Real World Lessons in jQuery Mobile
PDF
jQTouch and Titanium
PPTX
J query mobile tech talk
PPTX
Adobe & HTML5
PDF
Mobile web apps
PPTX
Jquery mobile
PDF
jQuery Mobile Introduction
PDF
Cross Platform Mobile Development
KEY
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
PPTX
Introduction to jQuery Mobile
 
PDF
Evaluation and prototyping of an HTML5 Client for iOS devices
PDF
Mobile JavaScript
PPTX
Mobile native-hacks
PDF
HTML5 and the dawn of rich mobile web applications pt 1
PDF
Anatomy of an HTML 5 mobile web app
PDF
Overview on jQuery mobile
jQuery Mobile and JavaScript
Beginning jQuery Mobile
jQtouch, Building Awesome Webapps
 
From jQuery to App Store in 30 Minutes
Real World Lessons in jQuery Mobile
jQTouch and Titanium
J query mobile tech talk
Adobe & HTML5
Mobile web apps
Jquery mobile
jQuery Mobile Introduction
Cross Platform Mobile Development
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
Introduction to jQuery Mobile
 
Evaluation and prototyping of an HTML5 Client for iOS devices
Mobile JavaScript
Mobile native-hacks
HTML5 and the dawn of rich mobile web applications pt 1
Anatomy of an HTML 5 mobile web app
Overview on jQuery mobile

Recently uploaded

PDF
GPUS and How to Program Them by Manya Bansal
PPTX
AI in Cybersecurity: Digital Defense by Yasir Naveed Riaz
PPTX
THIS IS CYBER SECURITY NOTES USED IN CLASS ON VARIOUS TOPICS USED IN CYBERSEC...
PDF
Eredità digitale sugli smartphone: cosa resta di noi nei dispositivi mobili
PPTX
Kanban India 2025 | Daksh Gupta | Modeling the Models, Generative AI & Kanban
PDF
Usage Control for Process Discovery through a Trusted Execution Environment
DOCX
iRobot Post‑Mortem and Alternative Paths - Discussion Document for Boards and...
PDF
Security Technologys: Access Control, Firewall, VPN
PDF
Unser Jahresrückblick – MarvelClient in 2025
PDF
Digit Expo 2025 - EICC Edinburgh 27th November
PDF
Dev Dives: AI that builds with you - UiPath Autopilot for effortless RPA & AP...
PDF
The major tech developments for 2026 by Pluralsight, a research and training ...
PPTX
Building Cyber Resilience for 2026: Best Practices for a Secure, AI-Driven Bu...
PDF
Making Sense of Raster: From Bit Depth to Better Workflows
PPTX
Protecting Data in an AI Driven World - Cybersecurity in 2026
PPTX
Cybercrime in the Digital Age: Risks, Impact & Protection
PPTX
Software Analysis &Design ethiopia chap-2.pptx
PDF
Our Digital Tribe_ Cultivating Connection and Growth in Our Slack Community 🌿...
PDF
Day 5 - Red Team + Blue Team in the Cloud - 2nd Sight Lab Cloud Security Class
PDF
API-First Architecture in Financial Systems
GPUS and How to Program Them by Manya Bansal
AI in Cybersecurity: Digital Defense by Yasir Naveed Riaz
THIS IS CYBER SECURITY NOTES USED IN CLASS ON VARIOUS TOPICS USED IN CYBERSEC...
Eredità digitale sugli smartphone: cosa resta di noi nei dispositivi mobili
Kanban India 2025 | Daksh Gupta | Modeling the Models, Generative AI & Kanban
Usage Control for Process Discovery through a Trusted Execution Environment
iRobot Post‑Mortem and Alternative Paths - Discussion Document for Boards and...
Security Technologys: Access Control, Firewall, VPN
Unser Jahresrückblick – MarvelClient in 2025
Digit Expo 2025 - EICC Edinburgh 27th November
Dev Dives: AI that builds with you - UiPath Autopilot for effortless RPA & AP...
The major tech developments for 2026 by Pluralsight, a research and training ...
Building Cyber Resilience for 2026: Best Practices for a Secure, AI-Driven Bu...
Making Sense of Raster: From Bit Depth to Better Workflows
Protecting Data in an AI Driven World - Cybersecurity in 2026
Cybercrime in the Digital Age: Risks, Impact & Protection
Software Analysis &Design ethiopia chap-2.pptx
Our Digital Tribe_ Cultivating Connection and Growth in Our Slack Community 🌿...
Day 5 - Red Team + Blue Team in the Cloud - 2nd Sight Lab Cloud Security Class
API-First Architecture in Financial Systems

jQTouch – Mobile Web Apps with HTML, CSS and JavaScript

  • 1.
    jQTouchMobile Web AppswithHTML, CSS & JavaScript@philippboschFebruary 18, 2010 – jsberlin
  • 2.
  • 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
  • 7.
  • 8.
    Mobile Apps.• Twodifferent ways to develop for mobile devices:
  • 9.
    Mobile Apps.• Twodifferent ways to develop for mobile devices: • «Native Apps»
  • 10.
    Mobile Apps.• Twodifferent ways to develop for mobile devices: • «Native Apps» • Objective-C (iPhone)
  • 11.
    Mobile Apps.• Twodifferent ways to develop for mobile devices: • «Native Apps» • Objective-C (iPhone) • Java (Android)
  • 12.
    Mobile Apps.• Twodifferent ways to develop for mobile devices: • «Native Apps» • Objective-C (iPhone) • Java (Android) • «Web Apps»
  • 13.
    Mobile Apps.• Twodifferent ways to develop for mobile devices: • «Native Apps» • Objective-C (iPhone) • Java (Android) • «Web Apps» • HTML, CSS, JavaScript
  • 14.
    Mobile Apps.• Twodifferent 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
  • 15.
  • 16.
    Web Apps.• Anyregular website can be a web app.
  • 17.
    Web Apps.• Anyregular website can be a web app.• On the iPhone you can add web apps to the home screen.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    Voilà: jQTouch.• Pluginfor jQuery• User interface elements (iPhone style)
  • 25.
    Voilà: jQTouch.• Pluginfor jQuery• User interface elements (iPhone style)• Themes
  • 26.
    Voilà: jQTouch.• Pluginfor jQuery• User interface elements (iPhone style)• Themes• Automatic Navigation
  • 27.
    Voilà: jQTouch.• Pluginfor jQuery• User interface elements (iPhone style)• Themes• Automatic Navigation• Animations
  • 28.
    Voilà: jQTouch.• Pluginfor jQuery• User interface elements (iPhone style)• Themes• Automatic Navigation• Animations• Supports mobile Webkit browsers (iPhone, Android, Palm Pre, …)
  • 29.
  • 30.
    How does itwork?• One HTML file.
  • 31.
    How does itwork?• One HTML file.• Inside the <body> element create a <div> element for each panel of your app.
  • 32.
    How does itwork?• 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 itwork?• 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 itwork?• 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>
  • 40.
  • 41.
    Animation.• 8 built-inanimations: slide, slideup, dissolve, fade, flip, pop, swap and cube.
  • 43.
    Animation.• 8 built-inanimations: slide, slideup, dissolve, fade, flip, pop, swap and cube.
  • 44.
    Animation.• 8 built-inanimations: 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-inanimations: 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-inanimations: 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>…
  • 49.
  • 50.
    Events.• Five newevents you can bind callbacks to:
  • 51.
    Events.• Five newevents you can bind callbacks to: • tap
  • 52.
    Events.• Five newevents you can bind callbacks to: • tap • http://blog.jqtouch.com/post/205113875/
  • 53.
    Events.• Five newevents you can bind callbacks to: • tap • http://blog.jqtouch.com/post/205113875/ • pageAnimationStart
  • 54.
    Events.• Five newevents you can bind callbacks to: • tap • http://blog.jqtouch.com/post/205113875/ • pageAnimationStart • pageAnimationEnd
  • 55.
    Events.• Five newevents you can bind callbacks to: • tap • http://blog.jqtouch.com/post/205113875/ • pageAnimationStart • pageAnimationEnd • turn
  • 56.
    Events.• Five newevents 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 });
  • 61.
  • 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", …], ...});
  • 63.
  • 64.
    Themes.• Comes withtwo complete themes:
  • 65.
    Themes.• Comes withtwo complete themes: • «apple» mimics the default iPhone look
  • 66.
    Themes.• Comes withtwo complete themes: • «apple» mimics the default iPhone look • «jqt» is based on «apple» but darkermore universal
  • 67.
    Themes.• Comes withtwo 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 withtwo 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.
  • 70.
  • 71.
  • 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.
  • 76.
  • 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.
  • 80.
  • 81.
  • 82.
    PhoneGap.• Container foryour web app.• Enables you to create a native app with your web app in it.
  • 83.
    PhoneGap.• Container foryour 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 foryour 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.
  • 85.
  • 86.
    Device APIs inJS.• Device • Camera• Location • Vibrate• Accelerometer • Sound• Contacts • Telephony• Orientation (if supported by the device)
  • 87.
  • 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).
  • 91.
  • 92.
    Summing it up.CombinejQTouch with PhoneGap and thepossibilities of HTML 5 (Offline Cache,localStorage/sessionStorage, client-sidedatabases) and you're gonna have a lot of fun.
  • 93.
  • 94.
  • 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.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.

Editor's Notes

  • #3 Share my experiences / lessons learned with you.
  • #4 Share my experiences / lessons learned with you.
  • #5 Share my experiences / lessons learned with you.
  • #6 Share my experiences / lessons learned with you.
  • #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 Native: device-specific framework / environment
  • #13 Native: device-specific framework / environment
  • #24 One HTML file makes the skeleton of your app.
  • #25 One HTML file makes the skeleton of your app.
  • #26 One HTML file makes the skeleton of your app.
  • #27 One HTML file makes the skeleton of your app.
  • #28 One HTML file makes the skeleton of your app.
  • #53 Easy customizing
  • #54 Easy customizing
  • #55 Easy customizing
  • #56 Easy customizing
  • #57 Easy customizing
  • #71 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.
  • #72 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.
  • #73 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.
  • #74 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.
  • #75 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.
  • #76 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.
  • #77 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.
  • #78 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.
  • #79 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.
  • #80 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.

[8]ページ先頭

©2009-2025 Movatter.jp