Introduction to Mobile Application Development

advertisement
Introduction to
Mobile Computing
An Overview of Mobile Devices and
Developing Mobile Applications
Dr. Frank McCown
Harding University
Spring 2010
Types of Mobile Devices
•
•
•
•
•
Handheld devices
Handheld computers
Personal Digital Assistants
Palmtops
Smartphones
Pocket PC Phone
http://en.wikipedia.org/wiki/Windows_Mobile
http://en.wikipedia.org/wiki/Image:Modern_Pocket_PC.png
Blackberry Storm
iPhone
http://en.wikipedia.org/wiki/File:Blackberry_Storm.JPG
http://www.mobileafrica.net/images/apple-iphone.jpg
Motorola
DROID
Archos 5
Internet Tablet
http://techplore.com/technology/wp-content/uploads/2009/10/archos-5-internet-tablet_1.jpg
http://homebiss.blogspot.com/2009/11/motorola-droid-iphone-3gs.html
Google Nexus One
• Retail: $530
• Not tied to single provider
• 3.7-inch 800 x 400-pixel
OLED screen
• No support for multitouch
• 512 MB of built-in flash
memory
•Preloaded 4 GB SD card
•Ubiquitous voice
recognition
• 5-megapixel camera with
zoom and flash
• Navigation system using
Google Maps and GPS
http://www.wired.com/reviews/product/pr_nexus_one
http://www.appleinsider.com/articles/09/08/21/canalys_iphone_outsold_all_windows_mobile_phones_in_q2_2009.html
Mobile Devices – The Good
•
•
•
•
Always with the user
Typically GPS capable
Typically have accelerometer
Many apps are free or low-cost
Mobile Devices – The Not-So-Good
•
•
•
•
•
Limited screen size and colors
Limited battery life
Limited processor speed
Limited and slow network access
Limited or awkward input: soft keyboard, phone
keypad, touch screen, or stylus
• Limited web browser functionality
• Often inconsistent platforms across devices
• Warning: Blackberry thumb
Mobile Applications
• What are they?
– Any application that runs on a mobile device
• Types
– Web apps: run in a web browser
• HTML, JavaScript, Flash, server-side components, etc.
– Native: compiled binaries for the device
Native App Development
Environments
• Java ME
• .NET Compact Framework (C++, C#, VB.NET) for
Windows Mobile
• Qualcomm’s BREW (C or C++)
• Symbian (C++)
• BlackBerry (Java)
• Android (Java)
• iPhone (Objective-C)
• Is having so many choices a good thing?
Development Environments
• Most platforms have an SDK that you can
download and build against
• Every platform has an emulator that you can
use to test your apps
• Most emulators are configurable to match a
variety of mobile devices
– Various screen sizes, memory limitations, etc.
xCode IDE & iPhone Emulator
http://developer.apple.com/iphone/library/referencelibrary/GettingStarted/Creating_an_iPhone_App/index.html
Eclipse and Android Emulator
Download