18
Mobile Software Development Technology Overview By Dr. Maged Nofal

Mobile Software Developement

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Mobile Software Developement

Mobile Software Development

Technology Overview

By

Dr. Maged Nofal

Page 2: Mobile Software Developement

On July 20th 2008, our name has

changed from

to

Page 3: Mobile Software Developement

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.

Page 4: Mobile Software Developement

Smartphone vs Mobile Phone

Page 5: Mobile Software Developement

Software Architecture for Smartphones

Embedded Operating System

Software Framework

GUI SDKs/APIs

Native Applications

Interpreters/Virtual Machines

3rd Party Applications3rd Party Applications

Page 6: Mobile Software Developement

Mobile Software Development Challenges

Different Operating Systems.

Different Screen Size.

Different Input methods.

Different Hardware Architectures.

Limited computing capabilities.

Page 7: Mobile Software Developement

Mobile Software Development Challenges

Code Signing.

Lack of good language support.

Installed applications.

Cracking.

Reverse Engineering

Page 8: Mobile Software Developement

Smartphone Operating Systems

Symbian (S60/UIQ/MOAP/Other)

Windows Mobile

Embedded Linux (MontaVisa/Android/Other)

BlackBerry OS

BREW

iPhone

ACCESS (Palm OS)

Page 9: Mobile Software Developement

Mobile Programming Models

Web BasedServer Based.

Client/Server (Distributed Application).

Standalone (client based)Native

Interpreted

Page 10: Mobile Software Developement

Programming Languages

C/C++

.NET

Java ME

FlashLite

SilverLight Mobile

JavaFX

HTML/WML/JAVASCRIPT/AJAX

Page 11: Mobile Software Developement

JAVA Micro Edition (JAVA ME)

Source: www.HowTo.org

Page 12: Mobile Software Developement

Mobile Input

Keyboard(Keypad – Keyboard – Soft Keyboard)

TrackBall/Joystick.

Pen (Handwriting).

Touch

Microphone (Voice Command).

Camera (Image Recognition)

GPS

Page 13: Mobile Software Developement

Hardware Limitations

Battery Power

CPU Speed

RAM

ROM

Floating Point Support

Graphics Support

Microphone Support

Camera Resolution

Page 14: Mobile Software Developement

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.

Page 15: Mobile Software Developement

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.

Page 16: Mobile Software Developement

Future Trends

More powerful real-time Applications.

GPS aware applications.

More distributed Applications.

More AJAX web applications for mobile phones.

More multi-threading.

Page 17: Mobile Software Developement
Page 18: Mobile Software Developement

Dr. Maged NofalE-mail: [email protected]