0% found this document useful (0 votes)
93 views46 pages

Mobile Development Platform

This document provides an overview of several major mobile development platforms, including Android, BlackBerry, Qt Nokia, Windows Phone, and iOS. It discusses key aspects of each platform such as supported devices, operating systems, software stacks, development tools, and popular applications. The document aims to educate developers on their options for creating mobile apps across different systems.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views46 pages

Mobile Development Platform

This document provides an overview of several major mobile development platforms, including Android, BlackBerry, Qt Nokia, Windows Phone, and iOS. It discusses key aspects of each platform such as supported devices, operating systems, software stacks, development tools, and popular applications. The document aims to educate developers on their options for creating mobile apps across different systems.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

Proyek Perangkat Lunak

Mobile Development Platform

Agus Kurniawan
[email protected]

http://blog.aguskurniawan.net
Lecture Contents
• Mobile Development Platform
• Review

3
Mobile Development Platform
• Android
• Blackberry
• Qt Nokia
• Windows Phone
• iOS

4
ANDROID

5
Android OS
• Fastest growing mobile OS
• Over 300,000 Android activations a day
• Android overtook iOS as the dominant OS in US during 2H 2010
• First phone launched HTC G1 in 2008
• Currently an OS of choice for Motorola, HTC, Samsung, Sony Ericsson,
among others
• Software updates every few months
Software Stack
• Linux kernel
• Libraries
• Android run time
– core libraries
– Dalvik virtual machine
• application layer
• application protocol
• Programming language
• Java
• C++
• Development Tools: Eclipse, Netbeans
Android Architecture
Development Tool

9
Phones

HTC G1,
Droid, Motorola Droid (X)
Tattoo

Suno S880 Samsung Galaxy Sony Ericsson


10
@2010 Mihail L. Sichitiu
Tablets

Velocity Micro Cruz Gome FlyTouch Acer beTouch

Toshiba Android Cisco Android Tablet


Dawa D7 SmartBook
11
@2010 Mihail L. Sichitiu
BLACKBERRY

12
Understanding J2ME
• Java 2 Micro Edition (J2ME) is an umbrella term for a set of Java technologies
created to run Java on less capable devices
• Key concepts of configurations, profiles and optional packages:
• configuration = VM + runtime classes (horizontal)
• profile = domain-specific classes for building standalone applications (vertical)
• optional package = domain-specific classes that expose specific functionality but
not applications (horizontal or vertical)
BlackBerry and J2ME
• BlackBerry devices (Java-based) run MIDP and CLDC
• MIDP 1.0/CLDC 1.0 for 3.6/3.7 devices
• MIDP 2.0/CLDC 1.1 for 3.8/4.0 devices
• Custom Java VM
• Additional APIs available
• Some optional packages
• Many BlackBerry-specific APIs (vendor extensions)
• Built-in apps written in Java
• RIM eats it’s own food
Application Models
• MIDlets
• Applications built using MIDP application lifecycle and user interface classes
• Portable to other platforms unless BB APIs used
• BlackBerry applications
• Standard “public static void main( String*+ args )” entry point
• Tied to BlackBerry, but more control over the application
• BlackBerry-specific UI classes
• Can run in background (no UI), on startup, etc.
Software Stack
• Programming Language: Java
• IDE: Blackberry JDE, Eclipse
QT NOKIA

17
Mobile Devices and Platforms of Nokia

Phones Smartphones Computers


(Series 40) (Symbian) (Maemo)

Develop Java Apps

Develop Native Apps

Develop Web Apps Develop Web Apps

18
Platform Positioning of Nokia
• Software platforms
• Symbian based on Symbian
Foundation
• Maemo merging into MeeGo
• Series 40
• Ovi Services
• Offering the usual web based
services that consumers use:
Music, Maps, Store for
applications, Social networking
services and much more
• Development frameworks
• Qt for native applications
• Web Runtime Source: Nokia Software Strategy White Paper May 2010

19
Qt on mobile platforms
• Qt is currently supported by Symbian and Maemo mobile platforms
• Programming Language: C++
• IDE : Qt SDK & Nokia Qt SDK

Nokia N8 Nokia N900


20
Symbian OS
• OS designed for mobile environment
• Hardware efficiency from 100Mhz to Multi-Core
• Full multitasking
• Runs in over 250 000 000 devices
• Symbian foundation
• Manages OS: now completely open source
• 25 million lines of code, 200 000+ source files
• www.developer.symbian.org

21
Symbian OS Architecture

• From the S60 5th Edition C++ Developers Library

22
What is Qt for Symbian?
• Qt for Symbian offers
• Cross-platform application development
without needing to know Symbian C++
• Qt Mobility APIs for taking advantage of
mobile features
• Qt APIs have been implemented on top
of OpenC/Symbian APIs
• Qt base libraries are compiled as
Symbian DLLs and can be used in a
Symbian environment as is

23
Qt Applications on Symbian
#include <QtGui/QApplication>
#include <QtGui/QLabel>

int main( int argc, char** argv )


{
QApplication app( argc, argv );
QLabel label("My first Qt on Symbian SW" );
label.show();
return app.exec();
}

24
Development &
Debugging host:
Nokia Qt SDK

25
Nokia Qt SDK Simulator for testing

26
Qt Mobility
• Qt: Desktop → Mobile
• Requires new APIs for
• Sensors
• Location
• Messaging
• Contacts
• System information
• Multimedia
• etc.
• Qt Mobility: new cross-platform APIs for mobile use cases
• Back-end implementation on all platforms where it makes sense

27
Qt Mobility APIs
• New APIs for utilizing mobile phone features
• The first preview released on 1st December, 2009
• Mobility 1.0 , 27th April, 2010
• Mobility 1.1.0 BETA, 30th September, 2010
• Mobility 1.1.0, 9th November, 2010

28
WINDOWS PHONE

29
Introduction

Great News, not only for End-Users but also for Developers
• End-User experiences are very important
• Windows Phone 7 Developers will use the latest Development Tools
• The potential Windows Phone 7 Developer Community is large
• Developing applications for Windows Phone 7 is fun
• Free versions of the Development Tools for everybody
Introduction

Who can develop applications for Windows Phone 7?


• The Windows Phone 7 Application Model is familiar to Silverlight
Developers
• Windows Phone 7 Applications can be Silverlight based
– Keep in mind that you are developing for a phone
• The Windows Phone 7 Application Model is familiar to Game Developers
• Windows Phone 7 Applications can be XNA based
– Keep in mind that you are developing for a small device
• The Windows Phone 7 Application Model is familiar to WM Developers
• The life of managed application developers becomes easier
– No P/Invoke, limited number of form factors
Hardware Foundation
Capacitive touch
4 or more contact points

Sensors
A-GPS, Accelerometer, Compass, Light, Proximity

Camera
5 mega pixels or more
800 or 480

Multimedia
Common detailed specs, Codec acceleration

Memory
256MB RAM or more, 8GB Flash or more

GPU
DirectX 9 acceleration

CPU
ARMv7 Cortex/Scorpion or better

Hardware buttons | Back, Start, Search

480 or 320
Elements of the Application Platform

Runtime – On “Screen” Tools

Sensors Media Data Location Phone Emulator

Phone Xbox LIVE Notifications Samples Documentation

.NET Framework managed code sandbox Guides Community


Packaging and Verification Tools
SCREEN
CLOUD Cloud Services Portal Services
Notifications App Deployment Registration Marketplace

Location Identity Feeds Validation MO and CC Billing

Social Maps Certification Business Intelligence

Publishing Update Management


Cloud Services

Windows Phone Your Web Service


Custom Web Service

Windows Phone
Existing Web Services
Application

Microsoft Services
Frameworks

Cloud integration client services


Location Service Notification Service
Location Service

Windows Phone

Microsoft Services
System.Device.Location

Location client service


Location Service
Microsoft Visual Studio 2010 Express for
Windows Phone
IOS

37
iPhone Overview
• Smart Phone
• iPod (Widescreen)
• Wireless Internet Communication Device
• Wifi 802.11 b/g
• PDA
• Computer (OS X)
• Camera
• Multi-Touch interface
• GPS
• App Store
iPhone Development
• Development done with the help of iPhone SDK
• Uses Objective-C
• IDE XCODE
• Only push your application through App Store
• 99 $ membership
• Review of your application
 Code also
• 70 % and 30 % share.
iPhone SDK
• iPhone Sdk have five powerful tools to do iPhone programming.

1. XCODE
• Professional text editor
• Debugger
• GCC compiler
2. Interface Builder
• For creating user interface
3. Instruments
• For optimizing application
4. Dash Code
• For creating web applications for Safari
5. iPhone Simulator
Things to consider before programming
• Low resources
• 128 mb Ram
• Limited Battery life

• Application should take less execution time.


• Exceptional Handling
• Multi Touch Events
iPhone OS overview and Technologies
iPhone Os can be viewed as set of layers
Cocoa Touch Layer
• The Cocoa Touch layer comprises the UIKit and Foundation frameworks
(UIKit.framework and Foundation.framework), which provide the basic tools
and infrastructure you need to implement graphical, event-driven
applications in iPhone OS

• iPhone OS uses this layer to implement features:


• Application management
• Graphics and windowing support
• Event-handling support
• User interface management
• Objects representing the standard system views and controls
• Support for text and web content
• Accelerometer data
• The built-in camera
• The user’s photo library
• Device-specific information
Media Layer
• The Media layer provides graphics and media technologies in iPhone OS that are
geared toward creating most advanced multimedia experience on a mobile device
• Graphics Technologies
• technologies to do your 2D and 3D drawing
• OpenGLES.framework (OpenGL), EAGL.framework, QuartzCore.framework (Core
Animation), Core- Graphics.framework (Quartz)
• Core Audio
• Native support for audio is provided by the Core Audio family of frameworks
• CoreAudio.framework (audio type and file info), AudioToolbox.framework
(playback and recording), AudioUnit.framework (audio processing)
• OpenAL
• The Open Audio Library (OpenAL) interface is a cross-platform standard for
delivering 3D audio in applications
• Video Technologies
• iPhone OS provides support for full-screen video playback through the Media
Player framework (MediaPlayer.framework)
• supports the playback of movie files with the .mov, .mp4, .m4v, and .3gp filename
extensions
Core Services
• The Core Services layer provides the fundamental system services that all applications use
• Address Book
• AddressBook.framework: provides programmatic access to the contacts stored on a
user’s device
• AddressBookUI.framework: complements the Address Book framework by providing a
graphical interface for accessing the user’s contacts
• Core Location
• CoreLocation.framework: lets you determine the current latitude and longitude of a
device
• CFNetwork
• CFNetwork.framework: high-performance, C-based framework that provides a set of
object-oriented abstractions for working with network protocols, for tasks such as
communicating with FTP and HTTP servers or resolving DNS hosts
• Security
• Security.framework: provides interfaces for managing certificates, public and private
keys, and trust policies
• SQLite
• The SQLite library lets you embed a lightweight SQL database into your application
without running a separate remote database server process
• From your application, you can create local database files and manage the tables and
records in those files
Core OS
• The Core OS layer encompasses the kernel environment, drivers, and
basic interfaces of the operating system

• iPhone OS provides a set of interfaces for accessing many low-level


features of the operating system. Your application accesses these
features through the LibSystem library. The interfaces are C-based and
provide support for the following:
• Threading (POSIX threads)
• Networking (BSD sockets)
• File-system access
• Standard I/O
• Bonjour and DNS services
• Locale information
• Memory allocation

You might also like