Mobile Programming
Mobile Applications development Process
Mobile Application Development
Mobile application development refers the act or process by which
application software is developed for mobile devices,
Before developing a mobile application, the following factors needs
to be considered
1. Choosing the mobile platform to build the application for.
2. Familiarize with the application framework for that platform.
3. Know the specifications of the device you will be developing the
application for.
4. Explore available tools at hand and determine which will best help
in developing the applications.
Mobile Applications development Process
1. Choosing Mobile Platforms
Mobile applications Platform
Mobile platform is an hardware or software environment that
allow software and services to be run on mobile devices (Fling
2009). Examples of mobile platforms include:
1. Palm
2. BlackBerry
3. iPhone
4. Android
5. Windows Mobile.
6. iphone and Android dominates the smartphone and tablet
universe
Mobile applications Platform
Mobile operating systems is a type of mobile platform that
provide tools for allowing application to share data and
services.
Examples of mobiles OS includes:
Palm OS,
Symbian,
Windows Mobile
Ios
Android.
NB: usually ‘mobile platforms’ and ‘mobile operating system’
are used interchangeably.
Required Skills sets for Nine Mobile platforms
Choosing Mobile Platform
The very first step in mobile application development is to decide
on which platform to build the application for. This may depend
on the following factors:
1. Target users: The BlackBerry platform is known to be dominant in
the enterprise market (Gohring 2010) . Therefore, if an
application is targeted at enterprise users, BlackBerry may be
your best choice, for now. Whereas, if the application is to be
used by the mass market, you can decide to develop your
application for platforms such as Android and iOS.
Choosing Mobile Platform
2. Features: Each platform has some unique features that
determines its capabilities.
These features needs to be considered when building mobile
application. They include the following:
1. Operating system
2. Application framework
3. Native Libraries
4. Applications
An Example of Mobile Platform : Android
An Example of Mobile Platform : Android Platform
Features of Android Platform
1. Linux Kernel is the operating system of android that core system
services and acts as a hardware abstraction layer (HAL) between
the physical hardware of the device and the Android SDK. Some of
the major functionalities include low level memory management,
process management, networking and other OS related services.
2. Native Libraries are all shared libraries written in C or C++, compiled
for the particular hardware architecture used by the phone. Some
of the important libraries include OpenGL for 2D and 3D graphics,
SQLite database and the WebKit library for browsing HTML
content.
Features of Android Platform
3. Android Runtime includes the Dalvik Virtual Machine (DVM)
and the core java libraries. Based on java VM, the Dalvik design
has been optimized for the low memory requirements of mobile
devices. It allows multiple VMs to run concurrently.
4. Application Framework: provides the high-level building blocks
with which applications are created. The important classes are
Activity manager that controls the life cycle of the applications,
Location manager that provide location sensing options and
Resource manager.
5. Applications: The highest layer in the Android architecture is the
applications themselves. This consists of applications and
widgets. Widgets are gadgets that operate only on a small area
of the Home screen.
Advantages of Android Mobile platform
1. Open: Applications created by developers can access handset
features or the same application framework as the core phone
applications.
2. Free: the tools for developing android application are freely
available for download. It requires only a registration charge for
publishing your applications for the first time. Consequent
updates to the application are free of charge.
Mobile Applications development Process
2. Familiarizing with the application framework for mobile platform.
Application framework for Android
Mobile application frameworks are set of class libraries that
provide developers an interface to build applications.
• They consists of application programming interface (API) that
allow developers to build applications that can execute on a
certain mobile platform, inter-operate among themselves and
with existing applications
Examples of application frameworks include:
1. Java ME,
2. Cocoa Touch
3. Android SDK
4. and WebKit.
Example of Application frameworks: Android SDK
Components of Android SDK
The application framework for android consists of the following
Components
1. Activity manager: Manages the lifecycle of applications and
provides a common navigation backstack
2. package manager: Keeps track what applications are installed in
device
3. Window manager: Manages Windows
Example of Application frameworks: Android SDK
Components of Android SDK
4.Telephony manager:Contains APIs used to build the phone
application
5.content providers: Allows applications to share data with other
applications (ex: contact info is available to others)
6. Resource manager: Used to store localized strings, bitmaps,
layout file descriptions, etc.
Example of Application frameworks: Android SDK
Components of Android SDK
7.View system: Contains all building blocks of the UI. Used to
create input controls like command buttons, menus and text
field
8. Location manager: Provides support for location-based services
9.Notification manager:Handles notification of users about events
that happen. It enables applications to display alerts in the
status bar.
Example of Application frameworks: Android SDK
Components of Android SDK
10. Extensible Messaging and Presence Protocol (XMPP) is An open
XML technology for real-time communication (instant messaging,
shared editing, etc).
• XMPP service allows applications to transmit messages between
devices.
• It works with any gmail account and can used to deliver server to
server messages.
Mobile Applications development Process
Other tasks during mobile application Development process
Task 3. Knowing specifications of mobile devices to be used
Task 4: Exploring Available tools
Task 3. Knowing specifications of mobile devices to be used
Knowing specifications of the target device for the application
allows developer to provide a better user experience.
The device is used as the point of interaction between the
users and the mobile application
Task 3. Knowing specifications of mobile devices to be used
Examples of device specifications to be known include:
1. Screen dimensions,
2. Position and orientation of buttons,
3. Processing power,
4. Graphics capabilities,
5. Multi-touch capabilities and others.
Task 4: Explore available tools
Exploring the available tools helps to determine the best tool
for developing the applications.
Examples are:
1. Emulators: used to simulate mobile conditions on computers to
do some initial testing.
2. Integrated development environment (IDEs) provides full support
for mobile Applications e.g. Eclipse and android studio
3. Text Editors provides environment for editing program code.
Examples are: Note pad ++,sublime text and note pad.