Lecture1TypesOfAppsAndroidArchitecture
Lecture1TypesOfAppsAndroidArchitecture
Lecture - 1
Muhammad Adnan Aslam
MOBILE APPLICATION DEVELOPMENT
About Myself
Introduction of Participants
• Name
Quizzes 10
Assignments 10
Mid Term 25
Final Term 45
Project 10
Total 100
Author: BM Harwani
• Abstraction
• Inheritance
• Encapsulation
• Java
Todays Agenda 8
• Mobile Apps
• Native Apps
• Hybrid Apps
The native apps are design and developed usually on dedicated platform, e.g.
• Xcode and Objective C for IOS
• Eclipse/Android studio and Java for Android
• C# for Windows
Native apps can be accessed via respective app stores, i.e., Android apps on
Native Apps 10
• No installation needed.
• Always up-to-date.
• This means that some, or all, of this code can be shared across target
platforms, for instance, across both iOS and Android.
• Advantages
• Code can be shared between different versions of the apps across devices
(possibly up to 80%)
• The User Interface is rendered using ‘native’ controls, so UI performance
can be as fast as native.
• Disadvantages
• Not all code can be shared, so some native code may need to be written
• Access to the device, operating system features and interface
customization rely on the framework or plugin support
Android Architecture 17
• Android uses Linux for its device
drivers, memory management,
process management, and
networking.
• However you will never be
programming to this layer
directly.
• The next level up contains the
Android native libraries.
• They are all written in C/C++
internally, but you'll be calling
them through Java interfaces.
Android Architecture 18
• Next is the Android runtime, including the Dalvik Virtual Machine.
• Dalvik runs dex files, which are converted at compile time from
standard class and jar files.
• The next level up is the Application Framework layer.
• Parts of this toolkit are provided by Google, and the other parts
are extensions or services that you write.
• The most important component of the framework is the Activity
Manager, which manages the life cycle of applications and a
common "back-stack" for user navigation.
• Finally, the top layer is the Applications layer.
• Most of your application will live here, along side built-in
applications such as the Phone and Web Browser.
Challenges 19
• Limited resources
• RAM
• Memory
• Battery
• Limited screen space
• Small screen
• Variation in screens
• Webpages design
• Hard to select small objects
• Different usage pattern
Why Android Platform? 20
• Fastest growing smartphone platform