mobile development environments juha linnanen evtek 11.10.2006

41
Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Upload: garett-ferring

Post on 31-Mar-2015

224 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Mobile Development Environments

Juha LinnanenEvtek11.10.2006

Page 2: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Agenda

Introduction Java (J2ME) Symbian Flash Lite Browser based Linux Windows Mobile Other environments Conclusion

Page 3: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Introduction

Smartphones (advanced capabilities). One of the key features of a smartphone is extendability

through third party applications. Development environment will largely depend on the OS

and other features of the specific phones. Focus:

Define different mobile development environments Find out their strengths and weaknesses

Page 4: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Smartphone OS Market Share

Worldwide situation Big players:

Nokia (Symbian) SonyEricsson (Symbian) Motorola (Linux) Samsung (Linux) Microsoft (Windows)

Symbian is even more dominant in Finland

Linux doing well in Asia Windows doing well in United

States

OS Market share 2005

6 %

13 %

4 %

23 %

54 %

Symbian Linux

Windows Palm

Other

Page 5: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Device volumes for developing

800 Million handsets sold totally.

Devices able to run: 400 Million – Java (J2ME) 80 Million – Symbian 36 Million – Native Linux C/C+

+ 20 Million – Windows Mobile

(C# or VB.NET) Browser based is cross-

platform solution. Flash Lite can be run when a

standalone player is found.

Page 6: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

OS Developer environment support

Symbian: Native Symbian (C++) Java (J2ME) Flash Lite Browser based

Linux: Native C/C++ Java (J2ME) Browser based

Windows: C# VB.NET Browser based

Others: BREW Python

Page 7: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Agenda

Introduction Java (J2ME) Symbian Flash Lite Browser based Linux Windows Mobile Other environments Conclusion

Page 8: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Java (J2ME)

Found also in non smartphone OS’s, such as Nokia Series 40 phones.

Java platform: Java language Java virtual machine Java APIs

Configuration Profile External APIs

Ideal for an all-around solution, if the J2ME platform provides the needed functionality

Page 9: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

KVM (Kilo virtual machine)

Complete Java runtime environment for small devices

Small static footprint of 50 to 80 KB As complete and fast as possible

Page 10: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

J2ME Configurations

Configurations detail a base set of APIs that can be used with certain class of device.

CLDC (Connected Limited Device Configuration) For small wireless devices with network

connections. Support found in today’s mobile phones.

CDC (Connected Device Configuration) Subset of J2SE, containing almost all the libraries

that are not GUI related. It is richer than CLDC. For larger devices with a robust network connectios.

Page 11: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Profiles

A profile builds on a configuration but adds more specific APIs to make a complete environment for building applications

MIDP (Mobile Information Device Profile) Defines device specifics (screen size, input, memory

size) Build on top of CLDC Covers area omitted by the CLDC

MIDP 1.0 and 2.0 available

Page 12: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

MIDP functionality

MIDP covered areas: Application life cycle management (classes and

methods for starting, pausing and destroying applications).

User interface and events (classes and interfaces for creating GUI components).

Network connectivity (extends CLDC connectivity classes to allow HTTP connections).

Storing data on device (implements record-based database management system).

Page 13: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

MIDP versions

MIDP 1.0 is the base version. MIDP 2.0 is downward compatible with MIDP 1.0 2.0 improves and enchances the profile in many

significant ways (threading, security etc.) Applications written for MIDP are called MIDlets. Almost all new mobile phones come with a MIDP

implementation.

Page 14: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

J2ME additional APIs

File I/O and PIM (JSR-75) Bluetooth API (JSR-82) Mobile Media API (JSR-135) Location API (JSR-172) Others (SIP API, Web Services API, 3D

Graphics API, Scalable 2D Vector Graphics API and so on)

Page 15: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

J2ME Strengths & Weaknesses

Strengths: Device support Lack of learning curve Easy GUI

development Multiple IDE’s Multiple emulators Community support

Weaknesses: Sandbox model API fragmentation Model differences Non native GUI No access to all

native resources Not as fast as native

Page 16: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

J2ME Future

MIDP 3.0 ? MSA (JSR-248) to avoid API fragmentation. Rich UI support matching native capabilities.

Swing (Sun) eSWT (Nokia)

Enables platform extensions after manufacturing. Device Remote Management. Service oriented modularity.

Page 17: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Agenda

Introduction Java (J2ME) Symbian Flash Lite Browser based Linux Windows Mobile Other environments Conclusion

Page 18: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Symbian

Symbian is an independet company whose mission is to establish Symbian OS as the world standard for mobile systems.

Symbian sells licenses to the phone manufacturers. Buyers are mostly the same companies that own Symbian Ltd.

Page 19: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Symbian OS History

Versions (1/2): Epoc (v5) Symbian OS 6.0, 6.1 Symbian OS 7.0

(S60/UIQ 1st Ed.) Symbian OS 8.0, 8.1, 8.2

(S60/UIQ 2nd Ed.)

Epoc V5(Ericsson R380)

Symbian 6.1(Nokia 7650)

Symbian 7.0(Ericsson P800)

Symbian 8.1(Nokia 6680)

Page 20: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Symbian OS History (continued)

Versions (2/2): Symbian OS 9.1 (S60 3rd Ed.) Symbian OS 9.2 (S60 3rd Ed. FP1

Q1/2007) Symbian OS 9.3 already coming.

Symbian 9.1(Nokia N91)

Page 21: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Symbian Software Platforms

Software platform offers a GUI layer to the operating system.

It usually consists of a suite of libraries and standard applications.

There are two main Symbian software platforms: S60 (Nokia), which is designed to be used with only

one hand. UIQ (SonyEricsson), which is designed to be used

with a touchscreen (two hands). Both support Symbian C++ and Java (J2ME).

Page 22: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Symbian Development

Binary break between S60 2nd and 3rd Edition.

Symbian signing. Formerly hard to find the right tools. Now free Carbide.c++

Eclipse based Nokia SDK support

Page 23: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Symbian Development

Strengths: Access to native APIs Native GUI Performance

Weaknesses: Proprietary formats Learning curve Development time Documentation

Ideal for speed-critical applications with a long timeline and options for significant development investment.

Page 24: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Agenda

Introduction Java (J2ME) Symbian Flash Lite Browser based Linux Windows Mobile Other environments Conclusion

Page 25: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Flash Lite

Flash Lite is a subset of Flash

developed for mobile devices. Flash combines easy GUI development

(vectors) to a scripting language. Some of the current phones support

Flash Lite 1.1 (2004->) 1.1 based on Flash 4, which has significant limitations

(such as Actionscript 1.0, no persistent data etc.)

Page 26: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Flash Lite 2.0

2.0 (2006->) improves the platform to cover these shortcomings Based on Flash 7 Actionscript 2.0 Device video support Ability to store and retrieve persistent data XML and media support New Mobile Emulators

Page 27: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Flash Lite Strengths & Weaknesses

Strengths: Rapid development Development like in

normal Flash Graphical interface Vectors Powerful scripting

Weaknesses: Phones missing the

standalone player Power hungry Complex is complex!

Page 28: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Agenda

Introduction Java (J2ME) Symbian Flash Lite Browser based Linux Windows Mobile Other environments Conclusion

Page 29: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Browser based

Strengths: Cross-platform Dynamic content Ease of development

Weaknesses: Latency Network data rates Device accessibility GUI development

Ideal for lightweight functionality, a web-interface for an existing application with no latency concerns, or a widely varying platform base

Example: Sonera vs. Elisa MobileTV

Page 30: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Agenda

Introduction Java (J2ME) Symbian Flash Lite Browser based Linux Windows Mobile Other environments Conclusion

Page 31: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Linux

Although Linux worlwide OS market share was 23%, it is yet to make a large impact in Europe.

Linux smartphones have had the greatest success in Asia (China).

Support for native C/C++ applications and J2ME applications.

OS comes with different flavors (QTopia, Montavista, Mobilinux, Bluecat etc.)

Each have their own implementation of Linux and atleast some differences in developing.

Page 32: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Montavista DevRocket

Page 33: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Agenda

Introduction Java (J2ME) Symbian Flash Lite Browser based Linux Windows Mobile Other environments Conclusion

Page 34: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Windows Mobile

Proprietary platform. Most of the Windows Mobile phones sold

in United States. Support for C# and VB.NET development. Visual Studio 2005 is the development

environment for Windows Mobile. Does not support Java (J2ME) out of the

box.

Page 35: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Agenda

Introduction Java (J2ME) Symbian Flash Lite Browser based Linux Windows Mobile Other environments Conclusion

Page 36: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Other environments - BREW

CDMA –based device support (North America and Japan)

Software for the BREW-enabled handsets can be developed in C/C++

Competes mainly with J2ME. Mostly used to develop small application, such as games.

Strengths: Standard APIs Game friendly Business ($$$)

Weaknesses: Development costs Support No compression

Page 37: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Other environments - Python

High level programming language. Ease of coding and readability over

performance. "Speed is not a problem until it is a problem". Especially good for prototyping. Mobile phones need a runtime library

(available for S60) in order to run Python applications.

Page 38: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Agenda

Introduction Java (J2ME) Symbian Flash Lite Browser based Linux Windows Mobile Other environments Conclusion

Page 39: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Conclusion

Development field is widely fragmented. Rapid changes makes it even harder. Careful planning needed when choosing a

development environment. Alot of testing and sweating needed. Already possible to create future

applications today.

Page 40: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Future phones

Nokia N95 GPS HSDPA (3.5G) WIan 5 MPixel camera Bluetooth (A2DP) TV-Out Symbian OS 9.2 (S60 3rd ed. FP1) Support of all today’s Java APIs Flash Lite 2.0 integrated

Page 41: Mobile Development Environments Juha Linnanen Evtek 11.10.2006

Thank you.

Questions?