Mobile Development Environments Juha Linnanen Evtek 11.10.2006.

Slides:



Advertisements
Similar presentations
Question examples. Session 1 Objectives Why certify? Positioning of the non-technical version What is Java? Key advantages of Java Java Applications vs.
Advertisements

1 Pulsar The Eclipse Mobile Industry Working Group & Sequoyah Nov 6, 2010 Mailing listMailing list:
WHAT IS ANDROID? A Software platform and operating system for mobile. Based on the Linux kernel. Android was found way back in It was developed.
Presentation 11: Developing for small devices. Ingeniørhøjskolen i Århus Slide 2 af 11 Outline Which small devices? What are the limitations and what.
Presentation 11: SOAP on small devices. Ingeniørhøjskolen i Århus Slide 2 af 14 Outline Which small devices? What are the limitations and what kind of.
Pengantar Teknologi Mobile 12
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Dirk van Schalkwyk Supervisor: Prof Greg Foster Co-Supervisor: Mrs Madeleine Wright Project Title: A Comparative Study of JME and Flash Lite for Mobile.
J2ME 25 July Overview  What is J2ME?  The CLDC and CDC configurations  MIDP and MIDlets  Development Tools  Demonstrations.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Quality Assurance and Testing of J2ME Programs for Mobiles Phones.
Robin Estabrooks Computer Science 1631, Winter 2011.
Student Name: Group.  Developed by Microsoft  Alliance with Nokia in 2011  4 main functions:  Outlook Mobile  Windows Media Player for Windows Mobile.
Mobile Mobile OS and Application Team: Kwok Tak Chi Law Tsz Hin So Ting Wai.
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
DEPARTMENT OF COMPUTER ENGINEERING
© 2009 Research In Motion Limited Methods of application development for mobile devices.
J2ME Prepared by: - Gaery- Ronny - Alan- Andy. Why Technology for Mobile Devices? The nature of wireless devices is changing Old devices: All the software.
Making Cell Phone Games An Overview Ray Ratelis Guild Software, Inc.
Mobile Application Development
V0.01 © 2009 Research In Motion Limited Understanding Java APIs for Mobile Devices Trainer name Date.
Cosc 4730 Phone Programming in Java An Introduction.
University of Jyväskylä 1 MODPA Platform Independent Design of Mobile Applications WIM Workshop 2004 Teemu Ihalainen Information Technology Research.
Java 2 Platform, Micro Edition (J2ME) By Xiaorong Wang.
SM3121 Software Technology Mark Green School of Creative Media.
Development of mobile applications using PhoneGap and HTML 5
J2ME and WAP Technologies CSCI – Independent Study Fall 2002 Presented by: Kashif Syed.
Introduction to Android Platform Overview
Introduction to Mobile Applications. Wireless Applications Personal Time and KnowledgeManagemnt Personal Health & Security PersonalNavigation Remote Monitoring.
Python for S60 SmartPhones PostPC Workshop Fall 2006 Amnon Dekel.
Symbian os with smart phones Guided by: Hetal A Josiyara
To be Presented by, T.Sathishkumar [11mw07] 1. Synopsis Introduction Version Features License An Application Development Demo Possibilities Advantages.
Android Introduction Platform Overview.
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Presentation 11: SOAP on small devices. Ingeniørhøjskolen i Århus Slide 2 af 11 Outline Which small devices? What are the limitations and what kind of.
Week II Platforms and Engines. Overview Platforms and Engines Tools and SDKs Netbeans Game Development Walkthrough
Framework and application bytecode size CLDC MIDP kXML parser Utility classes Graphics Logic (MIDlet) Application Data (XML file)
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
J2ME Presented by May Sayed & Menna Hawash. Outline Introduction “Java Technology” Introduction “What is J2ME?” J2ME Architecture J2ME Core Concepts 
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
1Basics of J2ME. 2 Objectives –Understand the different java API’s and how the mobile edition API’s fit in –Understand what a mobile configuration and.
Martin Schmidt / The Silent Revolution Mobile Java.
CHAPTER TEN AUTHORING.
© 2002 IBM Corporation Confidential | Date | Other Information, if necessary June, 2011 Made available under the Eclipse Public License v Mobile.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
November 2006Mobile Prototyping Workshop Flash Lite 2.0 Dean Eckles Greg Cuellar.
PLATFORM A new platform that wants to be a new standard JavaFX
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
The Whole new Experience - By Mahesh Chauhan. Its sounds strange but the fact is that :-  More than 90% of the CPUs in the world are not in desktops.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By : Abhishek Verma Main Topics : 1. Introduction 2. Platform 3. Software Development 4. Overall Evaluation.
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Enhanced mobile services in Java enabled phones Björn Hjelt Sonera zed ltd Supervisor: Professor Jorma Jormakka.
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
Mobile Computing Lecture#01 Mobile Horizon. Leading Mobile Phone Technologies  iOS  Android  Blackberry  Symbian  Windows Phone  J2ME.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Advance Computer Programming Market for Java ME The Java ME Platform – Java 2 Micro Edition (J2ME) combines a resource- constrained JVM and a set of Java.
Visual Mobile Applications with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
Visual Mobile Gaming Your Name Sun Campus Ambassador Your Address.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Introduction to Mobile Computing
Part II Software When developing software there are several particularities to be aware of: Java is widespread used because of the platform independence.
Android.
A Canonical Production January 2013
MOBILE DEVICE OPERATING SYSTEM
Wireless Instant Messaging Using J2ME
Contents: Introduction Different Mobile Operating Systems
OPERATING SYSTEMS.
CSC 581: Mobile App Development
Presentation transcript:

Mobile Development Environments Juha Linnanen Evtek

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

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

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

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.

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

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

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

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

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.

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

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

MIDP versions MIDP 1.0 is the base version. MIDP 2.0 is downward compatible with MIDP 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.

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)

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

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.

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

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.

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)

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)

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

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

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.

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

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

Flash Lite (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

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!

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

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

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

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.

Montavista DevRocket

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

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.

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

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

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.

Agenda Introduction Java (J2ME) Symbian Flash Lite Browser based Linux Windows Mobile Other environments 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.

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

Thank you. Questions?