Introduction To Mobile Apps
Introduction To Mobile Apps
1
Essence of A Mobile Device?
• (Potentially) available to serve everywhere, any time.
• Interwoven into daily life – live, work, play, study
• Represents and intimately “knows” the user
– Much more than just a small computer, it represents the user
• Brings in the outside world – sensing, location,
communication
• Now the dominant end-user device
– See: http://www.nytimes.com/2013/01/08/business/mobile-apps-
drive-rapid-changes-in-search-technology.html?ref=technology
2
Varied Shapes, Sizes, Capabilities
4
Application Development Support
• 3rd Generation Object-Oriented Languages
(iOS – Objective C, Android – Java,
Windows Phone – C# )
• Scripting languages (JavaScript, Ruby)
• Cross-platform frameworks – Titanium,
RhoMobile, Xamarin, PhoneGap
• C and C++
• Integrated into “frameworks” specifically
for mobile application development
5
Framework Support (e.g. Android)
Blue background:
Java
Other colors:
C/C++
6
Framework Capabilities and Add-Ons
• Built-In Services:
– GUI, OS services (file I/O, threads, device management),
Graphics, Device access (GPS, camera, music and vido
players, sensors), Web-services, Networking, XML
processing, standard language libraries
• Add-ons:
– Maps
– Database support (SQLite)
– WebKit
7
IDE Support
• Open IDEs – Eclipse/Android Studio for
Android)
• Proprietary (Xcode for iOS, MS Visual Studio)
• Testing tools (test management, unit tests)
• Performance profiling tools
• SCM integration (Git, SVN, CVS)
• Software emulators
• Sensor injection (GPS, accelerometer, others)
8
Thank You