Mobile Software Development Technology Overview By Dr. Maged Nofal

Preview:

Citation preview

Mobile Software Development

Technology Overview

By

Dr. Maged Nofal

On July 20th 2008, our name has

changed from

to

Contents

Smartphone definition.

Smartphone Architecture.

Mobile Software Development Challenges.

Smartphone Operating Systems.

Mobile Programming Models.

Mobile Programming Languages.

Mobile Input.

Hardware Limitations.

Solution to Challenges.

Future Trends.

Smartphone vs Mobile Phone

Software Architecture for Smartphones

Embedded Operating System

Software Framework

GUI SDKs/APIs

Native Applications

Interpreters/Virtual Machines

3rd Party Applications3rd Party Applications

Mobile Software Development Challenges

Different Operating Systems.

Different Screen Size.

Different Input methods.

Different Hardware Architectures.

Limited computing capabilities.

Mobile Software Development Challenges

Code Signing.

Lack of good language support.

Installed applications.

Cracking.

Reverse Engineering

Smartphone Operating Systems

Symbian (S60/UIQ/MOAP/Other)

Windows Mobile

Embedded Linux (MontaVisa/Android/Other)

BlackBerry OS

BREW

iPhone

ACCESS (Palm OS)

Mobile Programming Models

Web BasedServer Based.

Client/Server (Distributed Application).

Standalone (client based)Native

Interpreted

Programming Languages

C/C++

.NET

Java ME

FlashLite

SilverLight Mobile

JavaFX

HTML/WML/JAVASCRIPT/AJAX

JAVA Micro Edition (JAVA ME)

Source: www.HowTo.org

Mobile Input

Keyboard(Keypad – Keyboard – Soft Keyboard)

TrackBall/Joystick.

Pen (Handwriting).

Touch

Microphone (Voice Command).

Camera (Image Recognition)

GPS

Hardware Limitations

Battery Power

CPU Speed

RAM

ROM

Floating Point Support

Graphics Support

Microphone Support

Camera Resolution

Solutions to Challenges

Multi Modal Interface.

Simplified Algorithms (Speed vs Accuracy).

Mathematical Transformation.

Fixed Point Processing. (Speed vs Accuracy).

Data Compression (Size vs Speed).

Pre-Computing (Speed vs Size).

Adaptive Systems.

Solutions to Challenges

Distributed Computing.

Programming Language Selection.

Screen independent graphical coordinates or layout managers.

Unicode Support

Using Anti Cracking Techniques.

Use Obfuscation for managed code.

Future Trends

More powerful real-time Applications.

GPS aware applications.

More distributed Applications.

More AJAX web applications for mobile phones.

More multi-threading.

Dr. Maged NofalE-mail: maged.nofal@its.ws

Recommended