Mobile Application
Development
Introduction, Basic Concepts, Mobile OS
Course Learning Outcomes:
Upon successful completion of the course, the student will be able to:
CLOs Description Taxonomy level PLO
1 Explain the basic concepts used in various C3 1
Mobile Application Development
Frameworks.
2 Use mobile application components and C4 2
compare the different performance trade-
offs
3 Create mobile application solutions to real C5 3
world problems
4 Develop mobile applications using current P3 5
software development environments
Marks Distribution
CLO 1 and CLO 2 - Mid terms and Final Exam - 80 Marks
CLO 3 – Semester Project and Assignments - 20 Marks
CLO 4 – Practical Class – 50 Marks
What is Mobile?
Able to move or be moved freely or easily.
Technically defined as :
“relating to mobile phones, handheld computers,
and similar technology”.
What is an Application?
Putting something into operation
Technically defined as:
“A computer program designed to perform a
specific task for the user”.
What is mobile computing?
A simple definition could be:
Mobile Computing is using a computer (of one kind or another) while on the
move
Another definition could be:
Mobile Computing is when a (work) process is moved from a normal fixed
position to a more dynamic position.
A third definition could be:
Mobile Computing is when a work process is carried out somewhere where it
was not previously possible.
Mobile Computing is the technology used for transmitting voice and data
through small, portable devices using wireless enabled networks.
Applications of Mobile Computing
Emergency Services Location based Services
In companies Mobile Shopping
Stock Information Collection/Control Mobile Entertainment
Credit Card Verification Mobile games and
Hands-free driving
Taxi/Truck Dispatch
Wireless Telemedicine
Electronic Mail/Paging
Other Mobile Computing Services for
Mobile Commerce
Consumers
Banking and Financial Services
Non–Internet Mobile Applications for
Wireless Electronic Payment Consumers
Systems
Advantages
No location constraint
It saves time and enhances productivity
It provides entertainment, news and information on the move
Streamlining of business processes
Mobility has enabled streamlining of business processes, cumbersome emails, paper
processing, delays in communication and transmission.
Challenges
Disconnection
Low bandwidth
High bandwidth variability
Low power and resources
Security risks
Wide variety terminals and devices with different capabilities
Device attributes
Fit more functionality into single, smaller device
Mobile OS
A mobile operating system (OS) is software that allows smartphones,
tablet PCs and other devices to run applications and programs.
Apple iOS
Google Android
BlackBerry OS
Nokia’s Symbian
Hewlett-Packard’s webOS (formerly Palm OS)
Microsoft’s Windows Phone OS
Traditional Trends
Relevant to older mobile systems
Made use of older mobile operating systems
such as:
• Palm OS
• Psion OS
• Symbian OS
Technologies used: Specific to the above
operating systems such as C/C++, Java
mobile edition, WML etc.
Current Trends
iOS
Android
Current Trends (Contd..)
Android
Developed by Google Inc.
Free and open source
Uses Linux operating system
Manufacturer:Oppo, Nokia, Samsung,
Huawei, Vivo, Motorola etc.
Current Trends (Contd..)
iOS
Developed by Apple in June 2007.
Device Manufacturer: Apple
Current Trends (Contd..)
Mobile Apps Pros Cons
Platform
iOS • User Experience • Closed platform
• Security • Development only on Mac
• App Quality • Duplicating core iOS features
• Faster adoption of latest features is prohibited.
• Publishing apps is expensive.
Android • Free and open source • Fragmentation between
• Major share of mobile market (81%) different versions of the OS
• Open content sharing • Delay in upgrades
• Publishing apps is easy • Security Concerns
• Development on any platform
YOUR CHOICE???
Current Trends (Contd..)
Mobile Apps Platform Development Technology
iOS • System: MAC
• Programming language: Objective C
• Development software: Xcode
Android • System: Any system
• Programming language: Java/ Kotlin
• Development software: Android studio
Hybrid (3 into 1) • System: Any system
• Programming language: Dart, Javascript, C#
• Development Framework: Flutter, React JS, PhoneGap,
Xamarin
• Development software: Android studio, VS Code, Visual
Studio
Challenges in building Mobile
Applications
17
1. OS Fragmentation
Windows
7
Fragmentation
18
2. Multiple Teams/Product
Windows
7
Multiple Teams/Products
19
3. Uniform User Experience
Windows
7
Uniform User Experience
20
Types of Mobile App Development
1. Native Mobile Apps
2. Cross Platform Mobile Apps
3. Hybrid partly Native partly Cross Platform
21
Native Mobile Apps
When To When Not To
High Performance Apps Performance is not the main
criteria
Heavy on OS and Device Features
More or less Replicates Web Apps
with few device feature
Complex N/W comm.
Standard Restful
Only Few Platforms
Many Platforms
22
Cross Platform Mobile Apps
When To When Not To
Performance is not the main High Performance Apps
criteria
More or less Replicates Web Apps Heavy on OS and Device Features
with few device feature
Standard Restful
Complex N/W comm.
Many Platforms
Time to market is critical Only Few Platforms
Saving Cost is critical
23
Hybrid Mobile Apps
When To Why To
Fairly Simple UI Some parts of app are common
Complex Backend Rest parts are different
Quite few platforms Use Cross Platform to develop common
part
Use Native to develop the weight-lifting
parts
24
Thank You!