[Mobile] web Apps
Dustin Tauer
Easel Solutions
Dustin@easelsolutions.com
@dtauer
slid.es/dtauer
Introductions
- Who you are
 
- What you do/teach
 
- Design?
 
- Web development?
 
- Ballroom dancing?
 
- HTML/CSS/JavaScript experience
 
Schedule
Day 1
- JavaScript Syntax
 
- jQuery
 
- Modernizr
 
- Twitter Bootstrap
 
- JavaScript Templating
 
- ...
 
Emphasis on different techniques
 Schedule
Day 2
    
- Architecture
 
        - Managing Data
 
- States/Routes
 
        - Building a single-page app
 
    
        
    
        Practical use
    
 
Schedule
Day 3 (half-day)
Schedule
Um, where's the mobile part?
Before We start
- Course Files
 
- Dreamweaver
 
- Any text editor will do
 
- Source Code Pro font
 
- XAMPP (windows, mac)
 
- 
Developer Tools
 
- Google Chrome (F12)
 
- 
IE (F12), Firefox (install Firebug, F12)
 
- 
Safari (enable in preferences)
 
Past | Present | Future
- 1991: HTML
 
- 1994: HTML 2
 
- 1996: CSS 1, JavaScript
 
- 1997: HTML 4
 
- 1998: CSS 2
 
- ...[Flash]...
 
- 2009: HTML 5 / CSS 3
 
 
Note: Aside from adding AJAX in 2005, 
JavaScript hasn't changed
Past | Present | Future
    
- Sites are being updated to be more "mobile friendly"
 
- Sites are replacing Flash content with JavaScript
 
- jQuery to the rescue
 
- 9800+ lines of code so you can do this:
 
- 
//Load current temperature from an external webservice
//by passing a zipcode...all without reloading the page$.ajax({url: "/api/getWeather", data: {zipcode: 90210},
  success: function( data ) {
    $( "#temp" ).html(data + " degrees" );
  }
});
 
 
    Past | Present | Future
The Framework Era 
- CSS
 
- Twitter Bootstrap, PureCSS
 
- CSS Pre-processors
 
- JavaScript UI
 
- JavaScript Architecture
 
- Templating
 
 
    Past | Present | Future
- Responsive Web Design
 
- Mobile-first approach
 
- Single page websites
 
- Responsive/Adaptive images
 
- For Retina and other high-resolution displays
 
- Lighter page load
 
- Few "standards"
 
 
    Past | Present | Future
    
        
    
        
"Build it in HTML 5"
    Past | Present | Future
    
HTML 5 is not mobile
HTML 5 is not the replacement for Flash
    
    
    HTML 5 ~= HTML + CSS + JavaScript 
Past | Present | Future
- 
HTML 5.0
: Q4, 2014
 
- 
HTML 5.1
: 2016
 
- 
HTML 5.2
: 2018
 
- 
No more "mobile" websites
 
- 
Browser consistency
 
 
 
JavaScript
- Variables
 
- Functions
 
- Scope
 
- Objects
 
- Classes
 
 
jquery
Write less, do more
All about the $
$("div").hide();
$("a[href]$='http://'").css("text-decoration", "underline");
jQuery
Wait for jQuery to be ready
 $(document).ready(function() {
  // All your jQuery code goes here.
});
Twitter Bootstrap
Front-end framework for building 
user interfaces faster
- CSS
 
- JavaScript
 
- Responsive
 
Modernizr
Detects HTML5/CSS3 features in a browser
No more browser detection
CSS Detection
- Classes are added: no-css-columns, css-transitions
 
 
JavaScript API
- if(Modernizr.Geolocation){ ... }
 
 
 Handlebars
HTML client-side Templating
 <h1>{{article.title}}</h1>
Handlebars
{{#each articles.[10].[#comments]}}
  <h1>{{subject}}</h1>
  <div>
    {{body}}
  </div>
{{/each}}
 
HANDLEBARS
Alternatives
- Mustache
 
- Ember (easier version of Handlebars)
 
- _Underscore
 
Resources
Twitter
- @seb_ly
 
- @ccoenraets
 
- @rwd
 
- @thibault_imbert
 
- @mesh
 
- @smashingmag
 
 
 fundamentals are the key
Front End:
HTML  |  CSS  |  JavaScript
Back End:
Java  |  C#  |  PHP
Thanks!
dustin@easelsolutions.com
Lab Ideas
- Develop a responsive version of a website
 
- Single Page jQuery Tutorial
 
- Download starting files
 
- Tutorial
 
 
- Get to know CodePen: http://codepen.io/
 
- Discuss curriculum, technology, mobile testing, etc.