SlideShare a Scribd company logo
MULTI-SCREEN HTML5	


      Ron Reiter
Who am I?	



•  Ron Reiter	

•  HTML5 Google Developer
   Expert	

•  HTML5-IL	

•  Consultant, Freelancer
HTML5 != WEB	

•  HTML5 is a platform for writing
 applications	

•  Browser + Server = Web	





                   !=	
  
Why mobile web?	

•  Global mobile traffic now represents roughly 13% of Internet traffic	

•  Gartner research: In 2013 more than half of users will surf the web via
   smartphones	

•  Nearly 1/3 of UK page views are from mobiles and tablets	





       BECAUSE YOU
       NEED TO DO IT
Why HTML5?	

•  Cross platform development	

•  FirefoxOS	

•  PhoneGap	

•  Desktops run JavaScript with great
   performance	

•  Devices are only getting stronger
   (Zuckerberg, kiss my *ss)
Why NOT HTML5?	

•  Millisecond grade interaction and animations	

•  HTML5 is not quite there yet
Why Multi-screen?
OK, I WANT MULTISCREEN
CSS Media Queries
CSS Media Queries - Before	

$(window).resize(	
  function()	
  {	
  
	
  	
  	
  	
  if	
  ($(window).width()	
  <	
  480)	
  {	
  
	
  	
  	
  	
  	
  	
  document.body.className	
  =	
  “smartphone”;	
  
	
  	
  	
  	
  }	
  else	
  if	
  ($(window).width()	
  >=	
  480	
  &&	
  $
(window).width()	
  <	
  940)	
  {	
  
	
  	
  	
  	
  	
  	
  document.body.className	
  =	
  “tablet”;	
  
	
  	
  	
  	
  }	
  else	
  {	
  
	
  	
  	
  	
  	
  	
  document.body.className	
  =	
  “desktop”;	
  
	
  	
  	
  	
  }	
  	
  
});	
  
CSS Media Queries - After	

@media	
  (max-­‐width:	
  479px)	
  {	
  
	
  
}	
  
	
  
@media	
  (min-­‐width:	
  480px)	
  and	
  (max-­‐width:	
  939px)	
  {	
  
	
  
}	
  
	
  
@media	
  (min-­‐width:	
  940px)	
  {	
  
	
  
}	
  
	
  
	
  
CSS Media Queries - After	

<link	
  rel="stylesheet"	
  	
  
	
  	
  type="text/css"	
  media="screen"	
  href="sans-­‐serif.css">	
  
	
  
<link	
  rel="stylesheet"	
  	
  
	
  	
  type="text/css"	
  media="print"	
  href="serif.css">	
  
CSS Media Queries - After	

@import	
  url(responsive-­‐retina.css)	
  (-­‐webkit-­‐min-­‐device-­‐
pixel-­‐ratio:	
  1.5),	
  (min-­‐resolution:	
  144dpi);	
  
Important media queries	

•  print	
  /	
  screen	
  
•  orientation	
  
•  min-­‐width	
  
•  max-­‐width	
  
•  min-­‐device-­‐width	
  
•  max-­‐device-­‐width	
  
•  -­‐webkit-­‐min-­‐device-­‐pixel-­‐ratio	
  
	
  /	
  min-­‐resolution	
  

	
  
Why is this better?	

•  Declarative CSS allows hardware acceleration	

•  Browser Optimizations	

•  Less ugly
Viewport meta tag	

•  This viewport tag disables mobile viewport
   resizing:	

  <meta	
  name="viewport”	
  content=”	
  
  	
  	
  	
  	
  width=device-­‐width,	
  initial-­‐scale=1.0,	
  maximum-­‐scale=1.0,	
  user-­‐scalable=no	
  
  ”>	
  




•  Use it when you build responsive interfaces
http://mediaqueri.es
App or mobile web?	

•  You already have your website, and now you
   want to support mobile devices.	

•  Website	

   –  Easier maintenance	

•  Application	

   –  More abilities
What are my options?	

•  Change your current website to a responsive
   web site	

•  Your original website + Special website for
   tablets and smartphones	

•  Just make an app (HTML5, native, etc).
Responsive web UI Frameworks	


 Responsive	
  Web	
  Sites	
      Mobile	
  First	
  
  Twi$er	
  Bootstrap	
           jQuery	
  Mobile	
  
HTML5 Mobile First Applications
Mobile First Web Applications	


•  Make a mobile website	

•  Mobile application development platform	





 UI	
  Frameworks	
      jQuery	
  Mobile	
     Sencha	
  Touch	
       jqMobi	
  
DOM	
  ManipulaMon	
  
Frameworks	
                                    jQuery,	
  Zepto	
  

MVC	
  Frameworks	
       Backbone.js	
            Ember.js	
          Angular.js	
  
jQuery Mobile	

•    Amazing mobile framework	

•    Themable	

•    Cross Platform	

•    Around for a while
jQuery Mobile Prototyping - Codiqa
How to start	

•  Create a new HTML page with:	

<link	
  rel="stylesheet"	
  href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-­‐1.3.0.min.css"	
  />	
  

<script	
  src="http://code.jquery.com/jquery-­‐1.8.2.min.js"></script>	
  

<script	
  src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-­‐1.3.0.min.js"></script>	
  



•  Or use Codiqa to download your app
How to use jQuery Mobile
What can jQuery Mobile do?
jQuery Mobile	

•  What can I do with jQuery mobile?	

•  Go to http://view.jquerymobile.com/1.3.0/
   using your smartphone or tablet
Responsive Applications
Responsive Applications
Responsive Applications
Reflow Tables (web)
Reflow Tables (mobile)
jQuery Mobile Architecture &
        Navigation
jQuery Mobile Architecture	

  AJAX	
  /	
  Preloaded	
            Web	
  NavigaMon	
  
One	
  HTML,	
  Two	
  pages	
     Two	
  HTMLs,	
  Two	
  pages	
  
AJAX Navigation	

•  Instead of changing the document location, we
    use $.mobile.navigate (saves history)	

	

$(“a”).on(“click”,	
  function(	
  event	
  )	
  {	
  
  	
  event.preventDefault();	
  
  	
  $.mobile.navigate	
  (	
  this.attr(“href”)	
  );	
  
});	
  
AJAX Navigation	

•  Once we navigate, a “navigate” event is fired	

	
  
$(window).on(“navigate”,	
  function(event,	
  data)	
  {	
  
	
  	
  	
  	
  //	
  load	
  new	
  content	
  using	
  AJAX	
  
});	
  
Navigating between loaded pages	

JavaScript:	
  
$.mobile.changePage(“#page2”,	
  “pop”,	
  false,	
  true);	
  
$.mobile.back();	
  

HTML:	
  
<div	
  data-­‐role=“page”	
  id=“page1”></div>	
  
<div	
  data-­‐role=“page”	
  id=“page2”></div>	
  
Creating a page dynamically	

JavaScript:	
  
	
  $(document.body).append('<div	
  data-­‐role="page"	
  
id=”page2"><div	
  data-­‐role="content">'	
  +	
  content	
  +	
  '</
div></div>');	
  
$.mobile.initializePage();	
  
$.mobile.changePage(“#page2”,	
  “pop”,	
  false,	
  true);	
  
jQuery Mobile + MVC	

•  Angular	

   –  https://github.com/tigbro/jquery-mobile-angular-
      adapter	

•  Backbone – we need a special router	

   –  https://github.com/azicchetti/jquerymobile-router	

•  Ember + jQuery Mobile is a bit harder since
   both frameworks utilize a fair amount of
   voodoo
OK, I want an app!	

•  PhoneGap / Apache Cordova – Gives
   native API access from JavaScript	

•  PhoneGap was bought by Adobe, so that non-
   Adobe development is done in Cordova
PhoneGap Build	

•  Removes the need for compiling to all
   platforms
Desktop?
Responsive Web Design
Responsive Web Design	

•  Web sites with a simple UI need to adapt to
   multiple screen form factors	

•  Web sites are less complicated than web
   applications, but still very similar	

•  jQuery mobile is also a tool for responsive
   web design	

  –  http://view.jquerymobile.com/1.3.0/docs/intro/
     rwd.php
Twitter Bootstrap
Twitter Bootstrap	

•  UI framework is more straightforward than
   jQuery Mobile	

•  The UI elements are not as good for mobile as
   jQuery Mobile	

•  Mobile browsers do not behave well with
   advanced Bootstrap UI elements like jQuery
   Mobile does
How to make Bootstrap responsive?	

•  Add this to your Bootstrap app:	

<meta	
  name="viewport"	
  content="width=device-­‐width,	
  initial-­‐scale=1.0">	
  
<link	
  href="assets/css/bootstrap-­‐responsive.css"	
  rel="stylesheet">	
  


•  And you’re ready to go!
Twitter Bootstrap Grid	

<div	
  class=“container”>	
  
	
  	
  <div	
  class=“row”>	
  <!-­‐-­‐	
  columns	
  must	
  sum	
  up	
  to	
  12	
  -­‐-­‐>	
  
	
  	
  	
  	
  <div	
  class=“span4”>	
  …	
  content	
  …	
  </div>	
  
	
  	
  	
  	
  <div	
  class=“span4”>	
  …	
  content	
  …	
  </div>	
  	
  	
  	
  	
  
	
  	
  	
  	
  <div	
  class=“span4”>	
  …	
  content	
  …	
  </div>	
  
	
  	
  </div>	
  
</div>	
  
Bootstrap Grid (web)	





span4	
        span4	
     span4	
  
Bootstrap Grid (mobile)	




           span4	
  




           span4	
  




           span4	
  
Example (web)
Example (mobile)
Initializr
Responsive Design Bookmarklet
        http://responsive.victorcoulon.fr/
Viewport Resizer
http://lab.maltewassermann.com/viewport-resizer/
THANK YOU!

More Related Content

What's hot

SPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePointSPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePoint
Mark Rackley
 
SPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuerySPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuery
Mark Rackley
 
jQuery and AJAX with Rails
jQuery and AJAX with RailsjQuery and AJAX with Rails
jQuery and AJAX with Rails
Alan Hecht
 
A Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePointA Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePoint
Mark Rackley
 
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePointSPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
Mark Rackley
 
jQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends ForeverjQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends Forever
stephskardal
 
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
SPTechCon Boston 2015 - Overcoming SharePoint LimitationsSPTechCon Boston 2015 - Overcoming SharePoint Limitations
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
Mark Rackley
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14
Mark Rackley
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
SharePointInstitute
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
Mark Rackley
 
SPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesSPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesMark Rackley
 
Intro to SharePoint Web Services
Intro to SharePoint Web ServicesIntro to SharePoint Web Services
Intro to SharePoint Web ServicesMark Rackley
 
Gae Meets Django
Gae Meets DjangoGae Meets Django
Gae Meets Djangofool2nd
 
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownSPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have known
Mark Rackley
 
jQuery Mobile with HTML5
jQuery Mobile with HTML5jQuery Mobile with HTML5
jQuery Mobile with HTML5
madhurpgarg
 
Advanced JQuery Mobile tutorial with Phonegap
Advanced JQuery Mobile tutorial with Phonegap Advanced JQuery Mobile tutorial with Phonegap
Advanced JQuery Mobile tutorial with Phonegap
Rakesh Jha
 
AtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-onsAtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-ons
Atlassian
 
Web Components: The future of Web Application Development
Web Components: The future of Web Application DevelopmentWeb Components: The future of Web Application Development
Web Components: The future of Web Application Development
Jermaine Oppong
 
Drupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systemsDrupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systems
Alex S
 
Introduction to jquery mobile with Phonegap
Introduction to jquery mobile with PhonegapIntroduction to jquery mobile with Phonegap
Introduction to jquery mobile with Phonegap
Rakesh Jha
 

What's hot (20)

SPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePointSPTechCon 2014 How to develop and debug client side code in SharePoint
SPTechCon 2014 How to develop and debug client side code in SharePoint
 
SPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuerySPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuery
 
jQuery and AJAX with Rails
jQuery and AJAX with RailsjQuery and AJAX with Rails
jQuery and AJAX with Rails
 
A Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePointA Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePoint
 
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePointSPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
 
jQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends ForeverjQuery and Rails: Best Friends Forever
jQuery and Rails: Best Friends Forever
 
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
SPTechCon Boston 2015 - Overcoming SharePoint LimitationsSPTechCon Boston 2015 - Overcoming SharePoint Limitations
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
 
SPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesSPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery Libraries
 
Intro to SharePoint Web Services
Intro to SharePoint Web ServicesIntro to SharePoint Web Services
Intro to SharePoint Web Services
 
Gae Meets Django
Gae Meets DjangoGae Meets Django
Gae Meets Django
 
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownSPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have known
 
jQuery Mobile with HTML5
jQuery Mobile with HTML5jQuery Mobile with HTML5
jQuery Mobile with HTML5
 
Advanced JQuery Mobile tutorial with Phonegap
Advanced JQuery Mobile tutorial with Phonegap Advanced JQuery Mobile tutorial with Phonegap
Advanced JQuery Mobile tutorial with Phonegap
 
AtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-onsAtlasCamp 2015: Using add-ons to build add-ons
AtlasCamp 2015: Using add-ons to build add-ons
 
Web Components: The future of Web Application Development
Web Components: The future of Web Application DevelopmentWeb Components: The future of Web Application Development
Web Components: The future of Web Application Development
 
Drupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systemsDrupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systems
 
Introduction to jquery mobile with Phonegap
Introduction to jquery mobile with PhonegapIntroduction to jquery mobile with Phonegap
Introduction to jquery mobile with Phonegap
 

Viewers also liked

Multi-écrans : effet de mode ou tendance de fond ?
Multi-écrans : effet de mode ou tendance de fond ?Multi-écrans : effet de mode ou tendance de fond ?
Multi-écrans : effet de mode ou tendance de fond ?
PXNetwork
 
Les réseaux sociaux en marketing B2B
Les réseaux sociaux en marketing B2BLes réseaux sociaux en marketing B2B
Les réseaux sociaux en marketing B2B
MI4
 
Smartphone, Tablette et Desktop : comment organiser un discours de marque dan...
Smartphone, Tablette et Desktop : comment organiser un discours de marque dan...Smartphone, Tablette et Desktop : comment organiser un discours de marque dan...
Smartphone, Tablette et Desktop : comment organiser un discours de marque dan...
Mathias Duret
 
Les opportunités des dispositifs publicitaires multi-écrans par Millward Brown
Les opportunités des dispositifs publicitaires multi-écrans par Millward BrownLes opportunités des dispositifs publicitaires multi-écrans par Millward Brown
Les opportunités des dispositifs publicitaires multi-écrans par Millward BrownPhilippe KHATTOU
 
Le Marketing Mobile face aux idées reçues
Le Marketing Mobile face aux idées reçuesLe Marketing Mobile face aux idées reçues
Le Marketing Mobile face aux idées reçues
LaFrenchMobile
 
[DAF 2014] Multi-device : Mieux qualifier son audience
[DAF 2014] Multi-device : Mieux qualifier son audience[DAF 2014] Multi-device : Mieux qualifier son audience
[DAF 2014] Multi-device : Mieux qualifier son audience
AT Internet
 
Eurelis - Présentation multi-écrans
Eurelis - Présentation multi-écransEurelis - Présentation multi-écrans
Eurelis - Présentation multi-écrans
Agence-Eurelis
 
Marketing Mobile
Marketing MobileMarketing Mobile
Marketing Mobile
Florence Jacob
 
Le Multi-Device au cœur de votre stratégie mobile - évènement AT Internet
Le Multi-Device au cœur de votre stratégie mobile - évènement AT InternetLe Multi-Device au cœur de votre stratégie mobile - évènement AT Internet
Le Multi-Device au cœur de votre stratégie mobile - évènement AT Internet
AT Internet
 
[DAF 2015] L'analyse des données cross-canal chez vente-privee.fr
[DAF 2015] L'analyse des données cross-canal chez vente-privee.fr[DAF 2015] L'analyse des données cross-canal chez vente-privee.fr
[DAF 2015] L'analyse des données cross-canal chez vente-privee.fr
AT Internet
 
Marketing Mobile - Cours IDRAC Sup' de Com
Marketing Mobile - Cours IDRAC Sup' de ComMarketing Mobile - Cours IDRAC Sup' de Com
Marketing Mobile - Cours IDRAC Sup' de Com
LucileReynard
 

Viewers also liked (12)

Multi-écrans : effet de mode ou tendance de fond ?
Multi-écrans : effet de mode ou tendance de fond ?Multi-écrans : effet de mode ou tendance de fond ?
Multi-écrans : effet de mode ou tendance de fond ?
 
Les réseaux sociaux en marketing B2B
Les réseaux sociaux en marketing B2BLes réseaux sociaux en marketing B2B
Les réseaux sociaux en marketing B2B
 
Smartphone, Tablette et Desktop : comment organiser un discours de marque dan...
Smartphone, Tablette et Desktop : comment organiser un discours de marque dan...Smartphone, Tablette et Desktop : comment organiser un discours de marque dan...
Smartphone, Tablette et Desktop : comment organiser un discours de marque dan...
 
Les opportunités des dispositifs publicitaires multi-écrans par Millward Brown
Les opportunités des dispositifs publicitaires multi-écrans par Millward BrownLes opportunités des dispositifs publicitaires multi-écrans par Millward Brown
Les opportunités des dispositifs publicitaires multi-écrans par Millward Brown
 
Le Marketing Mobile face aux idées reçues
Le Marketing Mobile face aux idées reçuesLe Marketing Mobile face aux idées reçues
Le Marketing Mobile face aux idées reçues
 
Le multi-écrans
Le multi-écransLe multi-écrans
Le multi-écrans
 
[DAF 2014] Multi-device : Mieux qualifier son audience
[DAF 2014] Multi-device : Mieux qualifier son audience[DAF 2014] Multi-device : Mieux qualifier son audience
[DAF 2014] Multi-device : Mieux qualifier son audience
 
Eurelis - Présentation multi-écrans
Eurelis - Présentation multi-écransEurelis - Présentation multi-écrans
Eurelis - Présentation multi-écrans
 
Marketing Mobile
Marketing MobileMarketing Mobile
Marketing Mobile
 
Le Multi-Device au cœur de votre stratégie mobile - évènement AT Internet
Le Multi-Device au cœur de votre stratégie mobile - évènement AT InternetLe Multi-Device au cœur de votre stratégie mobile - évènement AT Internet
Le Multi-Device au cœur de votre stratégie mobile - évènement AT Internet
 
[DAF 2015] L'analyse des données cross-canal chez vente-privee.fr
[DAF 2015] L'analyse des données cross-canal chez vente-privee.fr[DAF 2015] L'analyse des données cross-canal chez vente-privee.fr
[DAF 2015] L'analyse des données cross-canal chez vente-privee.fr
 
Marketing Mobile - Cours IDRAC Sup' de Com
Marketing Mobile - Cours IDRAC Sup' de ComMarketing Mobile - Cours IDRAC Sup' de Com
Marketing Mobile - Cours IDRAC Sup' de Com
 

Similar to Multi screen HTML5

Responsive Websites
Responsive WebsitesResponsive Websites
Responsive Websites
Joe Seifi
 
Jquery mobile
Jquery mobileJquery mobile
Jquery mobile
Predhin Sapru
 
Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)
Adam Lu
 
Best Practices for Mobile Web Design
Best Practices for Mobile Web DesignBest Practices for Mobile Web Design
Best Practices for Mobile Web Design
St. Petersburg College
 
Responsive websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. Toolbox
Wojtek Zając
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
mikeleeme
 
The Mobile Development Landscape
The Mobile Development LandscapeThe Mobile Development Landscape
The Mobile Development Landscape
Ambert Ho
 
Responsive Web Design - Tom Robertshaw
Responsive Web Design - Tom RobertshawResponsive Web Design - Tom Robertshaw
Responsive Web Design - Tom Robertshaw
Meet Magento Spain
 
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
Cristian Rodríguez Enríquez
 
Adobe & HTML5
Adobe & HTML5Adobe & HTML5
Adobe & HTML5
Terry Ryan
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
Jonathan Snook
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native codeJoakim Kemeny
 
Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Thomas Carney
 
Mobilism 2011: How to put the mobile in the mobile web
Mobilism 2011: How to put the mobile in the mobile webMobilism 2011: How to put the mobile in the mobile web
Mobilism 2011: How to put the mobile in the mobile web
Jenifer Hanen
 
Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)
Tirthesh Ganatra
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
balunasj
 
JQuery mobile
JQuery mobileJQuery mobile
JQuery mobile
Gary Yeh
 
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
Terry Ryan
 

Similar to Multi screen HTML5 (20)

Responsive Websites
Responsive WebsitesResponsive Websites
Responsive Websites
 
Jquery mobile
Jquery mobileJquery mobile
Jquery mobile
 
Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)Html5 on Mobile(For Developer)
Html5 on Mobile(For Developer)
 
Best Practices for Mobile Web Design
Best Practices for Mobile Web DesignBest Practices for Mobile Web Design
Best Practices for Mobile Web Design
 
Responsive websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. Toolbox
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
 
The Mobile Development Landscape
The Mobile Development LandscapeThe Mobile Development Landscape
The Mobile Development Landscape
 
Responsive Web Design - Tom Robertshaw
Responsive Web Design - Tom RobertshawResponsive Web Design - Tom Robertshaw
Responsive Web Design - Tom Robertshaw
 
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
02 Building cross-platform mobile applications with jQuery Mobile / Desarroll...
 
Adobe & HTML5
Adobe & HTML5Adobe & HTML5
Adobe & HTML5
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Creating mobile apps without native code
Creating mobile apps without native codeCreating mobile apps without native code
Creating mobile apps without native code
 
Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Responsivedesign 7-3-2012
Responsivedesign 7-3-2012
 
Mobilism 2011: How to put the mobile in the mobile web
Mobilism 2011: How to put the mobile in the mobile webMobilism 2011: How to put the mobile in the mobile web
Mobilism 2011: How to put the mobile in the mobile web
 
Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)Responsive Web Design (HeadStart TechTalks)
Responsive Web Design (HeadStart TechTalks)
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
Web app
Web appWeb app
Web app
 
JQuery mobile
JQuery mobileJQuery mobile
JQuery mobile
 
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
 

More from Ron Reiter

Securing your Bitcoin wallet
Securing your Bitcoin walletSecuring your Bitcoin wallet
Securing your Bitcoin wallet
Ron Reiter
 
Brogramming - Python, Bash for Data Processing, and Git
Brogramming - Python, Bash for Data Processing, and GitBrogramming - Python, Bash for Data Processing, and Git
Brogramming - Python, Bash for Data Processing, and Git
Ron Reiter
 
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
Ron Reiter
 
Introduction to Bootstrap
Introduction to BootstrapIntroduction to Bootstrap
Introduction to Bootstrap
Ron Reiter
 
Building Chrome Extensions
Building Chrome ExtensionsBuilding Chrome Extensions
Building Chrome ExtensionsRon Reiter
 
HTML5 New Features and Resources
HTML5 New Features and ResourcesHTML5 New Features and Resources
HTML5 New Features and ResourcesRon Reiter
 
Digital Audio & Signal Processing (Elad Gariany)
Digital Audio & Signal Processing (Elad Gariany)Digital Audio & Signal Processing (Elad Gariany)
Digital Audio & Signal Processing (Elad Gariany)Ron Reiter
 
Writing HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAEWriting HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAE
Ron Reiter
 

More from Ron Reiter (9)

Securing your Bitcoin wallet
Securing your Bitcoin walletSecuring your Bitcoin wallet
Securing your Bitcoin wallet
 
Brogramming - Python, Bash for Data Processing, and Git
Brogramming - Python, Bash for Data Processing, and GitBrogramming - Python, Bash for Data Processing, and Git
Brogramming - Python, Bash for Data Processing, and Git
 
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
BDX 2015 - Scaling out big-data computation & machine learning using Pig, Pyt...
 
Introduction to Bootstrap
Introduction to BootstrapIntroduction to Bootstrap
Introduction to Bootstrap
 
Mobile Spaces
Mobile SpacesMobile Spaces
Mobile Spaces
 
Building Chrome Extensions
Building Chrome ExtensionsBuilding Chrome Extensions
Building Chrome Extensions
 
HTML5 New Features and Resources
HTML5 New Features and ResourcesHTML5 New Features and Resources
HTML5 New Features and Resources
 
Digital Audio & Signal Processing (Elad Gariany)
Digital Audio & Signal Processing (Elad Gariany)Digital Audio & Signal Processing (Elad Gariany)
Digital Audio & Signal Processing (Elad Gariany)
 
Writing HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAEWriting HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAE
 

Recently uploaded

To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 

Recently uploaded (20)

To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 

Multi screen HTML5

  • 1. MULTI-SCREEN HTML5 Ron Reiter
  • 2. Who am I? •  Ron Reiter •  HTML5 Google Developer Expert •  HTML5-IL •  Consultant, Freelancer
  • 3. HTML5 != WEB •  HTML5 is a platform for writing applications •  Browser + Server = Web !=  
  • 4. Why mobile web? •  Global mobile traffic now represents roughly 13% of Internet traffic •  Gartner research: In 2013 more than half of users will surf the web via smartphones •  Nearly 1/3 of UK page views are from mobiles and tablets BECAUSE YOU NEED TO DO IT
  • 5. Why HTML5? •  Cross platform development •  FirefoxOS •  PhoneGap •  Desktops run JavaScript with great performance •  Devices are only getting stronger (Zuckerberg, kiss my *ss)
  • 6. Why NOT HTML5? •  Millisecond grade interaction and animations •  HTML5 is not quite there yet
  • 8. OK, I WANT MULTISCREEN
  • 10. CSS Media Queries - Before $(window).resize(  function()  {          if  ($(window).width()  <  480)  {              document.body.className  =  “smartphone”;          }  else  if  ($(window).width()  >=  480  &&  $ (window).width()  <  940)  {              document.body.className  =  “tablet”;          }  else  {              document.body.className  =  “desktop”;          }     });  
  • 11. CSS Media Queries - After @media  (max-­‐width:  479px)  {     }     @media  (min-­‐width:  480px)  and  (max-­‐width:  939px)  {     }     @media  (min-­‐width:  940px)  {     }      
  • 12. CSS Media Queries - After <link  rel="stylesheet"        type="text/css"  media="screen"  href="sans-­‐serif.css">     <link  rel="stylesheet"        type="text/css"  media="print"  href="serif.css">  
  • 13. CSS Media Queries - After @import  url(responsive-­‐retina.css)  (-­‐webkit-­‐min-­‐device-­‐ pixel-­‐ratio:  1.5),  (min-­‐resolution:  144dpi);  
  • 14. Important media queries •  print  /  screen   •  orientation   •  min-­‐width   •  max-­‐width   •  min-­‐device-­‐width   •  max-­‐device-­‐width   •  -­‐webkit-­‐min-­‐device-­‐pixel-­‐ratio    /  min-­‐resolution    
  • 15. Why is this better? •  Declarative CSS allows hardware acceleration •  Browser Optimizations •  Less ugly
  • 16. Viewport meta tag •  This viewport tag disables mobile viewport resizing: <meta  name="viewport”  content=”          width=device-­‐width,  initial-­‐scale=1.0,  maximum-­‐scale=1.0,  user-­‐scalable=no   ”>   •  Use it when you build responsive interfaces
  • 18. App or mobile web? •  You already have your website, and now you want to support mobile devices. •  Website –  Easier maintenance •  Application –  More abilities
  • 19. What are my options? •  Change your current website to a responsive web site •  Your original website + Special website for tablets and smartphones •  Just make an app (HTML5, native, etc).
  • 20. Responsive web UI Frameworks Responsive  Web  Sites   Mobile  First   Twi$er  Bootstrap   jQuery  Mobile  
  • 21. HTML5 Mobile First Applications
  • 22. Mobile First Web Applications •  Make a mobile website •  Mobile application development platform UI  Frameworks   jQuery  Mobile   Sencha  Touch   jqMobi   DOM  ManipulaMon   Frameworks   jQuery,  Zepto   MVC  Frameworks   Backbone.js   Ember.js   Angular.js  
  • 23. jQuery Mobile •  Amazing mobile framework •  Themable •  Cross Platform •  Around for a while
  • 25. How to start •  Create a new HTML page with: <link  rel="stylesheet"  href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-­‐1.3.0.min.css"  />   <script  src="http://code.jquery.com/jquery-­‐1.8.2.min.js"></script>   <script  src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-­‐1.3.0.min.js"></script>   •  Or use Codiqa to download your app
  • 26. How to use jQuery Mobile
  • 27. What can jQuery Mobile do?
  • 28. jQuery Mobile •  What can I do with jQuery mobile? •  Go to http://view.jquerymobile.com/1.3.0/ using your smartphone or tablet
  • 35. jQuery Mobile Architecture AJAX  /  Preloaded Web  NavigaMon   One  HTML,  Two  pages   Two  HTMLs,  Two  pages  
  • 36. AJAX Navigation •  Instead of changing the document location, we use $.mobile.navigate (saves history) $(“a”).on(“click”,  function(  event  )  {    event.preventDefault();    $.mobile.navigate  (  this.attr(“href”)  );   });  
  • 37. AJAX Navigation •  Once we navigate, a “navigate” event is fired   $(window).on(“navigate”,  function(event,  data)  {          //  load  new  content  using  AJAX   });  
  • 38. Navigating between loaded pages JavaScript:   $.mobile.changePage(“#page2”,  “pop”,  false,  true);   $.mobile.back();   HTML:   <div  data-­‐role=“page”  id=“page1”></div>   <div  data-­‐role=“page”  id=“page2”></div>  
  • 39. Creating a page dynamically JavaScript:    $(document.body).append('<div  data-­‐role="page"   id=”page2"><div  data-­‐role="content">'  +  content  +  '</ div></div>');   $.mobile.initializePage();   $.mobile.changePage(“#page2”,  “pop”,  false,  true);  
  • 40. jQuery Mobile + MVC •  Angular –  https://github.com/tigbro/jquery-mobile-angular- adapter •  Backbone – we need a special router –  https://github.com/azicchetti/jquerymobile-router •  Ember + jQuery Mobile is a bit harder since both frameworks utilize a fair amount of voodoo
  • 41. OK, I want an app! •  PhoneGap / Apache Cordova – Gives native API access from JavaScript •  PhoneGap was bought by Adobe, so that non- Adobe development is done in Cordova
  • 42. PhoneGap Build •  Removes the need for compiling to all platforms
  • 45. Responsive Web Design •  Web sites with a simple UI need to adapt to multiple screen form factors •  Web sites are less complicated than web applications, but still very similar •  jQuery mobile is also a tool for responsive web design –  http://view.jquerymobile.com/1.3.0/docs/intro/ rwd.php
  • 47. Twitter Bootstrap •  UI framework is more straightforward than jQuery Mobile •  The UI elements are not as good for mobile as jQuery Mobile •  Mobile browsers do not behave well with advanced Bootstrap UI elements like jQuery Mobile does
  • 48. How to make Bootstrap responsive? •  Add this to your Bootstrap app: <meta  name="viewport"  content="width=device-­‐width,  initial-­‐scale=1.0">   <link  href="assets/css/bootstrap-­‐responsive.css"  rel="stylesheet">   •  And you’re ready to go!
  • 49. Twitter Bootstrap Grid <div  class=“container”>      <div  class=“row”>  <!-­‐-­‐  columns  must  sum  up  to  12  -­‐-­‐>          <div  class=“span4”>  …  content  …  </div>          <div  class=“span4”>  …  content  …  </div>                  <div  class=“span4”>  …  content  …  </div>      </div>   </div>  
  • 50. Bootstrap Grid (web) span4   span4   span4  
  • 51. Bootstrap Grid (mobile) span4   span4   span4  
  • 55. Responsive Design Bookmarklet http://responsive.victorcoulon.fr/