Vous êtes sur la page 1sur 57

Mobile Application Development

C O U RS E C O D E : C S - 4 5 4 8
P R E R EQ U I S I T ES : C MP - 2 1 2 4 ( O B J EC T O R I E N T E D P RO G R A MM I NG )
L EC T U R E 0 1
Mobile Computing
AN OVERVIEW
The Course
Course Title: Mobile Application Development
Instructor: Muhammad Habib
◦ Email Address:
◦ Prerequisites: CMP-2124 (Object Oriented Programming)
Duration: 15/16 Weeks
Text and Reference Material
1. Beginning Android 4 Application Development by
Wei- Menge Lee, John Wiley & Sons, 2012
2. Beginning Android 4 by Grant Allen, Apress, (2011)
What is Mobile Computing?
Mobile Computing is a technology which allows a
wireless enabled electronic device to:

 compute a computational problem

 data, voice and video reception, transmission


and processing anywhere and anytime.
Main Concepts
 Mobile Communication

 Mobile Hardware

 Mobile Software
Mobile Communication
 An infrastructure made to provide data, voice
and video communication over unguided and
unbound media.

 The media is electromagnetic waves which


require no medium to travel and propagate by
their own electric and magnetic field.
Bluetooth Network

M = Network initiator and controller


S = Communicates via M
P = Inactive S
WIFI Network

AP : Access Point
BSS : Base Service Set
Cellular Network
Traditional Phones

• Pick up the Phone

• Start Talking

• When finished talking, Hang Up!


Traditional Mobile Phones
• Pick up the Phone

• Start Talking

• When finished talking, Hang Up!

• Send and Receive Messages

• A few games
Featured Mobile Phones
• Calls, SMS, Games

• Camera

• Use Internet on Mobile Phone

• Check Emails
Smart Phones
• Calls, SMS, Games
• Camera
• Use Internet on Mobile Phone
• Check Emails
• Enjoy Music
• Watch Videos
• Use Social Networks
• Maps
• Read Books
• Do almost everything that can be done on a Computer.
Mobile Eco System
Mobile Eco System
Operators
• Different names
• Carrier
• Service Providers
• Mobile Network Operators
• Cellular Companies
• Gate Keepers
• Their Job
• Install Towers
• Operate Networks
• Provide Services
Mobilink, Telenor, Warid, Ufone etc.
• Relationship with Customers
Mobile Eco System
Networks
• Based on Radio Signals
• Capability can determined by
• Antenna
• Type of Radio
• Available Networks
• GSM
• CDMA
• 2G
• GPRS
• EDGE
• 3G
• 4G (LTE)
Mobile Eco System
Aggregators

• Carriers provide bind to certain

companies only, called

Aggregators

• Provide service by binding with

Carrier.

• Google Maps etc.


Mobile Eco System
Devices

• Laptops

• Netbooks

• Tablet Device (iPad)

• Mobile Phones
Mobile Eco System
Platforms
• Simply call them Programming

Languages in which a software is

written.

• Examples are

• Java ME

• Windows Mobile

• Mac OS X version for mobile


Mobile Eco System
Operating Systems

• The actual Software inside Mobiles

• Phones do have OS.

• Examples

• iOS

• Android

• Symbian

• Windows Mobile
Mobile Eco System
Application Framework (API)

• The developer’s planet

• Developers have control to it.

• Layer above OS

• Contains services like

• Communication

• Graphics

• Locations

• Security
Mobile Eco System
Applications
• Develop Something

• Games

• Utilities

• Educational App

• Examples

• Facebook

• Calendar

• Clock

• Skype
Mobile Eco System
Services
• What Applications actually do

• Examples

• Send Message

• Make a Call

• Get a Location

• Find a Restaurant

• Post on Facebook

• Tweet on Twitter
Mobile Hardware
 Collection of electronic components.

 Used in computation (Processor, Memory),


physical interaction with user (IOs) and
communication (printed wirings, sensors,
wireless technologies).
Mobile Hardware
 Processor
 Mobile CPU, smaller in size, low energy
consumption, sleep modes, single to multi
core.

 GPU
 Graphic processing unit, dedicated
processor, processes and renders HD
graphics, animations and videos smoothly.
Mobile Hardware
 ISP
 Image Signal Processor, dedicated
processor, enhance camera functions,
image and video capturing, high-resolution
support etc.

 VPU
 Video Processing Unit, dedicated processor,
video encoding and decoding.
Mobile Hardware
 MCU
 Audio engine.

 RPU
 Radio Processing Unit, contains Bluetooth,
WIFI, Radio, 3G/4G Modem, transmits,
receives and process radio signals and
digital data.
Mobile Hardware
 Boot ROM
 Write-Protected flash contains very first
code run by the processor.

 Memory
 RAM, low power, double data rate, dynamic
RAM.
Mobile Hardware
 Storage
 Internal Storage, two partitions, one for
firmware and other for user apps, files and
data.
 External Storage, microSD Card.
Mobile Hardware
 Display
 Layers hierarchy is screen(LCD/AMOLED),
touch-sensor(resistive/capacitive),
protection(plastic/glass).
LCD AMOLED
Backlight, Liquid Crystals, Polarizing Filters Transistors Layer, Organic Diodes Layer
Thick – more layers Thin – less layers
More battery consumption Less battery consumption
Low contrast High contrast
Inaccurate color reproduction Accurate color reproduction
Less lifespan More lifespan
Mobile Hardware
 Primary camera W/WO flash.
 Secondary camera W/WO flash.
 Battery.
 Speakers.
 Microphones.
 And other components…
Mobile Software
An operating system which interact with mobile hardware
and user programs to perform computation and manage
hardware and software resources. It also deals with the
services of mobility (connectivity, communication,
mobility).
Mobile Software
Mobile Software | iOS
 Developed by Apple Inc.

 Initial Release: 2007

 Current Status: Present

 Written In: C, C++, Objective-C, Swift

 OS Family: Unix based

 Source Model: Closed


Mobile Software | Android
 Developed by Google

 Initial Release: 2008

 Current Status: Present

 Written In: JAVA

 OS Family: Linux based

 Source Model: Open


Mobile Software | Windows
 Developed by Microsoft

 Initial Release: 2010

 Current Status: Present

 Written In: C, C++

 OS Family: Microsoft Windows

 Source model: Closed


Why Develop for Mobile?

World’s
Population
Is Around

7 Billion
Why Develop for Mobile?
Around

6 Billion

Mobile Users in World

Big reason to develop for Mobile


Why Develop for Mobile?
Mobile Phone Users (in millions)

111 105
121
154 859 China
202 India
U.S.
220 Russia
Indonesia
238 Brazil
Veitnam
752
279 Japan
Pakistan
Germany
Why Develop for Mobile?
Smart Phone usage

1 Billion

Mobile Users
Smart Phone Users
6 Billion

Smart Phone market is Huge


Why Develop for Mobile?

1 Billion Mobile Phones


+
Other Post-PC Devices
Which Platform to Develop for ?
Things to Consider

Market share
◦ No. of Users

Development environment
◦ Licensing

Ease of Development
◦ Programming Language

Freedom of Development
Why Develop for Mobile?
Current Trends
 Wireless Media:
 Independence in physical location
 Variety in data rate
 Variety in cost

 Portable Devices:
 Single unit and wireless Enabled
 Variety in features
 Variety in cost
Current Trends
 Different Platforms:
 Open and closed source OS
 Variety in operations and implementation
 Variety in cost

 Applications Availability:
 Same application availability for multiple
platforms
 Access of same services, functionalities and
data on multiple platforms
Current Trends
 Time Saving:
 Ease in access and operate
 Precise and fast computation
 Anywhere and anytime sharing

 Productivity Enhancement:
 Ease in research and development
 Ease in marketing and getting revenue
Current Trends
 Entertainment:
 Music, photos, videos, online streaming,
games, social apps, messengers, magazines
and much more
Challenges
 Coverage Areas:
 Wireless network existence?
 Variety in bandwidth
 Limited frequencies

 Security Risks:
 Authentication?
 Logged in apps
 Online accounts and transactions
Challenges
 Privacy Risks:
 Authorization?
 Missing information
 Location awareness
 Personal information and data

 Big Data:
 Data cost
 Data loss
 Data scalability
Challenges
 Big Data:
 Data security and privacy

 Fraud Monitoring:
 Lots of IT industries
 Physical vs Online existence
 Online products and transactions
 Lots of hackers
Challenges
 Integration:
 Billions of people
 Trillions of devices
 Millions of APIs and services
 Hostage in clouds

 Hardware:
 Lighter, smaller and faster
 Management
 Cost
Challenges
 Software:
 Variety of platforms, variety of apps, user
interface and interaction
 Work
 Entertainment

 Energy Limitations:
 Battery capacity
 Battery consumption
 Battery life
Mobile Application
Development

iOS Android
Mobile Development
Apple Android
Language Objective C Java
License $99 / year No Need
Open Source No Yes
Hardware Only Apple machines Any Machine
Publication Have to Pass Apple With Ease
Publication System

Multiple Devices No Yes


Support Only iOS Devices LG, Samsung, HTC
etc.

Freedom of Not much Yes


Development

Vous aimerez peut-être aussi