SlideShare a Scribd company logo
From jQuery to App Store in  30 Minutes Mobile Apps with HTML, CSS, and Javascript 2010 Barcamp Tampa By Eliot Dill
Hi, I'm Eliot. Software Developer - Web - Mobile Entrepreneur Grad Student
Agenda Play a Game: Barcamp Says Highlight the important code How to setup your first project Difficulties
Background Native Apps - Java (Android) - Objective-C (iOS)   Web Apps - HTML5 - CSS3 - Javascript - WebKit Compatibility
Play “Barcamp Says” http://www.youtube.com/watch?v=_N169k98Vfg
How does it work? - Single .html  - <div> tag for each page - include jqtouch.css, jqtouch.js, theme.css, and jquery.js - initialize $.jQTouch();
Pick a Style, Create Own
HTML Header <head> <title>Barcamp Says</title> <link rel=&quot;stylesheet&quot; href=&quot;jqtouch/jqtouch.min.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; title=&quot;no title&quot; charset=&quot;utf-8&quot;> <link rel=&quot;stylesheet&quot; href=&quot;themes/triviadark/theme.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; title=&quot;no title&quot; charset=&quot;utf-8&quot;> <script type=&quot;text/javascript&quot; src=&quot;jqtouch/jquery.1.3.2.min.js&quot; charset=&quot;utf-8&quot;></script> <script type=&quot;text/javascript&quot; src=&quot;jqtouch/jqtouch.min.js&quot; charset=&quot;utf-8&quot;></script> <script type=&quot;text/javascript&quot; src=&quot;ws.js&quot; charset=&quot;utf-8&quot;></script> <link rel=&quot;stylesheet&quot; href=&quot;ws.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; title=&quot;no title&quot; charset=&quot;utf-8&quot;>  </head>
HTML Div <div id=&quot;home&quot; class=&quot;current&quot;> <div class=&quot;toolbar&quot;> <h1>Barcamp Says</h1> <a class=&quot;button flip&quot; href=&quot;#top&quot;>Top Score</a> </div> <br><br> <center><img src=&quot;images/bbb-logo.png&quot; /></center> <br><br> <ul class=&quot;rounded&quot;> <li class=&quot;arrow&quot;><a onclick=&quot;ShowQuestion();&quot; href=&quot;#play&quot;>Play Now</a></li> <li class=&quot;arrow&quot;><a href=&quot;#how&quot;>How to Play</a></li> <li class=&quot;arrow&quot;><a href=&quot;#about&quot;>About</a></li> </ul> </div>
JS Initialization var jQT = $.jQTouch({ formSelector: false, icon: 'icon.png', startupScreen: 'Default.png', statusBar: 'black',  useFastTouch: false, preloadImages: [ 'themes/triviadark/img/back_button.png', 'themes/triviadark/img/back_button_clicked.png', 'themes/triviadark/img/button_clicked.png', 'themes/triviadark/img/grayButton.png', 'themes/triviadark/img/whiteButton.png', 'themes/triviadark/img/loading.gif', 'ttmt-logo.png', 'themes/triviadark/img/ttmt-bg.png' ] });
JS Local Database var db; $(document).ready(function(){ $('body > *').css({minHeight: '460px !important'}); var shortName = 'BarCamp Says'; var version = '1.0'; var displayName = 'BarCamp Says'; var maxSize = 65536; db = openDatabase(shortName, version, displayName, maxSize); db.transaction( function(transaction) { transaction.executeSql( &quot;CREATE TABLE IF NOT EXISTS scoreboard (&quot; + &quot;id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, description TEXT,  score INTEGER);&quot; ); } ); //Do Stuff Here });
JS Web Service HTTP.get(URL + myId, null, success, failure, i); var HTTP = {  get: function (url, file, success, failure, i) {  var xhr = new XMLHttpRequest();  xhr.open('GET', url, true);  xhr.onreadystatechange = function () {  if (xhr.readyState == 4) {  if (xhr.status == 200) {  success(xhr, i);  } else {  failure(xhr);  }  }  };  xhr.send(null);  }  }; function success(xhr, i) {  //Do Something Cool }
Still with me?
Prerequisites
JQTouch - jQuery Plug-in - iPhone CSS - Animations:  -  slide ,  slideup ,  dissolve ,  fade ,  pop ,  flip ,  swap , and  cube - Auto Navigation
PhoneGap - Container -> App Store - with JQTouch -> Native-like Apps - device, location, camera, vibrate, sound, telephony, accelerometer, contacts, orientation - iPhone / iPad, Android, Blackberry, Palm Pre, Symbian, WinMobile
Installing PhoneGap >git clone git://github.com/phonegap/phonegap-iphone.git >git submodule init >git submodule update >make Run PhoneGapLibInstaller.pkg -More help at phonegap.com/start/
Provisioning
Create New Project  
 
Change URL  
Change Settings  
Develop in WWW
Gotchas Android  - SDK and Emulator Setup is more difficult - Deployment is Simple as Pie - No approval process - Be sure to keep Keystores safe Apple - SDK and Emulator Setup is Easy - Provisioning and Deployment is more difficult - 1-2 week turn around Other - Installing PhoneGap (A little confusing) - Selling internationally for US-only app - Don’t upgrade SDKs/Programs/APIs, especially mid-development - Longer than expected dev times
Learn More http://building-iphone-apps.labs.oreilly.com/ch08.html http://www.phonegap.com http://www.jqtouch.com
Contact Eliot Dill  @eliotdill [email_address]

More Related Content

PPT
Blogs como gerenciar
PPT
Blogs como gerenciar
PPT
Blogs como gerenciar
PPT
Blogs como gerenciar
PPT
ARTDM 170, Week 16: Publishing
PDF
Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...
PPTX
J Query - Your First Steps
PDF
Open and Accessible UI
Blogs como gerenciar
Blogs como gerenciar
Blogs como gerenciar
Blogs como gerenciar
ARTDM 170, Week 16: Publishing
Joomla! Frappe - Κατασκευή εφαρμογών για το Joomla! χωρίς να τραβάτε τα μαλιά...
J Query - Your First Steps
Open and Accessible UI

What's hot (19)

PPT
Discovery Education streaming and Google Earth
PPTX
J Query Presentation
PPTX
BOOM Performance
PDF
Conditional Love - Using WordPress Conditional Tags to Write More Effective T...
PDF
Future of Web Development
PPTX
Presentation2
ODP
Optimizing Drupal for Mobile Devices
PDF
Responsive Videos, mehr oder weniger
PPTX
Images and PWA in magento
PDF
#2 Html [know-how]
PPTX
jQuery Conference Chicago - September 2014
PPTX
Mobilize Joomla
PDF
Enjoy the vue.js
PPTX
Mobile Apps with PhoneGap and jQuery Mobile
PPT
Fast Loading JavaScript
PDF
Web Accessibility Gone Wild
PPTX
LinkedIn Platform at LeWeb 2010
PPT
WordPress Development Confoo 2010
Discovery Education streaming and Google Earth
J Query Presentation
BOOM Performance
Conditional Love - Using WordPress Conditional Tags to Write More Effective T...
Future of Web Development
Presentation2
Optimizing Drupal for Mobile Devices
Responsive Videos, mehr oder weniger
Images and PWA in magento
#2 Html [know-how]
jQuery Conference Chicago - September 2014
Mobilize Joomla
Enjoy the vue.js
Mobile Apps with PhoneGap and jQuery Mobile
Fast Loading JavaScript
Web Accessibility Gone Wild
LinkedIn Platform at LeWeb 2010
WordPress Development Confoo 2010
Ad

Viewers also liked (16)

PPS
MATEMÁTICA
PPT
Laipni ludzam prezentācijā
PPTX
Disabilities presentation
PDF
Sintoma e Infancia
PDF
Etrex basic
PDF
Mahdi Roz
PPTX
Do pedido à entrega, a saga do tradutor
PDF
memoQ - Abrates Conference
PPTX
Tradução automática em textos médicos
PPTX
Localização
PPT
Qcr520 lesson 20 teaching drama 2010
PDF
Allan Rwakakooko Undergraduate Thesis
PPT
New criticism
PPT
El millor 11 de l’historia
PPT
El millor 11 de l’historia
PDF
Elasticidad
MATEMÁTICA
Laipni ludzam prezentācijā
Disabilities presentation
Sintoma e Infancia
Etrex basic
Mahdi Roz
Do pedido à entrega, a saga do tradutor
memoQ - Abrates Conference
Tradução automática em textos médicos
Localização
Qcr520 lesson 20 teaching drama 2010
Allan Rwakakooko Undergraduate Thesis
New criticism
El millor 11 de l’historia
El millor 11 de l’historia
Elasticidad
Ad

Similar to From jQuery to App Store in 30 Minutes (20)

KEY
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
PDF
Real World Lessons in jQuery Mobile
PDF
Bd conf sencha touch workshop
PPTX
Adobe & HTML5
KEY
Building Mobile Apps with HTML, CSS, and JavaScript
PDF
HTML5 and the dawn of rich mobile web applications pt 1
PDF
jQuery Mobile Introduction
PDF
jQtouch, Building Awesome Webapps
PDF
jQTouch and Titanium
PPTX
Jquery mobile book review
PDF
jQuery Mobile and JavaScript
PDF
HTML5 and the dawn of rich mobile web applications pt 2
PDF
HTML5 and Mobile
PPT
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
PDF
Mobile App Development
PPTX
Introduction to jQuery Mobile
PPTX
Intro to Jquery Mobile
KEY
HTML5 apps for iOS (and probably beyond)
PDF
Get Ahead with HTML5 on Moible
KEY
Beginning jQuery Mobile
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
Real World Lessons in jQuery Mobile
Bd conf sencha touch workshop
Adobe & HTML5
Building Mobile Apps with HTML, CSS, and JavaScript
HTML5 and the dawn of rich mobile web applications pt 1
jQuery Mobile Introduction
jQtouch, Building Awesome Webapps
jQTouch and Titanium
Jquery mobile book review
jQuery Mobile and JavaScript
HTML5 and the dawn of rich mobile web applications pt 2
HTML5 and Mobile
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile App Development
Introduction to jQuery Mobile
Intro to Jquery Mobile
HTML5 apps for iOS (and probably beyond)
Get Ahead with HTML5 on Moible
Beginning jQuery Mobile

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Electronic commerce courselecture one. Pdf
PPT
Teaching material agriculture food technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
Diabetes mellitus diagnosis method based random forest with bat algorithm
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
Reach Out and Touch Someone: Haptics and Empathic Computing
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Approach and Philosophy of On baking technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
NewMind AI Weekly Chronicles - August'25 Week I
Electronic commerce courselecture one. Pdf
Teaching material agriculture food technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
cuic standard and advanced reporting.pdf
Machine learning based COVID-19 study performance prediction
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Review of recent advances in non-invasive hemoglobin estimation
Dropbox Q2 2025 Financial Results & Investor Presentation

From jQuery to App Store in 30 Minutes

  • 1. From jQuery to App Store in  30 Minutes Mobile Apps with HTML, CSS, and Javascript 2010 Barcamp Tampa By Eliot Dill
  • 2. Hi, I'm Eliot. Software Developer - Web - Mobile Entrepreneur Grad Student
  • 3. Agenda Play a Game: Barcamp Says Highlight the important code How to setup your first project Difficulties
  • 4. Background Native Apps - Java (Android) - Objective-C (iOS)   Web Apps - HTML5 - CSS3 - Javascript - WebKit Compatibility
  • 5. Play “Barcamp Says” http://www.youtube.com/watch?v=_N169k98Vfg
  • 6. How does it work? - Single .html - <div> tag for each page - include jqtouch.css, jqtouch.js, theme.css, and jquery.js - initialize $.jQTouch();
  • 7. Pick a Style, Create Own
  • 8. HTML Header <head> <title>Barcamp Says</title> <link rel=&quot;stylesheet&quot; href=&quot;jqtouch/jqtouch.min.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; title=&quot;no title&quot; charset=&quot;utf-8&quot;> <link rel=&quot;stylesheet&quot; href=&quot;themes/triviadark/theme.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; title=&quot;no title&quot; charset=&quot;utf-8&quot;> <script type=&quot;text/javascript&quot; src=&quot;jqtouch/jquery.1.3.2.min.js&quot; charset=&quot;utf-8&quot;></script> <script type=&quot;text/javascript&quot; src=&quot;jqtouch/jqtouch.min.js&quot; charset=&quot;utf-8&quot;></script> <script type=&quot;text/javascript&quot; src=&quot;ws.js&quot; charset=&quot;utf-8&quot;></script> <link rel=&quot;stylesheet&quot; href=&quot;ws.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; title=&quot;no title&quot; charset=&quot;utf-8&quot;> </head>
  • 9. HTML Div <div id=&quot;home&quot; class=&quot;current&quot;> <div class=&quot;toolbar&quot;> <h1>Barcamp Says</h1> <a class=&quot;button flip&quot; href=&quot;#top&quot;>Top Score</a> </div> <br><br> <center><img src=&quot;images/bbb-logo.png&quot; /></center> <br><br> <ul class=&quot;rounded&quot;> <li class=&quot;arrow&quot;><a onclick=&quot;ShowQuestion();&quot; href=&quot;#play&quot;>Play Now</a></li> <li class=&quot;arrow&quot;><a href=&quot;#how&quot;>How to Play</a></li> <li class=&quot;arrow&quot;><a href=&quot;#about&quot;>About</a></li> </ul> </div>
  • 10. JS Initialization var jQT = $.jQTouch({ formSelector: false, icon: 'icon.png', startupScreen: 'Default.png', statusBar: 'black', useFastTouch: false, preloadImages: [ 'themes/triviadark/img/back_button.png', 'themes/triviadark/img/back_button_clicked.png', 'themes/triviadark/img/button_clicked.png', 'themes/triviadark/img/grayButton.png', 'themes/triviadark/img/whiteButton.png', 'themes/triviadark/img/loading.gif', 'ttmt-logo.png', 'themes/triviadark/img/ttmt-bg.png' ] });
  • 11. JS Local Database var db; $(document).ready(function(){ $('body > *').css({minHeight: '460px !important'}); var shortName = 'BarCamp Says'; var version = '1.0'; var displayName = 'BarCamp Says'; var maxSize = 65536; db = openDatabase(shortName, version, displayName, maxSize); db.transaction( function(transaction) { transaction.executeSql( &quot;CREATE TABLE IF NOT EXISTS scoreboard (&quot; + &quot;id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, description TEXT, score INTEGER);&quot; ); } ); //Do Stuff Here });
  • 12. JS Web Service HTTP.get(URL + myId, null, success, failure, i); var HTTP = { get: function (url, file, success, failure, i) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status == 200) { success(xhr, i); } else { failure(xhr); } } }; xhr.send(null); } }; function success(xhr, i) { //Do Something Cool }
  • 15. JQTouch - jQuery Plug-in - iPhone CSS - Animations: - slide , slideup , dissolve , fade , pop , flip , swap , and cube - Auto Navigation
  • 16. PhoneGap - Container -> App Store - with JQTouch -> Native-like Apps - device, location, camera, vibrate, sound, telephony, accelerometer, contacts, orientation - iPhone / iPad, Android, Blackberry, Palm Pre, Symbian, WinMobile
  • 17. Installing PhoneGap >git clone git://github.com/phonegap/phonegap-iphone.git >git submodule init >git submodule update >make Run PhoneGapLibInstaller.pkg -More help at phonegap.com/start/
  • 20.  
  • 24. Gotchas Android - SDK and Emulator Setup is more difficult - Deployment is Simple as Pie - No approval process - Be sure to keep Keystores safe Apple - SDK and Emulator Setup is Easy - Provisioning and Deployment is more difficult - 1-2 week turn around Other - Installing PhoneGap (A little confusing) - Selling internationally for US-only app - Don’t upgrade SDKs/Programs/APIs, especially mid-development - Longer than expected dev times
  • 25. Learn More http://building-iphone-apps.labs.oreilly.com/ch08.html http://www.phonegap.com http://www.jqtouch.com
  • 26. Contact Eliot Dill @eliotdill [email_address]