Mobile Operating Systems -- Duration: 5 days
----------------------------------------------
Synopsis
This course, based on a course of the same name offered at Harvard University, aims to tackle mobile operating systems and applications from a comparative view. Rather than follow other courses, which take on one OS at a time, this course pits the three leading OSes against eachother in parallel, comparing and contrasting their implementations of mobile design principles.
Target Audience
Desktop and Mobile Developers, who wish to gain a comprehensive parallel view of the three leading Mobile Operating Systems - Android and iOS (with segues into Windows 8) - and their architectures..
Prerequisites
None.
Objectives
- Describe the programming constraints of mobile platforms
- Explain the Model/View/Controller paradigm as it relates to mobile development
- Explain the different views: Android's views, iOS's UIViews, compared and contrasted
- Explain the application lifecycle in Android, iOS as well as Windows 8
- Build and replace Android system components
Exercises
None.
MODULES
1. |
Like father, like son |
|
2 hours |
|
How is a mobile operating system different than a deskop or server one? We discuss Android and iOS in relation to their "ancesto
rs" - Linux and OS X, respectively. Drawing on detailed architectural diagrams, we see which features of the parent OSes made it to
the mobile derivatives, and which didn't make the cut - and why.
- Android vs. Linux - Similarities and differences
- OS X vs. iOS - Similarities and differences
- ARM vs. x86
|
2. |
Sibling Rivalry |
|
4 hours |
|
How do iOS and Android differ from one another? In what ways are they similar? This module explores the approach both OSes use t
o deal with such aspects as:
- Application runtime: Dalvik vs. Objective-C
- Memory Management - OOM/LowMemoryKiller vs. Jetsam/Memorystatus
- Application deployment and packaging - APK vs. IPSW
- Programming APIs - Framework showdown
- Power Management - Wakelocks, assertions, sleep and hibernation
- Kernel features - Linux vs. XNU
|
3. |
Anatomy of an App |
|
2 hours |
|
Detailed discussion of mobile application structure in the three MOSes. Comparing and contrasting iOS Apps, Android activities and WinRT Applications.
|
... |
Know Your Enemy |
|
2 hours |
|
Android and iOS take different views when it comes to system security. Android protects the user against malicious apps (or at
least tries to), whereas iOS protects the user against... himself. In other words, in Android the App is untrusted, wherein iOS the
user is. This module explores the security features of both OSes, detailing:
- Android's Dalvik security model
- the iOS "Jail" - Entitlements
- Code signing
- Rooting (Android) and Jailbreaking
- Kernel level enhancements - new in iOS 6 and Android 4.0+
|
|
------------------------------------------------
Completed in 0.01s