Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mobile Development Environments Juha Linnanen Evtek 11.10.2006.

Similar presentations


Presentation on theme: "Mobile Development Environments Juha Linnanen Evtek 11.10.2006."— Presentation transcript:

1 Mobile Development Environments Juha Linnanen Evtek 11.10.2006

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

3 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

4 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

5 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.

6 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

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

8 Java (J2ME) Found also in non smartphone OSs, 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

9 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

10 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 todays 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.

11 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

12 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).

13 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.

14 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)

15 J2ME Strengths & Weaknesses Strengths: Device support Lack of learning curve Easy GUI development Multiple IDEs 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

16 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.

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

18 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.

19 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)

20 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)

21 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).

22 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

23 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.

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

25 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.)

26 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

27 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!

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

29 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

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

31 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.

32 Montavista DevRocket

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

34 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.

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

36 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

37 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.

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

39 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.

40 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 todays Java APIs Flash Lite 2.0 integrated

41 Thank you. Questions?


Download ppt "Mobile Development Environments Juha Linnanen Evtek 11.10.2006."

Similar presentations


Ads by Google