Training

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

439 University Av
Suite 820
Toronto, ON
M5G 1Y8

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

 

Home > Training > Mobile Computing >

WA1958 Mobile Software Design Patterns and Architecture Training and Courseware

Quick Enroll

 

As a part of the mobile strategy, enterprises need to address all major mobile platforms, like Android and iOS (iPhone, iPad etc.).  They need to make their core data and services available in these platforms. This course teaches students how to come up with a single vision of a mobile strategy and then implement it in Android and iOS.

This course teaches software patterns and best practices in mobile development. A pattern is a well regarded solution for a commonly occurring problem. After taking this class, students will be able to quickly come up with good solutions for most common problems in mobile application development.

Note: The contents of this course is not specific to any mobile OS. The hands on lab exercises can be taken in either Android or Apple iOS or both. Please let your sales representative know about your preference.

What will the students learn?

  • Application lifecycle patterns
  • User interface patterns
  • Business tier patterns
  • Notification patterns
  • Local data storage patterns
  • Location based services patterns
  • Background task processing patterns
  • Multimedia patterns

Audience

Architects and developers who are responsible for designing the architecture of mobile applications. Developers looking for more in-depth coverage of the API should consider WA1921 Android Programming or WA1920 iOS Programming first.

Prerequisites

For Android based hands on exercises, you must be able to read and understand Java. Basic understanding of the Android platform is helpful but not necessary. For iOS based hands on exercises, you should be able to read and understand Objective-C. Basic knowledge of the iOS API is helpful but not necessary.

Duration

3 days

Course Outline

Chapter 1. Introduction to Software Design Patterns

  • Software Design Pattern
  • History of Design Pattern
  • Describing a Pattern
  • Risks and Criticisms
  • Resources
  • Summary

Chapter 2. Mobile Application Architecture

  • The Model View Controller (MVC) Pattern
  • Advantages of MVC
  • The Model Layer
  • Controller Responsibilities
  • Controller in Android
  • View Layer in Android
  • Model Layer Issues in Mobile Applications
  • Controller Layer Issues
  • View Layer Issues
  • Cross Cutting Issues
  • Mobile Architecture and Pattern Resources
  • Summary

Chapter 3. Application Lifecycle Patterns

  • One Time Application Initialization
  • Implementation: Android Application Initialization
  • Per Screen Initialization
  • Implementation: Android Activity Initialization
  • Reduce Memory and CPU Usage from Unmapped Screen
  • Implementation: Android Unmapped Activity
  • Trapping Low Memory Situation
  • Implementation: Android Low Memory Warning
  • Summary

Chapter 4. Basic Presentation Tier Patterns

  • Introduction
  • Usage Pattern Based UI Design
  • Tabbed Interface Pattern
  • Tabbed Interface in Android
  • Vertically Scrollable List Pattern
  • Scrollable List in Android
  • Master Detail Navigation Pattern
  • Example Navigation
  • Navigation in Android
  • Split View Pattern
  • Android: Implement Split View
  • Summary

Chapter 5. Basic Model Layer Patterns and Architecture

  • Single Tier Architecture
  • Two Tier Architecture
  • Three Tier Architecture
  • Facade Pattern
  • Application Service Pattern
  • Data Access Object (DAO)
  • Data Transfer Object (DTO) Pattern
  • Android Data Storage Options
  • Service Invocation Pattern
  • Android - Making a GET Request
  • Android - Making a POST Request
  • Choosing a Data Format
  • Android XML Parsing Options
  • Authentication Issues
  • Android - Using Basic Authentication
  • Android - Using Custom Authentication
  • Summary

Chapter 6. Background Processing Patterns

  • Asynchronous Task Execution Pattern
  • Task Execution Architecture
  • Android: Asynchronous Task Execution
  • The AsyncTask API
  • Doing the Work
  • Starting Work
  • Updating GUI From the Task
  • Canceling a Task
  • Off Screen Work Pattern
  • Android: Implement a Service
  • Creating a Service
  • Starting and Stopping a Service
  • Summary

Chapter 7. Advanced Presentation Tier Patterns

  • Device Dimension Specific UI Pattern
  • Android: Dimension Specific UI
  • Handling Orientation Change
  • Android: Handling Orientation Change
  • Toolbar Pattern
  • Android: Toolbar
  • Search Interface Pattern
  • Android: Search Interface
  • Pagination Pattern
  • Detail Iteration Pattern
  • Loading Images from the Internet
  • Summary

Chapter 8. Advanced Model Layer Patterns

  • Network Data Caching Pattern
  • Implementing Caching
  • Offline Execution Pattern
  • Store and Forward Pattern
  • Data Synchronization Pattern
  • Simple Data Synchronization Algorithm
  • Sharing Content with Other Applications
  • Android: Sharing Content with Other Applications
  • Allow Sharing Content to Your Application
  • Android: Sharing Content to Your Application
  • Summary

Chapter 9. Location Based Services Patterns

  • Obtaining Current Location
  • Android: Obtaining Current Location
  • Points of Interest (POI) Search Pattern
  • Spatial Search
  • Proximity Alert Pattern
  • Geocoding Pattern
  • Reverse Geocoding Pattern
  • Map View Pattern
  • One Click Driving Direction Pattern
  • Geo Tagging Pattern
  • Summary

Chapter 10. Mobile Anti-patterns

  • What are Anti-patterns?
  • Slow Application Start Up
  • Uncooperative Applications
  • Obtrusive Notifications
  • Excessive Authentication Restriction
  • Excessive Presumption
  • Excessive Network Usage
  • No Offline Support
  • Improper Orientation Support
  • Hidden Background Activity
  • Unique UI Behavior
  • Summary
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
Outline Course Outline
Setup Guide Lab Setup Guide

Buy on-site and customized class

Attend a public class

06/04/2012 - Ottawa
$2,275.00 Enroll

06/18/2012 - Toronto
$2,275.00 Enroll

06/27/2012 - Calgary
$2,275.00 Enroll

07/09/2012 - Vancouver
$2,275.00 Enroll

07/16/2012 - Montreal
$2,275.00 Enroll

08/13/2012 - Toronto
$2,275.00 Enroll

09/24/2012 - Calgary
$2,275.00 Enroll

09/24/2012 - Vancouver
$2,275.00 Enroll

09/24/2012 - Montreal
$2,275.00 Enroll

09/24/2012 - Ottawa
$2,275.00 Enroll

09/24/2012 - Online Virtual
$2,195.00 Enroll

10/01/2012 - Toronto
$2,275.00 Enroll

10/15/2012 - Online Virtual
$2,195.00 Enroll

10/22/2012 - Calgary
$2,275.00 Enroll

11/05/2012 - Vancouver
$2,275.00 Enroll

11/05/2012 - Ottawa
$2,275.00 Enroll

11/26/2012 - Montreal
$2,275.00 Enroll

*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.