In this 2 day Developing Mobile Websites class, you will learn to use HTML5, CSS, JavaScript, and other tools to create websites that are responsive: sites that adapt their layout to the client device being used, whether it be a smartphone, tablet computer, or desktop computer/laptop. You will learn to use CSS media queries, mobile-friendly HTML5 features, JavaScript enhancements, and various frameworks to build websites that look as good on an iPhone or Android as they do on a desktop or laptop computer.
Goals
- Learn how one website can respond to the specific needs of the environment on which it is being viewed, presenting a layout that is equally – and differently – appropriate for mobile, table, and desktop devices.
- Learn to leverage the capabilities of HTML5 to present mobile-friendly sites, and understand the varying levels of support for some features among different devices.
- Understand how to use CSS Media Queries to display content modified to fit the client device.
- Understand the GeoLocation API and use it to integrate the user’s location into websites.
- Integrate video and other media appropriately for mobile devices.
- Learn how to use the jQuery Mobile framework to add support for touch and other gestures.
- Learn how to use the Foundation framework to abstract low-level responsive coding and to create grid-based layouts.
Required Prereqs
- Basic knowledge of the Microsoft Windows operating system and its core functionality.
- Working knowledge of Transact-SQL.
- Working knowledge of relational databases.
- Some experience with database design.
Outline
- Designing for Mobile
- Responsive Design: Good for All Devices
- Why It’s Worth It?
- Building Responsive Sites
- Responsive Design: Good for All Devices
- Flexible Grids
- The Flexible Grid: A More Responsive Layout Strategy
- The Case for Flexible
- Case Study: The Jazz Calendar Site
- A First Complete Jazz Calendar Draft
- Making The Inflexible Flexible
- A Better Jazz Calendar
- The Flexible Grid: A More Responsive Layout Strategy
- Flexible Images and Other Media
- Flexible Images and Other Media
- Improving the Jazz Calendar Site
- Flexible Background Images
- Media Queries
- Media Queries
- Targeting Widths and Devices with CSS3 Media Queries
- Linearizing the Layout
- Using max-device-width
- The Viewport
- The Viewport
- HTML5: Mobile Specific
- New HTML5 Features
- Forms
- A Jazz Calendar Registration Form
- Local Storage
- Local Storage Example
- New HTML5 Features
- GeoLocation API
- The GeoLocation API
- How it Works
- Browser and Device Support
- JavaScript Implementation
- A Simple Example
- Google Maps
- Jazz Calendar: Finding Nearby Gigs
- The GeoLocation API
- Consolidating the Web with Native Extensions
- Consolidating the Web with Native Extensions
- Integrating with the Home Screen
- Other Devices
- A Homescreen Icon for the Jazz Calendar Site
- Hiding Browser UI
- Using the Accelerometer
- Accessing Camera, Contacts, Calendar, and More – But Not Yet
- PhoneGap
- Consolidating the Web with Native Extensions
- Video
- Optimizing the Video Experience for Mobile
- Optimizing for Mobile
- Embedding from YouTube or Vimeo
- Hosting Your Own Videos
- Video Formats
- Controlling the Video through JavaScript
- Converting Video Formats
- Further Reading
- Optimizing the Video Experience for Mobile
- jQuery Mobile
- jQuery Mobile
- Mobile Focus
- Supported Platforms
- The Basics
- A First Example
- Drag-and-Drop Code Builder
- Gestures
- Swiping to Change Pages
- Using data Attributes
- Handling Orientation Change
- What About Desktops?
- jQuery Mobile
- Framework: Foundation
- Foundation: A Responsive Grid Framework
- A First Look at Foundation
- A Foundation Layout for Jazz Calendar
- Foundation: A Responsive Grid Framework