SlideShare a Scribd company logo
1 of 82
Download to read offline
Use Web Skills To
Build Mobile Apps
 with Matt Baxter & Nathan Smith
      SATURDAY โ€” JUNE 2, 2012 โ€” DALLAS, TX




              http://bigdesignevents.com
Put down that pen! (or not)
You can get the slides here:

http://j.mp/web-skills
Who are we?
We do mobile/web
UX & JavaScript at



@mbxtr & @nathansmith
(In case you want to talk smack on Twitter)



              http://projekt202.com
An urgent (not desperate) announcement


Weโ€™re hiring JavaScript
savvy developers to join
our team at projekt202.
(You can talk to us after the presentation)

                 http://projekt202.com
The Rise
of Mobile
State of mobile in 2007 โ€” The year the iPhone was introduced




                   http://๏ฌ‚ickr.com/photos/djwudi/382030798
Handset design was quite
diverse โ€œway back when.โ€

Industrial designers were
still (awkwardly) searching
for the best form factorโ€ฆ
http://zackmorriscellphone.com
Technology is cyclical. Good ideas are often โ€œborrowedโ€
and make their way to products from multiple vendors.




           http://engadget.com/photos/hp-envy-15-vs-the-macbook-pro
The state of mobile in 2012 โ€” Touch screens reign supreme
Not everyone can rock the giant cell phone foreverโ€ฆ




 http://hulu.com/watch/76560/late-night-with-jimmy-fallon-saved-by-the-bell-reunion-update-3
<old-man-voice>

 Nowadays, itโ€™s more about
 the software on the device.

</old-man-voice>
Each day, on planet Earthโ€ฆ



  317,124
  newborns begin life


1,450,000
mobile devices activated
       http://lukew.com/๏ฌ€/entry.asp?1506
The one thing all these phones have
in common (besides Angry Birds) is
they all have decent web browsers.

          http://paulirish.com/2010/high-res-browser-icons
โ€œObama orders agencies to optimize Web content for mobileโ€ฆโ€




                 http://๏ฌ‚ickr.com/photos/whitehouse/7161178504
http://computerworld.com/s/article/9227412/Obama_orders_agencies_to_optimize_Web_content_for_mobile
Mobile web trivia timeโ€ฆ


โ€” PhoneGap on Windows Phone uses
  the IE9 engine (it is pretty good)
โ€” WebKit is the dominant rendering
  engine across most mobile devices
  โ€” iOS, Android, Blackberry, webOS
โ€” Blackberry has one of the best
  WebKit-based browsers available
So, what should I build?
[A] Desktop web app
[B] Mobile web app
[C] Mobile native app
[D] All of the above
 Note: Weโ€™re not saying you have to
 build all-in-oneโ€ฆ But it is possible.
Whither Responsive Web Design?


Responsive web design using @media
queries (with one codebase for all devices)
typically works best for web โ€œsitesโ€ (not
apps). As a general rule of thumb, if your
content can be read via RSS and still make
sense, it is a good candidate for RWD.

           http://alistapart.com/articles/responsive-web-design
Bene๏ฌts of native development



โ€” Default OS look & feel (UI conventions)
โ€” Performance (โ€œcloser to the metalโ€)
โ€” Access to device hardware (GPS, etc)
โ€” App store/marketplace distribution
โ€” Bene๏ฌt from latest OS enhancements
Drawbacks of native development




โ€” Tied to the particular OS you built for
โ€” Maintaining a multi OS team/skill-set
โ€” Dealing with app store approval process
โ€” Keeping app in sync with OS updates
LinkedInโ€™s iPad app is 95% HTML5


                                                 We did users studies in-house,
                                                 and I donโ€™t think people noticed
                                                 a big di๏ฌ€erence. Nobody said,
                                                 โ€œOh thatโ€™s native,โ€ or โ€œOh,
                                                 thatโ€™s web.โ€ As long as we can
                                                 make the experience fast
                                                 enough, nobody can tell the
                                                 di๏ฌ€erence. It still feels right.
                                                                      โ€” Kiran Prasad




    http://venturebeat.com/2012/05/02/linkedin-ipad-app-engineering
Bene๏ฌts of hybrid development



โ€” Common codebase for multiple OSโ€™s
โ€” Access to device hardware (GPS, etc)
โ€” App store/marketplace distribution
โ€” Skills you already have (HTML, CSS, JS)
โ€” Potential code reuse in web site/app
Drawbacks of hybrid development


โ€” Build for lowest common denominator
โ€” 3rd party SDKโ€™s might lag behind OS
  โ€” Want to use feature X? Wait for an
    implementation in abstraction layer.
โ€” An abstraction layer can have bugs of
  its own. Have to determine if a bug is in
  your code, the abstraction layer, or OS.
Titanium
from Appcelerator



    http://appcelerator.com/platform
Areas where Titanium shines


โ€” Native UI
  โ€” Great for iOS, crapshoot on Android

โ€” Build for iOS, Android, and Blackberry
  โ€” Some code reuse across platforms

โ€” Entirely JavaScript based
  โ€” Uses CommonJSโ€™s AMD approach
  โ€” Except for WebView (HTML/CSS too)
http://j.mp/bachmann-eyezed
Abstraction layers tend to be
harder to debug than โ€œnativeโ€
languages โ€” Objective-C,
C#, or Java โ€” whilst using an
IDE such as Visual Studio,
Xcode, or Eclipse.


With โ€œthe web,โ€ you have
familiar browser-based
desktop tools in Chrome,
Firebug, or Opera Dragon๏ฌ‚y.
PhoneGap
  from Adobe



    http://phonegap.com
Areas where PhoneGap shines


โ€” It is โ€œthe web you already knowโ€
โ€” Debugging via desktop browser
โ€” Access to device APIโ€™s (GPS, etc)
โ€” Strives to implement W3C specs
  โ€” Camera API, etc.
โ€” Supports Windows Phone 7, too
http://youtu.be/nOEw9iiopwI
How PhoneGap works

โ€” It embeds a WebView in a native app
โ€” Native app gives access to OS APIโ€™s
โ€”ย All the UI is built via HTML/CSS
โ€” JavaScript handles everything else
โ€”ย The app wrapper compiles viaโ€ฆ
  Xcode, Eclipse, Visual Studio, or
  โ€œthe cloudโ€ โ†’ build.phonegap.com
Handlebbbars
demo of Handlebars.js
and the Dribbble API



         http://host.sonspring.com/handlebbbars
http://handlebarsjs.com
http://dribbble.com/api
Dribbble API: JSON
<script type="text/x-handlebars" id="_template-list-item">
  {{#each shots}}
    <li>
      <p>
         <b class="big">
           {{title}}
         </b>
         <img alt="{{title}}" class="frame"
           style="background-image:url({{image_url}})" src="data:image/png;base64,
           iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAEklEQVQIHWP8//8/AzJgJCg
           AAB+ICPuLaDnAAAAAAElFTkSuQmCC" />
      </p>
      <table>
         <tr>
           <th>
              Designer:
           </th>
           <td>
              <b>{{player.name}}</b>
           </td>
         </tr>
         {{#if player.twitter_screen_name}}
           ...
         {{/if}}
         {{#if likes_count}}
           ...
         {{/if}}
         {{#if short_url}}
           ...
         {{/if}}
      </table>
    </li>
  {{/each}}
</script>
                                                          Handlebars template
<script type="text/x-handlebars" id="_template-list-item">
  {{#each shots}}
    <li>
      <p>
         <b class="big">
           {{title}}
         </b>
         <img alt="{{title}}" class="frame"
           style="background-image:url({{image_url}})" src="data:image/png;base64,
           iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAEklEQVQIHWP8//8/AzJgJCg
           AAB+ICPuLaDnAAAAAAElFTkSuQmCC" />
      </p>
      <table>
         <tr>
           <th>
              Designer:
           </th>
           <td>
              <b>{{player.name}}</b>
           </td>
         </tr>
         {{#if player.twitter_screen_name}}
           ...
         {{/if}}
         {{#if likes_count}}
           ...
         {{/if}}
         {{#if short_url}}
           ...
         {{/if}}
      </table>
    </li>
  {{/each}}
</script>
                                                          Handlebars template
...
{{#if player.twitter_screen_name}}
  <tr>
    <th>
       Twitter:
    </th>
    <td>
       <a href="http://twitter.com/{{player.twitter_screen_name}}">
         @{{player.twitter_screen_name}}
       </a>
    </td>
  </tr>
{{/if}}
{{#if likes_count}}
  <tr>
    <th>
       Likes:
    </th>
    <td>
       {{likes_count}} <span class="mute">&hearts;</span>
    </td>
  </tr>
{{/if}}
{{#if short_url}}
  <tr>
    <th>
       URL:
    </th>
    <td>
       <a href="{{short_url}}">{{short_url}}</a>
    </td>
  </tr>
{{/if}}
...                                               Handlebars template
...
{{#if player.twitter_screen_name}}
  <tr>
    <th>
       Twitter:
    </th>
    <td>
       <a href="http://twitter.com/{{player.twitter_screen_name}}">
         @{{player.twitter_screen_name}}
       </a>
    </td>
  </tr>
{{/if}}
{{#if likes_count}}
  <tr>
    <th>
       Likes:
    </th>
    <td>
       {{likes_count}} <span class="mute">&hearts;</span>
    </td>
  </tr>
{{/if}}
{{#if short_url}}
  <tr>
    <th>
       URL:
    </th>
    <td>
       <a href="{{short_url}}">{{short_url}}</a>
    </td>
  </tr>
{{/if}}
...                                               Handlebars template
Sweet, responsive Handlebbbars action




           http://host.sonspring.com/handlebbbars
All modern browsers support *.wo๏ฌ€ or *.ttf

@font-face {
  font-family: 'Open Sans';

         // For all good browsers, including IE9.
    src: url('../fonts/OpenSans-Regular-webfont.woff') format('woff'),

        // For older IE, and Android default browser.
        url('../fonts/OpenSans-Regular-webfont.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-weight: bold;

         // For all good browsers, including IE9.
    src: url('../fonts/OpenSans-Bold-webfont.woff') format('woff'),

        // For older IE, and Android default browser.
        url('../fonts/OpenSans-Bold-webfont.ttf') format('truetype');
}
http://fontsquirrel.com
Neatly organized *.sass                                      CSS served to browser




 http://thingsorganizedneatly.tumblr.com/post/9494864300/submission-the-compulsively-tidy-ursus-wehrli
CSS                    Sass                             Compass
      http://sonspring.com/journal/sass-for-designers
http://compass-style.org
Compass makes vendor pre๏ฌxes easy...
Compass brings sanity to gradients...
Text editors and IDEโ€™s that support Sass/SCSS syntax

         Aptana                              BBEdit                             Chocolat                              Coda
       http://aptana.org            http://barebones.com/bbedit             http://chocolatapp.com              http://panic.com/coda




     E Text Editor                          Eclipse                               Emacs                            Espresso
    http://e-texteditor.com               http://eclipse.org             http://gnu.org/software/emacs      http://macrabbit.com/espresso




           GEdit                           Komodo                              Netbeans                           PhpStorm
http://projects.gnome.org/gedit   http://activestate.com/komodo-ide           http://netbeans.org           http://jetbrains.com/phpstorm




       PyCharm                            RubyMine                           SubEthaEdit                        Sublime Text




                                                                                                                      ^
 http://jetbrains.com/pycharm         http://jetbrains.com/ruby       http://codingmonkeys.de/subethaedit    http://sublimetext.com/dev




       TextMate                                Vim                           Visual Studio
                                                                                                                         nd
   http://macromates.com                    http://vim.org             http://microsoft.com/visualstudio
                                                                                                             We ย recomme




                                                  http://sass-lang.com/editors.html
IE9 gets jQuery, other browsers get Zepto




<!--[if gt IE 9]><!-->
  <script src="zepto.js"></script>
<!--<![endif]-->
<!--[if lte IE 9]>
  <script src="jquery.js"></script>
<![endif]-->
Overview of Handlebbbarsโ€™ application.js ๏ฌle
// Redefine: $, window, document, undefined.
var APP = (function($, window, document, undefined) {

 // Expose contents of APP.
 return {
   // APP.go
   go: function() {
     // ...
   },
   // APP.init
   init: {
     // ...
   },
   // APP.util
   util: {
     // ...
   }
 }

// Parameters: Zepto/jQuery, window, document.
})(typeof Zepto === 'function' ? Zepto : jQuery, this, this.document);

                http://host.sonspring.com/handlebbbars/assets/js/application.js
Where the magic of Handlebars happens


 markup = $('#_template-list-item')
            .html()
            .replace(/ss+/g, '');

 template = Handlebars.compile(markup);



    Yes, this looks underwhelming.
    Thatโ€™s the point. Itโ€™s code you
    donโ€™t have to write yourself! :)

       http://host.sonspring.com/handlebbbars/assets/js/application.js
Private โ€œconstantโ€ variablesโ€ฆ
Application โ€œskeletonโ€ objectโ€ฆ
Nav shortcuts: J/K keys, swipe left/rightโ€ฆ
Handling โ€œstateโ€ changesโ€ฆ
Maintaining an appโ€™s state can drive you crazy




@MikeTownson dared us to use a โ€œlolcatโ€ โ€” Challenge accepted!
Pop out external links (for PhoneGap)โ€ฆ
Rudimentary caching, for one hourโ€ฆ
Ajax call (JSONP) to Dribbbleโ€™s APIโ€ฆ
PhoneGap tip: Declare โ€œsafeโ€ domains on iOS




       http://anujgakhar.com/2011/11/22/phonegap-gotcha-error-whitelist-rejection
Underscore.js is a power tool for working
with collections of objects and arraysโ€ฆ

โ€” Collections
  โ€” sortBy
  โ€” pluck
  โ€” uniq
  โ€” extend
  โ€” ๏ฌ‚atten
  โ€” each
  โ€” ๏ฌlter
  โ€” ๏ฌnd
โ€” Utility functions
  โ€” throttle
  โ€” chain
  โ€” times               and ย much ย more!
โ€œReal artists shipโ€ โ€” Steve Jobs




Hopefully we have inspired you to create
more rapidly shippable software today :)
Want to reread something?
You can get the slides here:

http://j.mp/web-skills
Questions?
  We (might) have answers.

If you think of something later,
 feel free to ask us on Twitterโ€ฆ

     @mbxtr & @nathansmith

More Related Content

What's hot

Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standardsgleddy
ย 
Web Standards: Fueling Innovation [Web Design World Boston '08]
Web Standards: Fueling Innovation [Web Design World Boston '08]Web Standards: Fueling Innovation [Web Design World Boston '08]
Web Standards: Fueling Innovation [Web Design World Boston '08]Aaron Gustafson
ย 
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013Sencha Touch e PhoneGap: SouJava - IBM Maio 2013
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013Loiane Groner
ย 
Mozilla Firefox Extension Development, Course 1: Basic
Mozilla Firefox Extension Development, Course 1: BasicMozilla Firefox Extension Development, Course 1: Basic
Mozilla Firefox Extension Development, Course 1: Basiclittlebtc
ย 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
ย 
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Patrick Meenan
ย 
JD17NL Joomla! Overrides and alternate layouts
JD17NL Joomla! Overrides and alternate layoutsJD17NL Joomla! Overrides and alternate layouts
JD17NL Joomla! Overrides and alternate layoutsHans Kuijpers
ย 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive WebsitesJoe Seifi
ย 
Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Andreas Bovens
ย 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walkJens-Christian Fischer
ย 
State of jQuery '09
State of jQuery '09State of jQuery '09
State of jQuery '09jeresig
ย 
Wordcamp abq cf-cpt
Wordcamp abq cf-cptWordcamp abq cf-cpt
Wordcamp abq cf-cptmy easel
ย 
Prebrowsing - Velocity NY 2013
Prebrowsing - Velocity NY 2013Prebrowsing - Velocity NY 2013
Prebrowsing - Velocity NY 2013Steve Souders
ย 
WordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
WordCamp ABQ 2013: Making the leap from Designer to Designer/DeveloperWordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
WordCamp ABQ 2013: Making the leap from Designer to Designer/Developermy easel
ย 
Learning from the Best jQuery Plugins
Learning from the Best jQuery PluginsLearning from the Best jQuery Plugins
Learning from the Best jQuery PluginsMarc Grabanski
ย 
HTML5@็”ตๅญๅ•†ๅŠก.com
HTML5@็”ตๅญๅ•†ๅŠก.comHTML5@็”ตๅญๅ•†ๅŠก.com
HTML5@็”ตๅญๅ•†ๅŠก.comkaven yan
ย 
WordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPWordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPandrewnacin
ย 
Death of a Themer
Death of a ThemerDeath of a Themer
Death of a ThemerJames Panton
ย 
Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!Hans Kuijpers
ย 
CSS in React
CSS in ReactCSS in React
CSS in ReactJoe Seifi
ย 

What's hot (20)

Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
ย 
Web Standards: Fueling Innovation [Web Design World Boston '08]
Web Standards: Fueling Innovation [Web Design World Boston '08]Web Standards: Fueling Innovation [Web Design World Boston '08]
Web Standards: Fueling Innovation [Web Design World Boston '08]
ย 
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013Sencha Touch e PhoneGap: SouJava - IBM Maio 2013
Sencha Touch e PhoneGap: SouJava - IBM Maio 2013
ย 
Mozilla Firefox Extension Development, Course 1: Basic
Mozilla Firefox Extension Development, Course 1: BasicMozilla Firefox Extension Development, Course 1: Basic
Mozilla Firefox Extension Development, Course 1: Basic
ย 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
ย 
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
ย 
JD17NL Joomla! Overrides and alternate layouts
JD17NL Joomla! Overrides and alternate layoutsJD17NL Joomla! Overrides and alternate layouts
JD17NL Joomla! Overrides and alternate layouts
ย 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive Websites
ย 
Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...
ย 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
ย 
State of jQuery '09
State of jQuery '09State of jQuery '09
State of jQuery '09
ย 
Wordcamp abq cf-cpt
Wordcamp abq cf-cptWordcamp abq cf-cpt
Wordcamp abq cf-cpt
ย 
Prebrowsing - Velocity NY 2013
Prebrowsing - Velocity NY 2013Prebrowsing - Velocity NY 2013
Prebrowsing - Velocity NY 2013
ย 
WordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
WordCamp ABQ 2013: Making the leap from Designer to Designer/DeveloperWordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
WordCamp ABQ 2013: Making the leap from Designer to Designer/Developer
ย 
Learning from the Best jQuery Plugins
Learning from the Best jQuery PluginsLearning from the Best jQuery Plugins
Learning from the Best jQuery Plugins
ย 
HTML5@็”ตๅญๅ•†ๅŠก.com
HTML5@็”ตๅญๅ•†ๅŠก.comHTML5@็”ตๅญๅ•†ๅŠก.com
HTML5@็”ตๅญๅ•†ๅŠก.com
ย 
WordPress 3.0 at DC PHP
WordPress 3.0 at DC PHPWordPress 3.0 at DC PHP
WordPress 3.0 at DC PHP
ย 
Death of a Themer
Death of a ThemerDeath of a Themer
Death of a Themer
ย 
Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!
ย 
CSS in React
CSS in ReactCSS in React
CSS in React
ย 

Viewers also liked

Basic Creating Virtual Reality with HDR Panoramic Photography Technique - Day...
Basic Creating Virtual Reality with HDR Panoramic Photography Technique - Day...Basic Creating Virtual Reality with HDR Panoramic Photography Technique - Day...
Basic Creating Virtual Reality with HDR Panoramic Photography Technique - Day...Rachabodin Suwannakanthi
ย 
AR-in-VET
AR-in-VETAR-in-VET
AR-in-VETSimon Brown
ย 
DB2 10 Webcast #1 - Overview And Migration Planning
DB2 10 Webcast #1 - Overview And Migration PlanningDB2 10 Webcast #1 - Overview And Migration Planning
DB2 10 Webcast #1 - Overview And Migration PlanningLaura Hood
ย 
Event4u company profile 2012
Event4u company profile 2012Event4u company profile 2012
Event4u company profile 2012Praveen Singh
ย 
Organic Farming for Bees - The Xerces Society
Organic Farming for Bees - The Xerces SocietyOrganic Farming for Bees - The Xerces Society
Organic Farming for Bees - The Xerces Societyx3G9
ย 
Apwg trends report_q1_2016
Apwg trends report_q1_2016Apwg trends report_q1_2016
Apwg trends report_q1_2016Andrey Apuhtin
ย 
xy-ar.ch cert. de travail
xy-ar.ch cert. de travailxy-ar.ch cert. de travail
xy-ar.ch cert. de travailMike Jones
ย 
Manual lubricantes romao istprs
Manual lubricantes romao istprsManual lubricantes romao istprs
Manual lubricantes romao istprsRomao Alleri Cruz
ย 
Mujeres Libres Spanish Writers Women4353
Mujeres Libres Spanish Writers Women4353Mujeres Libres Spanish Writers Women4353
Mujeres Libres Spanish Writers Women4353Gloria Osuna Velasco
ย 
Long Run Drivers of Current Account Imbalances: the role of trade openness
Long Run Drivers of Current Account Imbalances: the role of trade opennessLong Run Drivers of Current Account Imbalances: the role of trade openness
Long Run Drivers of Current Account Imbalances: the role of trade opennessGiuseppe Caivano
ย 
Research on it products
Research on it productsResearch on it products
Research on it productsKamran Arshad
ย 
Cรณmo ha evolucionado y quรฉ obstรกculos deben superar las Comunicaciones Unific...
Cรณmo ha evolucionado y quรฉ obstรกculos deben superar las Comunicaciones Unific...Cรณmo ha evolucionado y quรฉ obstรกculos deben superar las Comunicaciones Unific...
Cรณmo ha evolucionado y quรฉ obstรกculos deben superar las Comunicaciones Unific...Mundo Contact
ย 
4 s313 pvcf
4 s313 pvcf4 s313 pvcf
4 s313 pvcfMaria Hidalgo
ย 
See3 at Civi User Group at 10NTC
See3 at Civi User Group at 10NTCSee3 at Civi User Group at 10NTC
See3 at Civi User Group at 10NTCSee3 Communications
ย 
La estrategia PPC dentro del plan de marketing global.
La estrategia PPC dentro del plan de marketing global.La estrategia PPC dentro del plan de marketing global.
La estrategia PPC dentro del plan de marketing global.Semmantica
ย 
Anรกlisis de programas infantiles
Anรกlisis de programas infantilesAnรกlisis de programas infantiles
Anรกlisis de programas infantileskaren2714
ย 
SEOGuardian - Ecommerce Muebles - segmento Colchones en Espaรฑa - Actualizaciรณn
SEOGuardian - Ecommerce Muebles - segmento Colchones en Espaรฑa - ActualizaciรณnSEOGuardian - Ecommerce Muebles - segmento Colchones en Espaรฑa - Actualizaciรณn
SEOGuardian - Ecommerce Muebles - segmento Colchones en Espaรฑa - ActualizaciรณnBint
ย 

Viewers also liked (20)

Basic Creating Virtual Reality with HDR Panoramic Photography Technique - Day...
Basic Creating Virtual Reality with HDR Panoramic Photography Technique - Day...Basic Creating Virtual Reality with HDR Panoramic Photography Technique - Day...
Basic Creating Virtual Reality with HDR Panoramic Photography Technique - Day...
ย 
Lectura de apoyo evaluaciรณn del servicio
Lectura de apoyo evaluaciรณn del servicioLectura de apoyo evaluaciรณn del servicio
Lectura de apoyo evaluaciรณn del servicio
ย 
AR-in-VET
AR-in-VETAR-in-VET
AR-in-VET
ย 
Web como estrategia online
Web como estrategia onlineWeb como estrategia online
Web como estrategia online
ย 
DB2 10 Webcast #1 - Overview And Migration Planning
DB2 10 Webcast #1 - Overview And Migration PlanningDB2 10 Webcast #1 - Overview And Migration Planning
DB2 10 Webcast #1 - Overview And Migration Planning
ย 
Diari del 13 de gener de 2013
Diari del 13 de gener de 2013Diari del 13 de gener de 2013
Diari del 13 de gener de 2013
ย 
Event4u company profile 2012
Event4u company profile 2012Event4u company profile 2012
Event4u company profile 2012
ย 
Organic Farming for Bees - The Xerces Society
Organic Farming for Bees - The Xerces SocietyOrganic Farming for Bees - The Xerces Society
Organic Farming for Bees - The Xerces Society
ย 
Apwg trends report_q1_2016
Apwg trends report_q1_2016Apwg trends report_q1_2016
Apwg trends report_q1_2016
ย 
xy-ar.ch cert. de travail
xy-ar.ch cert. de travailxy-ar.ch cert. de travail
xy-ar.ch cert. de travail
ย 
Manual lubricantes romao istprs
Manual lubricantes romao istprsManual lubricantes romao istprs
Manual lubricantes romao istprs
ย 
Mujeres Libres Spanish Writers Women4353
Mujeres Libres Spanish Writers Women4353Mujeres Libres Spanish Writers Women4353
Mujeres Libres Spanish Writers Women4353
ย 
Long Run Drivers of Current Account Imbalances: the role of trade openness
Long Run Drivers of Current Account Imbalances: the role of trade opennessLong Run Drivers of Current Account Imbalances: the role of trade openness
Long Run Drivers of Current Account Imbalances: the role of trade openness
ย 
Research on it products
Research on it productsResearch on it products
Research on it products
ย 
Cรณmo ha evolucionado y quรฉ obstรกculos deben superar las Comunicaciones Unific...
Cรณmo ha evolucionado y quรฉ obstรกculos deben superar las Comunicaciones Unific...Cรณmo ha evolucionado y quรฉ obstรกculos deben superar las Comunicaciones Unific...
Cรณmo ha evolucionado y quรฉ obstรกculos deben superar las Comunicaciones Unific...
ย 
4 s313 pvcf
4 s313 pvcf4 s313 pvcf
4 s313 pvcf
ย 
See3 at Civi User Group at 10NTC
See3 at Civi User Group at 10NTCSee3 at Civi User Group at 10NTC
See3 at Civi User Group at 10NTC
ย 
La estrategia PPC dentro del plan de marketing global.
La estrategia PPC dentro del plan de marketing global.La estrategia PPC dentro del plan de marketing global.
La estrategia PPC dentro del plan de marketing global.
ย 
Anรกlisis de programas infantiles
Anรกlisis de programas infantilesAnรกlisis de programas infantiles
Anรกlisis de programas infantiles
ย 
SEOGuardian - Ecommerce Muebles - segmento Colchones en Espaรฑa - Actualizaciรณn
SEOGuardian - Ecommerce Muebles - segmento Colchones en Espaรฑa - ActualizaciรณnSEOGuardian - Ecommerce Muebles - segmento Colchones en Espaรฑa - Actualizaciรณn
SEOGuardian - Ecommerce Muebles - segmento Colchones en Espaรฑa - Actualizaciรณn
ย 

Similar to Use Web Skills To Build Mobile Apps

Get Ahead with HTML5 on Moible
Get Ahead with HTML5 on MoibleGet Ahead with HTML5 on Moible
Get Ahead with HTML5 on Moiblemarkuskobler
ย 
Responsive SharePoint
Responsive SharePointResponsive SharePoint
Responsive SharePointKevin DeRudder
ย 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5Nathan Smith
ย 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
ย 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack InterfacesChristian Heilmann
ย 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers dssprakash
ย 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX DesignersAshlimarie
ย 
Creating Yahoo Mobile Widgets
Creating Yahoo Mobile WidgetsCreating Yahoo Mobile Widgets
Creating Yahoo Mobile WidgetsRicardo Varela
ย 
Familiar HTML5 - ไบ‹ไพ‹ใจใ‚ตใƒณใƒ—ใƒซใ‚ณใƒผใƒ‰ใ‹ใ‚‰ๅญฆใถ ่บซ่ฟ‘ใงๆ™ฎ้€šใซไฝฟใ‚ใฆใ„ใ‚‹HTML5
Familiar HTML5 - ไบ‹ไพ‹ใจใ‚ตใƒณใƒ—ใƒซใ‚ณใƒผใƒ‰ใ‹ใ‚‰ๅญฆใถ ่บซ่ฟ‘ใงๆ™ฎ้€šใซไฝฟใ‚ใฆใ„ใ‚‹HTML5Familiar HTML5 - ไบ‹ไพ‹ใจใ‚ตใƒณใƒ—ใƒซใ‚ณใƒผใƒ‰ใ‹ใ‚‰ๅญฆใถ ่บซ่ฟ‘ใงๆ™ฎ้€šใซไฝฟใ‚ใฆใ„ใ‚‹HTML5
Familiar HTML5 - ไบ‹ไพ‹ใจใ‚ตใƒณใƒ—ใƒซใ‚ณใƒผใƒ‰ใ‹ใ‚‰ๅญฆใถ ่บซ่ฟ‘ใงๆ™ฎ้€šใซไฝฟใ‚ใฆใ„ใ‚‹HTML5Sadaaki HIRAI
ย 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web DesignChristopher Schmitt
ย 
From Idea to App (or โ€œHow we roll at Small Town Heroesโ€)
From Idea to App (or โ€œHow we roll at Small Town Heroesโ€)From Idea to App (or โ€œHow we roll at Small Town Heroesโ€)
From Idea to App (or โ€œHow we roll at Small Town Heroesโ€)Bramus Van Damme
ย 
IBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for MobileIBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for MobileChris Toohey
ย 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devicesTerry Ryan
ย 
State of modern web technologies: an introduction
State of modern web technologies: an introductionState of modern web technologies: an introduction
State of modern web technologies: an introductionMichael Ahearn
ย 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkSt. Petersburg College
ย 
Client Building Functional webapps.
Client   Building Functional webapps.Client   Building Functional webapps.
Client Building Functional webapps.Arun Kumar
ย 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
ย 
It is not HTML5. but ... / HTML5ใงใฏใชใ„ใ‚ตใ‚คใƒˆใ‹ใ‚‰HTML5ใ‚’่€ƒใˆใ‚‹
It is not HTML5. but ... / HTML5ใงใฏใชใ„ใ‚ตใ‚คใƒˆใ‹ใ‚‰HTML5ใ‚’่€ƒใˆใ‚‹It is not HTML5. but ... / HTML5ใงใฏใชใ„ใ‚ตใ‚คใƒˆใ‹ใ‚‰HTML5ใ‚’่€ƒใˆใ‚‹
It is not HTML5. but ... / HTML5ใงใฏใชใ„ใ‚ตใ‚คใƒˆใ‹ใ‚‰HTML5ใ‚’่€ƒใˆใ‚‹Sadaaki HIRAI
ย 
RESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web DesignRESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web DesignDave Olsen
ย 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application developmentzonathen
ย 

Similar to Use Web Skills To Build Mobile Apps (20)

Get Ahead with HTML5 on Moible
Get Ahead with HTML5 on MoibleGet Ahead with HTML5 on Moible
Get Ahead with HTML5 on Moible
ย 
Responsive SharePoint
Responsive SharePointResponsive SharePoint
Responsive SharePoint
ย 
Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
ย 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
ย 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
ย 
phonegap with angular js for freshers
phonegap with angular js for freshers    phonegap with angular js for freshers
phonegap with angular js for freshers
ย 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
ย 
Creating Yahoo Mobile Widgets
Creating Yahoo Mobile WidgetsCreating Yahoo Mobile Widgets
Creating Yahoo Mobile Widgets
ย 
Familiar HTML5 - ไบ‹ไพ‹ใจใ‚ตใƒณใƒ—ใƒซใ‚ณใƒผใƒ‰ใ‹ใ‚‰ๅญฆใถ ่บซ่ฟ‘ใงๆ™ฎ้€šใซไฝฟใ‚ใฆใ„ใ‚‹HTML5
Familiar HTML5 - ไบ‹ไพ‹ใจใ‚ตใƒณใƒ—ใƒซใ‚ณใƒผใƒ‰ใ‹ใ‚‰ๅญฆใถ ่บซ่ฟ‘ใงๆ™ฎ้€šใซไฝฟใ‚ใฆใ„ใ‚‹HTML5Familiar HTML5 - ไบ‹ไพ‹ใจใ‚ตใƒณใƒ—ใƒซใ‚ณใƒผใƒ‰ใ‹ใ‚‰ๅญฆใถ ่บซ่ฟ‘ใงๆ™ฎ้€šใซไฝฟใ‚ใฆใ„ใ‚‹HTML5
Familiar HTML5 - ไบ‹ไพ‹ใจใ‚ตใƒณใƒ—ใƒซใ‚ณใƒผใƒ‰ใ‹ใ‚‰ๅญฆใถ ่บซ่ฟ‘ใงๆ™ฎ้€šใซไฝฟใ‚ใฆใ„ใ‚‹HTML5
ย 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
ย 
From Idea to App (or โ€œHow we roll at Small Town Heroesโ€)
From Idea to App (or โ€œHow we roll at Small Town Heroesโ€)From Idea to App (or โ€œHow we roll at Small Town Heroesโ€)
From Idea to App (or โ€œHow we roll at Small Town Heroesโ€)
ย 
IBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for MobileIBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for Mobile
ย 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
ย 
State of modern web technologies: an introduction
State of modern web technologies: an introductionState of modern web technologies: an introduction
State of modern web technologies: an introduction
ย 
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
ย 
Client Building Functional webapps.
Client   Building Functional webapps.Client   Building Functional webapps.
Client Building Functional webapps.
ย 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
ย 
It is not HTML5. but ... / HTML5ใงใฏใชใ„ใ‚ตใ‚คใƒˆใ‹ใ‚‰HTML5ใ‚’่€ƒใˆใ‚‹
It is not HTML5. but ... / HTML5ใงใฏใชใ„ใ‚ตใ‚คใƒˆใ‹ใ‚‰HTML5ใ‚’่€ƒใˆใ‚‹It is not HTML5. but ... / HTML5ใงใฏใชใ„ใ‚ตใ‚คใƒˆใ‹ใ‚‰HTML5ใ‚’่€ƒใˆใ‚‹
It is not HTML5. but ... / HTML5ใงใฏใชใ„ใ‚ตใ‚คใƒˆใ‹ใ‚‰HTML5ใ‚’่€ƒใˆใ‚‹
ย 
RESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web DesignRESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web Design
ย 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
ย 

More from Nathan Smith

Getting Started with React
Getting Started with ReactGetting Started with React
Getting Started with ReactNathan Smith
ย 
Rapid Templating with Serve
Rapid Templating with ServeRapid Templating with Serve
Rapid Templating with ServeNathan Smith
ย 
Proactive Responsive Design
Proactive Responsive DesignProactive Responsive Design
Proactive Responsive DesignNathan Smith
ย 
Red Dirt JS
Red Dirt JSRed Dirt JS
Red Dirt JSNathan Smith
ย 
Refresh OKC
Refresh OKCRefresh OKC
Refresh OKCNathan Smith
ย 
DrupalCon jQuery
DrupalCon jQueryDrupalCon jQuery
DrupalCon jQueryNathan Smith
ย 
DSVC Design Talk
DSVC Design TalkDSVC Design Talk
DSVC Design TalkNathan Smith
ย 
Think Vitamin CSS
Think Vitamin CSSThink Vitamin CSS
Think Vitamin CSSNathan Smith
ย 
Adobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksAdobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksNathan Smith
ย 
Meet Clumsy
Meet ClumsyMeet Clumsy
Meet ClumsyNathan Smith
ย 
Accelerated Grid Theming
Accelerated Grid ThemingAccelerated Grid Theming
Accelerated Grid ThemingNathan Smith
ย 
Urban Leadership Slides
Urban Leadership SlidesUrban Leadership Slides
Urban Leadership SlidesNathan Smith
ย 
Themes from Ascent of a Leader
Themes from Ascent of a LeaderThemes from Ascent of a Leader
Themes from Ascent of a LeaderNathan Smith
ย 
7 Storey Mountain
7 Storey Mountain7 Storey Mountain
7 Storey MountainNathan Smith
ย 
Marketing 450 Guest Lecture
Marketing 450 Guest LectureMarketing 450 Guest Lecture
Marketing 450 Guest LectureNathan Smith
ย 
Fundamental Design Principles
Fundamental Design PrinciplesFundamental Design Principles
Fundamental Design PrinciplesNathan Smith
ย 
Striking a Balance: Middle Ground in Front-End Development
Striking a Balance: Middle Ground in Front-End DevelopmentStriking a Balance: Middle Ground in Front-End Development
Striking a Balance: Middle Ground in Front-End DevelopmentNathan Smith
ย 
Echo Conference 2008
Echo Conference 2008Echo Conference 2008
Echo Conference 2008Nathan Smith
ย 
Bible Tech 2008
Bible Tech 2008Bible Tech 2008
Bible Tech 2008Nathan Smith
ย 
Gospelcon 2006
Gospelcon 2006Gospelcon 2006
Gospelcon 2006Nathan Smith
ย 

More from Nathan Smith (20)

Getting Started with React
Getting Started with ReactGetting Started with React
Getting Started with React
ย 
Rapid Templating with Serve
Rapid Templating with ServeRapid Templating with Serve
Rapid Templating with Serve
ย 
Proactive Responsive Design
Proactive Responsive DesignProactive Responsive Design
Proactive Responsive Design
ย 
Red Dirt JS
Red Dirt JSRed Dirt JS
Red Dirt JS
ย 
Refresh OKC
Refresh OKCRefresh OKC
Refresh OKC
ย 
DrupalCon jQuery
DrupalCon jQueryDrupalCon jQuery
DrupalCon jQuery
ย 
DSVC Design Talk
DSVC Design TalkDSVC Design Talk
DSVC Design Talk
ย 
Think Vitamin CSS
Think Vitamin CSSThink Vitamin CSS
Think Vitamin CSS
ย 
Adobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + FireworksAdobe MAX 2008: HTML/CSS + Fireworks
Adobe MAX 2008: HTML/CSS + Fireworks
ย 
Meet Clumsy
Meet ClumsyMeet Clumsy
Meet Clumsy
ย 
Accelerated Grid Theming
Accelerated Grid ThemingAccelerated Grid Theming
Accelerated Grid Theming
ย 
Urban Leadership Slides
Urban Leadership SlidesUrban Leadership Slides
Urban Leadership Slides
ย 
Themes from Ascent of a Leader
Themes from Ascent of a LeaderThemes from Ascent of a Leader
Themes from Ascent of a Leader
ย 
7 Storey Mountain
7 Storey Mountain7 Storey Mountain
7 Storey Mountain
ย 
Marketing 450 Guest Lecture
Marketing 450 Guest LectureMarketing 450 Guest Lecture
Marketing 450 Guest Lecture
ย 
Fundamental Design Principles
Fundamental Design PrinciplesFundamental Design Principles
Fundamental Design Principles
ย 
Striking a Balance: Middle Ground in Front-End Development
Striking a Balance: Middle Ground in Front-End DevelopmentStriking a Balance: Middle Ground in Front-End Development
Striking a Balance: Middle Ground in Front-End Development
ย 
Echo Conference 2008
Echo Conference 2008Echo Conference 2008
Echo Conference 2008
ย 
Bible Tech 2008
Bible Tech 2008Bible Tech 2008
Bible Tech 2008
ย 
Gospelcon 2006
Gospelcon 2006Gospelcon 2006
Gospelcon 2006
ย 

Recently uploaded

Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Delhi Call girls
ย 
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...RitikaRoy32
ย 
Stark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptxStark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptxjeswinjees
ย 
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...SUHANI PANDEY
ย 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...Call Girls in Nagpur High Profile
ย 
Call Girls Basavanagudi Just Call ๐Ÿ‘— 7737669865 ๐Ÿ‘— Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call ๐Ÿ‘— 7737669865 ๐Ÿ‘— Top Class Call Girl Service ...Call Girls Basavanagudi Just Call ๐Ÿ‘— 7737669865 ๐Ÿ‘— Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call ๐Ÿ‘— 7737669865 ๐Ÿ‘— Top Class Call Girl Service ...amitlee9823
ย 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdftbatkhuu1
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kalyanpur Lucknow best Female service ๐Ÿงต
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kalyanpur Lucknow best Female service  ๐ŸงตCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kalyanpur Lucknow best Female service  ๐Ÿงต
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kalyanpur Lucknow best Female service ๐Ÿงตanilsa9823
ย 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...Pooja Nehwal
ย 
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...Call Girls in Nagpur High Profile
ย 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...babafaisel
ย 
๐Ÿ’ซโœ…jodhpur 24ร—7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
๐Ÿ’ซโœ…jodhpur 24ร—7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...๐Ÿ’ซโœ…jodhpur 24ร—7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
๐Ÿ’ซโœ…jodhpur 24ร—7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...sonalitrivedi431
ย 
Design Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxDesign Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxTusharBahuguna2
ย 
Government polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdGovernment polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdshivubhavv
ย 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation decktbatkhuu1
ย 
Verified Trusted Call Girls Adugodi๐Ÿ’˜ 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi๐Ÿ’˜ 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi๐Ÿ’˜ 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi๐Ÿ’˜ 9352852248 Good Looking standard Profil...kumaririma588
ย 
Tapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the FunnelTapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the Funneljen_giacalone
ย 
Top Rated Pune Call Girls Saswad โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
ย 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxjanettecruzeiro1
ย 

Recently uploaded (20)

Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
ย 
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
ย 
Stark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptxStark Industries Marketing Plan (1).pptx
Stark Industries Marketing Plan (1).pptx
ย 
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
ย 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
ย 
Call Girls Basavanagudi Just Call ๐Ÿ‘— 7737669865 ๐Ÿ‘— Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call ๐Ÿ‘— 7737669865 ๐Ÿ‘— Top Class Call Girl Service ...Call Girls Basavanagudi Just Call ๐Ÿ‘— 7737669865 ๐Ÿ‘— Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call ๐Ÿ‘— 7737669865 ๐Ÿ‘— Top Class Call Girl Service ...
ย 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kalyanpur Lucknow best Female service ๐Ÿงต
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kalyanpur Lucknow best Female service  ๐ŸงตCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kalyanpur Lucknow best Female service  ๐Ÿงต
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kalyanpur Lucknow best Female service ๐Ÿงต
ย 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Gi...
ย 
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
ย 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
ย 
๐Ÿ’ซโœ…jodhpur 24ร—7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
๐Ÿ’ซโœ…jodhpur 24ร—7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...๐Ÿ’ซโœ…jodhpur 24ร—7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
๐Ÿ’ซโœ…jodhpur 24ร—7 BEST GENUINE PERSON LOW PRICE CALL GIRL SERVICE FULL SATISFACT...
ย 
Design Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxDesign Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptx
ย 
young call girls in Pandav nagar ๐Ÿ” 9953056974 ๐Ÿ” Delhi escort Service
young call girls in Pandav nagar ๐Ÿ” 9953056974 ๐Ÿ” Delhi escort Serviceyoung call girls in Pandav nagar ๐Ÿ” 9953056974 ๐Ÿ” Delhi escort Service
young call girls in Pandav nagar ๐Ÿ” 9953056974 ๐Ÿ” Delhi escort Service
ย 
Government polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcdGovernment polytechnic college-1.pptxabcd
Government polytechnic college-1.pptxabcd
ย 
Peaches App development presentation deck
Peaches App development presentation deckPeaches App development presentation deck
Peaches App development presentation deck
ย 
Verified Trusted Call Girls Adugodi๐Ÿ’˜ 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi๐Ÿ’˜ 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi๐Ÿ’˜ 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi๐Ÿ’˜ 9352852248 Good Looking standard Profil...
ย 
Tapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the FunnelTapestry Clothing Brands: Collapsing the Funnel
Tapestry Clothing Brands: Collapsing the Funnel
ย 
Top Rated Pune Call Girls Saswad โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Serv...
ย 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
ย 

Use Web Skills To Build Mobile Apps

  • 1. Use Web Skills To Build Mobile Apps with Matt Baxter & Nathan Smith SATURDAY โ€” JUNE 2, 2012 โ€” DALLAS, TX http://bigdesignevents.com
  • 2. Put down that pen! (or not) You can get the slides here: http://j.mp/web-skills
  • 4. We do mobile/web UX & JavaScript at @mbxtr & @nathansmith (In case you want to talk smack on Twitter) http://projekt202.com
  • 5. An urgent (not desperate) announcement Weโ€™re hiring JavaScript savvy developers to join our team at projekt202. (You can talk to us after the presentation) http://projekt202.com
  • 7. State of mobile in 2007 โ€” The year the iPhone was introduced http://๏ฌ‚ickr.com/photos/djwudi/382030798
  • 8. Handset design was quite diverse โ€œway back when.โ€ Industrial designers were still (awkwardly) searching for the best form factorโ€ฆ
  • 10. Technology is cyclical. Good ideas are often โ€œborrowedโ€ and make their way to products from multiple vendors. http://engadget.com/photos/hp-envy-15-vs-the-macbook-pro
  • 11. The state of mobile in 2012 โ€” Touch screens reign supreme
  • 12. Not everyone can rock the giant cell phone foreverโ€ฆ http://hulu.com/watch/76560/late-night-with-jimmy-fallon-saved-by-the-bell-reunion-update-3
  • 13. <old-man-voice> Nowadays, itโ€™s more about the software on the device. </old-man-voice>
  • 14. Each day, on planet Earthโ€ฆ 317,124 newborns begin life 1,450,000 mobile devices activated http://lukew.com/๏ฌ€/entry.asp?1506
  • 15. The one thing all these phones have in common (besides Angry Birds) is they all have decent web browsers. http://paulirish.com/2010/high-res-browser-icons
  • 16. โ€œObama orders agencies to optimize Web content for mobileโ€ฆโ€ http://๏ฌ‚ickr.com/photos/whitehouse/7161178504
  • 18. Mobile web trivia timeโ€ฆ โ€” PhoneGap on Windows Phone uses the IE9 engine (it is pretty good) โ€” WebKit is the dominant rendering engine across most mobile devices โ€” iOS, Android, Blackberry, webOS โ€” Blackberry has one of the best WebKit-based browsers available
  • 19. So, what should I build? [A] Desktop web app [B] Mobile web app [C] Mobile native app
  • 20. [D] All of the above Note: Weโ€™re not saying you have to build all-in-oneโ€ฆ But it is possible.
  • 21. Whither Responsive Web Design? Responsive web design using @media queries (with one codebase for all devices) typically works best for web โ€œsitesโ€ (not apps). As a general rule of thumb, if your content can be read via RSS and still make sense, it is a good candidate for RWD. http://alistapart.com/articles/responsive-web-design
  • 22. Bene๏ฌts of native development โ€” Default OS look & feel (UI conventions) โ€” Performance (โ€œcloser to the metalโ€) โ€” Access to device hardware (GPS, etc) โ€” App store/marketplace distribution โ€” Bene๏ฌt from latest OS enhancements
  • 23. Drawbacks of native development โ€” Tied to the particular OS you built for โ€” Maintaining a multi OS team/skill-set โ€” Dealing with app store approval process โ€” Keeping app in sync with OS updates
  • 24. LinkedInโ€™s iPad app is 95% HTML5 We did users studies in-house, and I donโ€™t think people noticed a big di๏ฌ€erence. Nobody said, โ€œOh thatโ€™s native,โ€ or โ€œOh, thatโ€™s web.โ€ As long as we can make the experience fast enough, nobody can tell the di๏ฌ€erence. It still feels right. โ€” Kiran Prasad http://venturebeat.com/2012/05/02/linkedin-ipad-app-engineering
  • 25. Bene๏ฌts of hybrid development โ€” Common codebase for multiple OSโ€™s โ€” Access to device hardware (GPS, etc) โ€” App store/marketplace distribution โ€” Skills you already have (HTML, CSS, JS) โ€” Potential code reuse in web site/app
  • 26. Drawbacks of hybrid development โ€” Build for lowest common denominator โ€” 3rd party SDKโ€™s might lag behind OS โ€” Want to use feature X? Wait for an implementation in abstraction layer. โ€” An abstraction layer can have bugs of its own. Have to determine if a bug is in your code, the abstraction layer, or OS.
  • 27. Titanium from Appcelerator http://appcelerator.com/platform
  • 28.
  • 29. Areas where Titanium shines โ€” Native UI โ€” Great for iOS, crapshoot on Android โ€” Build for iOS, Android, and Blackberry โ€” Some code reuse across platforms โ€” Entirely JavaScript based โ€” Uses CommonJSโ€™s AMD approach โ€” Except for WebView (HTML/CSS too)
  • 31. Abstraction layers tend to be harder to debug than โ€œnativeโ€ languages โ€” Objective-C, C#, or Java โ€” whilst using an IDE such as Visual Studio, Xcode, or Eclipse. With โ€œthe web,โ€ you have familiar browser-based desktop tools in Chrome, Firebug, or Opera Dragon๏ฌ‚y.
  • 32. PhoneGap from Adobe http://phonegap.com
  • 33.
  • 34. Areas where PhoneGap shines โ€” It is โ€œthe web you already knowโ€ โ€” Debugging via desktop browser โ€” Access to device APIโ€™s (GPS, etc) โ€” Strives to implement W3C specs โ€” Camera API, etc. โ€” Supports Windows Phone 7, too
  • 35.
  • 37. How PhoneGap works โ€” It embeds a WebView in a native app โ€” Native app gives access to OS APIโ€™s โ€”ย All the UI is built via HTML/CSS โ€” JavaScript handles everything else โ€”ย The app wrapper compiles viaโ€ฆ Xcode, Eclipse, Visual Studio, or โ€œthe cloudโ€ โ†’ build.phonegap.com
  • 38.
  • 39. Handlebbbars demo of Handlebars.js and the Dribbble API http://host.sonspring.com/handlebbbars
  • 40.
  • 44. <script type="text/x-handlebars" id="_template-list-item"> {{#each shots}} <li> <p> <b class="big"> {{title}} </b> <img alt="{{title}}" class="frame" style="background-image:url({{image_url}})" src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAEklEQVQIHWP8//8/AzJgJCg AAB+ICPuLaDnAAAAAAElFTkSuQmCC" /> </p> <table> <tr> <th> Designer: </th> <td> <b>{{player.name}}</b> </td> </tr> {{#if player.twitter_screen_name}} ... {{/if}} {{#if likes_count}} ... {{/if}} {{#if short_url}} ... {{/if}} </table> </li> {{/each}} </script> Handlebars template
  • 45. <script type="text/x-handlebars" id="_template-list-item"> {{#each shots}} <li> <p> <b class="big"> {{title}} </b> <img alt="{{title}}" class="frame" style="background-image:url({{image_url}})" src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAEklEQVQIHWP8//8/AzJgJCg AAB+ICPuLaDnAAAAAAElFTkSuQmCC" /> </p> <table> <tr> <th> Designer: </th> <td> <b>{{player.name}}</b> </td> </tr> {{#if player.twitter_screen_name}} ... {{/if}} {{#if likes_count}} ... {{/if}} {{#if short_url}} ... {{/if}} </table> </li> {{/each}} </script> Handlebars template
  • 46. ... {{#if player.twitter_screen_name}} <tr> <th> Twitter: </th> <td> <a href="http://twitter.com/{{player.twitter_screen_name}}"> @{{player.twitter_screen_name}} </a> </td> </tr> {{/if}} {{#if likes_count}} <tr> <th> Likes: </th> <td> {{likes_count}} <span class="mute">&hearts;</span> </td> </tr> {{/if}} {{#if short_url}} <tr> <th> URL: </th> <td> <a href="{{short_url}}">{{short_url}}</a> </td> </tr> {{/if}} ... Handlebars template
  • 47. ... {{#if player.twitter_screen_name}} <tr> <th> Twitter: </th> <td> <a href="http://twitter.com/{{player.twitter_screen_name}}"> @{{player.twitter_screen_name}} </a> </td> </tr> {{/if}} {{#if likes_count}} <tr> <th> Likes: </th> <td> {{likes_count}} <span class="mute">&hearts;</span> </td> </tr> {{/if}} {{#if short_url}} <tr> <th> URL: </th> <td> <a href="{{short_url}}">{{short_url}}</a> </td> </tr> {{/if}} ... Handlebars template
  • 48. Sweet, responsive Handlebbbars action http://host.sonspring.com/handlebbbars
  • 49. All modern browsers support *.wo๏ฌ€ or *.ttf @font-face { font-family: 'Open Sans'; // For all good browsers, including IE9. src: url('../fonts/OpenSans-Regular-webfont.woff') format('woff'), // For older IE, and Android default browser. url('../fonts/OpenSans-Regular-webfont.ttf') format('truetype'); } @font-face { font-family: 'Open Sans'; font-weight: bold; // For all good browsers, including IE9. src: url('../fonts/OpenSans-Bold-webfont.woff') format('woff'), // For older IE, and Android default browser. url('../fonts/OpenSans-Bold-webfont.ttf') format('truetype'); }
  • 51. Neatly organized *.sass CSS served to browser http://thingsorganizedneatly.tumblr.com/post/9494864300/submission-the-compulsively-tidy-ursus-wehrli
  • 52. CSS Sass Compass http://sonspring.com/journal/sass-for-designers
  • 54. Compass makes vendor pre๏ฌxes easy...
  • 55. Compass brings sanity to gradients...
  • 56. Text editors and IDEโ€™s that support Sass/SCSS syntax Aptana BBEdit Chocolat Coda http://aptana.org http://barebones.com/bbedit http://chocolatapp.com http://panic.com/coda E Text Editor Eclipse Emacs Espresso http://e-texteditor.com http://eclipse.org http://gnu.org/software/emacs http://macrabbit.com/espresso GEdit Komodo Netbeans PhpStorm http://projects.gnome.org/gedit http://activestate.com/komodo-ide http://netbeans.org http://jetbrains.com/phpstorm PyCharm RubyMine SubEthaEdit Sublime Text ^ http://jetbrains.com/pycharm http://jetbrains.com/ruby http://codingmonkeys.de/subethaedit http://sublimetext.com/dev TextMate Vim Visual Studio nd http://macromates.com http://vim.org http://microsoft.com/visualstudio We ย recomme http://sass-lang.com/editors.html
  • 57. IE9 gets jQuery, other browsers get Zepto <!--[if gt IE 9]><!--> <script src="zepto.js"></script> <!--<![endif]--> <!--[if lte IE 9]> <script src="jquery.js"></script> <![endif]-->
  • 58.
  • 59. Overview of Handlebbbarsโ€™ application.js ๏ฌle // Redefine: $, window, document, undefined. var APP = (function($, window, document, undefined) { // Expose contents of APP. return { // APP.go go: function() { // ... }, // APP.init init: { // ... }, // APP.util util: { // ... } } // Parameters: Zepto/jQuery, window, document. })(typeof Zepto === 'function' ? Zepto : jQuery, this, this.document); http://host.sonspring.com/handlebbbars/assets/js/application.js
  • 60. Where the magic of Handlebars happens markup = $('#_template-list-item') .html() .replace(/ss+/g, ''); template = Handlebars.compile(markup); Yes, this looks underwhelming. Thatโ€™s the point. Itโ€™s code you donโ€™t have to write yourself! :) http://host.sonspring.com/handlebbbars/assets/js/application.js
  • 62.
  • 64.
  • 65. Nav shortcuts: J/K keys, swipe left/rightโ€ฆ
  • 66.
  • 68. Maintaining an appโ€™s state can drive you crazy @MikeTownson dared us to use a โ€œlolcatโ€ โ€” Challenge accepted!
  • 69.
  • 70. Pop out external links (for PhoneGap)โ€ฆ
  • 71.
  • 72. Rudimentary caching, for one hourโ€ฆ
  • 73.
  • 74. Ajax call (JSONP) to Dribbbleโ€™s APIโ€ฆ
  • 75.
  • 76.
  • 77. PhoneGap tip: Declare โ€œsafeโ€ domains on iOS http://anujgakhar.com/2011/11/22/phonegap-gotcha-error-whitelist-rejection
  • 78.
  • 79. Underscore.js is a power tool for working with collections of objects and arraysโ€ฆ โ€” Collections โ€” sortBy โ€” pluck โ€” uniq โ€” extend โ€” ๏ฌ‚atten โ€” each โ€” ๏ฌlter โ€” ๏ฌnd โ€” Utility functions โ€” throttle โ€” chain โ€” times and ย much ย more!
  • 80. โ€œReal artists shipโ€ โ€” Steve Jobs Hopefully we have inspired you to create more rapidly shippable software today :)
  • 81. Want to reread something? You can get the slides here: http://j.mp/web-skills
  • 82. Questions? We (might) have answers. If you think of something later, feel free to ask us on Twitterโ€ฆ @mbxtr & @nathansmith