Patterns and practices of cross-platform and cross-device development
Overview
Mobile refers to a variety of platforms each with its own set of capabilities and features and each requiring significantly
different skills: different operating systems, different programming languages, different APIs and even different computers.
At the same time, a mobile application is notably different from a Web or desktop application. It is relatively simpler as far
as logic is concerned, but more sophisticated and complex for resource management, data entry, sensors, data storage and life
cycle. Each operating system then has its own set of development guidelines and a proprietary deployment model.
The class comes as a quick but juicy guide to the issues you may be facing during the development of a mobile
project for one or multiple platforms. The class starts with the analysis of the various types of mobile solutions—Web sites,
Web sites optimized for mobile devices, native mobile applications—and proceeds with the identification of a few design patterns
common to all mobile applications and technologies available on the various platforms. Predictive fetch, offline behavior,
mobile-aware service layer, save-the-tap, sensitive-data storage are just a few of the patterns being discussed and implemented.
A lot of emphasis is put on mobile sites and frameworks and techniques to accurately detect browser capabilities. We’ll discuss
the role of WURFL (the framework being used by Facebook) and compare that to detection capabilities in ASP.NET.
Furthermore, the class offers an overview of mobile development for the three major platforms—iPhone/iPad,
Android and Windows Phone 7. In particular, we’ll build the same application for the three platforms discussing tools, frameworks,
practices, and illustrating architectural and structural differences. After taking this class, you probably won’t be a super-expert
in any of those platforms but you’ll know enough to start producing code on any of them. You’ll also know enough to advise your
customers and help them define effective mobile strategies for their business.
Format
On top of the frontal presentations, the class uses numerous conceptual demos and excerpts from sample applications.
Target Audience
The class is for developers willing to become mobile developers regardless of the platform. The class is also useful
to managers looking for an overview of the basic facts (and tools/frameworks) of mobile development today
Duration
5 very intense days.
Offering
Available as a 2-day or 3-day on-site training class and as a public training class.
 |
 |
Strategies for mobile development
- Choosing a target platform
- Writing a mobile Web site
- HTML5
- Using JavaScript
- Using jQuery Mobile
- WURFL and device fragmentation
Aspects of a mobile application
- Integrate with the system and other applications
- Interruptible
- Storage (and shortage of)
- External notifications
- Internet connectivity (and costs of)
- Online/offline behavior
- Interaction with sensors
- Minimizing user interaction
- Storing sensitive and valuable data
- Security
- Geolocation
Features of a classic mobile application
- Splash screen and loading
- User experience: menus vs. wizards
- Client side storage and user settings
- Interaction with local applications
- Multitasking
- Organization of data and presentation
Building an Android Application
- Application loading
- Events and the user interface
- Menu
- Storage
- Connectivity
- Sensors
- Multitasking
- Deployment
Building a Windows Phone 7 Application
- Application loading
- XAML and MVVM
- Isolated storage
- Hydration and dehydration
- Launchers and choosers
- Network API
- Sensors
- Deployment
Building an iPhone Application
- Understanding how an application runs
- Events and the user interface
- Storage
- Connectivity
- Sensors
- Multitasking
- Deployment
Subscribe to the offerings feed
|