70

Mobile Application Development for the Web Developer

Embed Size (px)

DESCRIPTION

Craig Johnston will take you on a tour of platform-neutral mobile application development with HTML, CSS and JavaScript, using code examples and lessons learned from Geekend’s own mobile app, Nine Inch Nails and nbc.com. The session includes implementations of HTML5, CSS3 and Javascript technologies wrapped in native applications. This session is geared toward web developers and designers starting out in mobile development, focusing on iPhone, iPad and Android devices.

Citation preview

Page 1: Mobile Application Development for the Web Developer
Page 2: Mobile Application Development for the Web Developer

mobile application development

for the web developercraig johnston

sudjam, llc

>

Page 3: Mobile Application Development for the Web Developer

sudjam

Page 4: Mobile Application Development for the Web Developer

los angeles

Page 5: Mobile Application Development for the Web Developer

net

Page 6: Mobile Application Development for the Web Developer
Page 7: Mobile Application Development for the Web Developer

dev

Page 8: Mobile Application Development for the Web Developer

web +mobile

Page 9: Mobile Application Development for the Web Developer

mobile

Page 10: Mobile Application Development for the Web Developer

focus

Page 11: Mobile Application Development for the Web Developer
Page 12: Mobile Application Development for the Web Developer

androidiosother

Page 13: Mobile Application Development for the Web Developer

developer driven success

“how many apps does your device have?”

Page 14: Mobile Application Development for the Web Developer

apps

Page 15: Mobile Application Development for the Web Developer

mobile devices run appscomputers run applications

Page 16: Mobile Application Development for the Web Developer

desktop browsers run web applicationsmobile browsers run web apps

Page 17: Mobile Application Development for the Web Developer

native platforms web platform

Page 18: Mobile Application Development for the Web Developer

native stack web stack

Page 19: Mobile Application Development for the Web Developer

objective-cjava

cactionscript

htmlcssjs

Page 20: Mobile Application Development for the Web Developer

native web apps

Page 21: Mobile Application Development for the Web Developer

web platform

Page 22: Mobile Application Development for the Web Developer

internet explorer safari firefox chrome opera

Page 23: Mobile Application Development for the Web Developer

render htmljavascript api

Page 24: Mobile Application Development for the Web Developer

htm

l

Page 25: Mobile Application Development for the Web Developer
Page 26: Mobile Application Development for the Web Developer
Page 27: Mobile Application Development for the Web Developer

enginetrident gecko presto webkit

Page 28: Mobile Application Development for the Web Developer

web platformin native apps

Page 29: Mobile Application Development for the Web Developer

example

Page 30: Mobile Application Development for the Web Developer
Page 31: Mobile Application Development for the Web Developer
Page 32: Mobile Application Development for the Web Developer
Page 33: Mobile Application Development for the Web Developer

UIWebView

WebView

Page 34: Mobile Application Development for the Web Developer

html + js

Page 35: Mobile Application Development for the Web Developer

html + js

Page 36: Mobile Application Development for the Web Developer

html   <body>

    <div  class="loading">

      <img  src="images/logo_geekend_300x200.png"  /><br  />

      <img  src="images/loading.gif"  />

    </div>

    <div  id="location"  class="page  detail">

      <div  class="header">

        <img  src="images/logo_geekend_300x200.png"  />

      </div>  

      <div  class="content  title">

        <h1  class="title"></h1>

        <h2  class="address"></h2>

        <h2  class="phone"></h2>

      </div>

      <div  class="content  controls">

        <a  href="#"><img  src="images/btn_googlemaps.png"  /></a>

      </div>      

      <div  class="content  body">

      </div>

    </div>    

  </body>

Page 37: Mobile Application Development for the Web Developer

jsif(!gApp)  {  var  gApp  =  {};  }

gApp.populateLocation  =  function(data)  {

  x$('#location  .content.title  .title').inner(data.title);  

  x$('#location  .content.title  .address').inner(data.address);

  x$('#location  .content.title  .phone').inner('<a  href="tel:'  +  data.phone  +  '">'  +  data.phone  +  '</a>');

  data.description  ?  x$('#location  .content.body').inner(data.description)  :  null;

  data.addressURI  =  encodeURI(data.address);

  x$('#location  >  .header  >  img')[0].src  =  'http://maps.google.com/maps/api/staticmap?center='  +  data.addressURI  +  '&markers=color:blue|'  +  data.addressURI  +  '&zoom=15&size=300x200&sensor=false';

  x$('#location  >  .content.controls  a')[0].href  =  "http://maps.google.com/maps?q="  +    data.addressURI;

  x$('.loading').css({  display:'none'});  

  x$('.page').css({  display:'block'});

};

Page 38: Mobile Application Development for the Web Developer

x$

Page 39: Mobile Application Development for the Web Developer

7.8k.xhr().html().setStyle().addClass()...

Page 40: Mobile Application Development for the Web Developer

cross platform web

Page 41: Mobile Application Development for the Web Developer
Page 42: Mobile Application Development for the Web Developer

T yet...

Page 43: Mobile Application Development for the Web Developer

web ui

Page 44: Mobile Application Development for the Web Developer

hardware acceleration

Page 45: Mobile Application Development for the Web Developer

webkit

Page 46: Mobile Application Development for the Web Developer

css animation

Page 47: Mobile Application Development for the Web Developer

designfunction

Page 48: Mobile Application Development for the Web Developer

prototypeweb app

Page 49: Mobile Application Development for the Web Developer
Page 50: Mobile Application Development for the Web Developer

html<div  id="header">

       <a  href="#">Geekend  2010</a>

</div>

<div  id="content">

       <div  id="newsListSection"  class="section  scroller  current">

               <div  class="sectionHeader">

               </div>

               <ul  id="newsList"  class="list">

                       <li  class="listItem  newsDigestItem">

                               <p>Lorem  ipsum  dolor  sit  amet,  consectetur  adipisicing  elit...</p>

                       </li>

      ...

               </ul>

       </div>

</div>

Page 51: Mobile Application Development for the Web Developer
Page 52: Mobile Application Development for the Web Developer

css.current  {   -­‐webkit-­‐animation-­‐name:  slideinfromright;}

@-­‐webkit-­‐keyframes  slideinfromright  {    from  {       -­‐webkit-­‐transform:  translate3d(100%,0,0);     }      to  {       -­‐webkit-­‐transform:  translate3d(0,0,0);     }}

Page 53: Mobile Application Development for the Web Developer

-­‐webkit-­‐transform:  translate3d

Page 54: Mobile Application Development for the Web Developer

jsx$(‘#n  .current’).addClass(‘previous’);

x$(‘#n  .current’).removeClass(‘current’);

x$(‘#n  .next’).addClass(‘current’);

x$(‘#n  .current’).removeClass(‘next’);

Page 55: Mobile Application Development for the Web Developer

x$(‘#n  .next’).addClass(‘current’);

Page 56: Mobile Application Development for the Web Developer

.current  {   -­‐webkit-­‐animation-­‐name:  slideinfromright;}

Page 57: Mobile Application Development for the Web Developer
Page 58: Mobile Application Development for the Web Developer

phonegapnative wrapper

Page 59: Mobile Application Development for the Web Developer

example

Page 60: Mobile Application Development for the Web Developer

setup

Page 61: Mobile Application Development for the Web Developer

web app

Page 62: Mobile Application Development for the Web Developer

android

Page 63: Mobile Application Development for the Web Developer

essentials

Page 64: Mobile Application Development for the Web Developer
Page 65: Mobile Application Development for the Web Developer

+

Page 66: Mobile Application Development for the Web Developer

cubiq.org/iscroll

Page 67: Mobile Application Development for the Web Developer
Page 68: Mobile Application Development for the Web Developer
Page 70: Mobile Application Development for the Web Developer

objectframework.com