0% found this document useful (0 votes)
6 views

Lecture1TypesOfAppsAndroidArchitecture

Uploaded by

Captain Jk
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Lecture1TypesOfAppsAndroidArchitecture

Uploaded by

Captain Jk
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Mobile Application Development

Lecture - 1
Muhammad Adnan Aslam
MOBILE APPLICATION DEVELOPMENT

About Myself
Introduction of Participants

• Name

• Sem & expertise

• Courses studies in area of


Programming

• Expectations from this course


How to be successful in my class
1. Come to class
2. Strive to learn
3. Be on time for class
4. Pay attention in class. Ask questions.
5. If you don’t understand a topic and/or don’t understand why
it’s relevant, ASK.
6. Be prepared to answer questions in class (Revise Previous
lectures).
7. DO NOT use cell phone and walk out of class during a class

8. Don’t allow to bring eatable items in the class room even


Evaluation Criteria 5

Exam Type Percentage

Quizzes 10

Assignments 10

Mid Term 25

Final Term 45

Project 10

Total 100

Muhammad Adnan Aslam


Recommended Books 6

• Android Programming Unleashed

Author: BM Harwani

• HEAD FIRST ANDROID DEVELOPMENT

Author: Dawn Griffiths and David Griffiths


Concepts you should be good at for this
course 7

• Object Oriented Programming


• Polymorphism

• Abstraction

• Inheritance

• Encapsulation

• Advance Computer Programming

• Java
Todays Agenda 8

• Mobile Apps
• Native Apps

• Mobile Web Apps

• Hybrid Apps

• Cross Mobile Apps

• How android works


• Architecture
Native Apps 9
“Native mobile apps are exclusively built for a specific type of Operating
system. They are called native because they are native to a particular device
or platform”, e.g.
1. Whatsapp android app 2. Gmail android app 3. Google maps android
app
4. Apple maps IOS app 5.Safari browser IOS app 6. iCamera IOS app

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

• Advantages of native apps:


• Natives are very fast.
• Easily distributed in google apple app stores.
• Easily interact with any feature of the phone.

• Disadvantages of native apps:


• Built for a single platform
• Languages like swift and java used to build these types of apps are hard to
learn.
• Hard to maintain.
Mobile Web Apps 11
• These are the web applications to deliver web pages on web
browsers running on mobile devices.
• These are web-based mobile apps that do not get installed on
your handheld mobile device and are run on web-hosted servers.
• Mobile web apps typically use HTML, CSS, Javascript, JQuery web
technologies.
• They cannot access all features of native device
functionality(camera, calendar, geolocation, etc.)
• Example:
• Facebook web-app
• Instagram web-app
Mobile Web Apps 12

• Advantages of web apps:


• Reduced business cost.

• No installation needed.

• Better reach as it can be accessed from anywhere.

• Always up-to-date.

• Disadvantages of web apps:


• Dependent on internet speed.

• Interface not that sophisticated.


Hybrid Apps 13
• A (hybrid app) is a software application that combines elements of
both native apps and web applications.
• Hybrid apps are essentially web apps that have been put in a native
app shell.
• Once they are downloaded from an app store and installed locally, the
shell is able to connect to whatever capabilities the mobile platform
provides through a browser that's embedded in the app.
• The browser and its plug-ins run on the back end and are invisible to the
end user.
• Examples:
• Facebook Android App
Hybrid Apps 14
• Advantages of hybrid apps:
• Easy to build
• No browser needed
• Can usually access device utilities using an API

• Disadvantages of Hybrid apps:


• Slower than native apps
• More expensive than web apps
• Less interactive than native apps
Cross Mobile App 15

• Cross-platform mobile apps are developed using an intermediate


language, such as JavaScript, that is not native to the device’s
operating system.

• This means that some, or all, of this code can be shared across target
platforms, for instance, across both iOS and Android.

• Cross-platform apps are different to HTML5 hybrid apps as hybrid apps


usually incorporate a mix of native app and mobile app concepts.

• Cross-platform apps are developed with Xamarin, Appcelerator, React


Cross Mobile App 16

• 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

• Google Android and


Apple iOS have 98% of
the global market
share for operating
systems.
• Android’s market
share will reach 87% in
2022, forecasts suggest.
Android Development Tools 21

To set up the development environment, we need:


1. Java Development Kit (JDK 1.5+, 1.6 is preferable)
2. Eclipse IDE
3. Android Studio

To run android App


4. Android Emulator
5. Android Device

You might also like