Developing for Symbian OS Andrei Tabarcea, 31.01.2011.
Transcript of Developing for Symbian OS Andrei Tabarcea, 31.01.2011.
![Page 1: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/1.jpg)
Developing for Symbian OS
Andrei Tabarcea, 31.01.2011
![Page 2: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/2.jpg)
Content
1. History and market share2. Developing applications for
Symbian1. Symbian C++2. Java ME3. Web Runtime Toolkit
3. Publishing applications for Symbian
![Page 3: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/3.jpg)
A Bit of HistorySymbian OS is a multitasking smartphone
operating system 1998 – Started as a partnership between
companies such as Nokia, Ericsson, Motorola and Psion (Symbian Ldt.)
2008 – Symbian Ldt. was bought by Nokia and turned into Symbian Foundation
February 2010 – Symbian became open source November 2010 – Nokia took over the
development of Symbian OS and Symbian Foundation became a licensing-only organisation
![Page 4: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/4.jpg)
Global Market Share
Symbian is still the most popular smartphone OS in the world
Android is predicted to take over the first place by 2015
Smartphone OS Market Share Q3 2010Source: Gartner Research
![Page 5: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/5.jpg)
Symbian OS Does Not Exist in the USA
![Page 6: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/6.jpg)
Version History
Series 60 3rd Edition (e.g. Nokia N95, Nokia C5-00)
Symbian^1 (aka Series 60 5th edition, e.g. Nokia N97, 5230, 6800 XpressMusic)
Symbian^2 (some phones from DoCoMo and Sharp)
Symbian^3/Symbian^4 (e.g. Nokia N8, C6-01, C7-00, E7-00)
![Page 7: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/7.jpg)
Developing for Symbian OS
Symbian OS supports development using: Symbian C++ (and QT Framework) Java ME HTML, CSS and Javascript Web Runtime
(WRT) Python Others (Standard C/C++, Flash Lite,
Ruby, .NET etc.)
![Page 8: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/8.jpg)
Developing Applications for Symbian
Register on www.forum.nokia.com Install specific SDK/emulators. Options:
Symbian emulators: S60 3rd edition FP1, FP2, S60 5th edition, Symbian^3
Java ME emulators: WTK (Java Wireless Toolkit), Java Platform Micro Edition SDK
Install IDE with mobility plugins (Eclipse, Netbeans, Carbide, Aptana Studio etc.)
Install Nokia OVI Suite for easier phone access
Develop, build and deploy Publish to website and/or OVI Shop
![Page 9: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/9.jpg)
Symbian C++
Advantages: Full access to Symbian API’s and phone resources Applications are not run by virtual machine Better debugging and profiling tools It’s the primary language for writing Symbian OSDisadvantages: Steep learning curve Complicated application signing process You have to do your own memory management
![Page 10: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/10.jpg)
Symbian C++ Particularities Was created before C++ itself (1998) Later C++ additions (exceptions, namespaces) are
not supported Has some non-standard C++ characteristics (e.g.
own mechanism for exception handling, specific classes for string manipulations etc.)
Most data types are defined with macros Projects have a complex structure There are 4 basic class types Other particularities: leaves, traps, panics,
CleanupStack and Active Objects instead of threads
![Page 11: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/11.jpg)
Symbian C++ Class Types
T – Data type classes. C – Heap allocated classes derived
from CBase R – Resource classes. M – Interfaceclasses(‘mixins’)
![Page 12: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/12.jpg)
Recommended IDE – Carbide.c++ Based on Eclipse IDE Carbide.c++ is provided in two different
tool packages: Application Development Toolkit (ADT)
contains tools for application development, including the IDE, debugger, and analysis tools
Product Development Toolkit (PDT) contains tools for contribution and product creation
Alternative: CodeWarrior
![Page 13: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/13.jpg)
QT Framework QT is a cross-platform application framework Will be the new UI Framework of Symbian OS Development company (Qt Development Frameworks) is
owned by Nokia Easy porting to Maemo OS is aimed Best chance to save the future of Symbian OS Development can be done with Carbide C++ or QT
Creator IDE
![Page 14: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/14.jpg)
Java MEAdvantages: Easier to develop Compatibility with other platforms (theoretical) Garbage Collector takes care of memory management Certification is simplerDisadvantages: Light version of Java Access to some resources is restricted (even with certification) Different implementations of Java Virtual Machine on different
phone models Bad memory management Default UI library (lcdui) is very restricted and difficult to
customize (needs use of an external library such as LWUIT) Default UI programming pattern is not suited for big projects
![Page 15: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/15.jpg)
Recommended IDEs
Eclipse vs. NetBeans: Eclipse is faster Carbide.c++ is a modified version of Eclipse NetBeans has better editors (screen editors,
flow editors) NetBeans has better support for sharing code
between projects
![Page 16: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/16.jpg)
Emulators
Symbian emulators vs Sun Java Emulators Sun Java emulators are much faster and
use less disk space/resources Sun Java emulators simulate ideal case Symbian emulators simulate how the
application actually runs on a phone Symbian emulators have some stability
issues
![Page 17: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/17.jpg)
Web Runtime Toolkit Widgets
Advantages: Use of HTML/CSS/Javascript allows easily
creating good interfaces Easy access to Nokia API’s such as OVI MapsDisadvantages Few models support it (since S60v5) Main purpose is to develop home-screen
widgets (focused web applications) Restrictions in using HTML and Javascript Restrictions in using some resources
![Page 18: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/18.jpg)
Publishing Applications for Symbian OS
Options: Publish through own website Publish through Ovi Store
1-time publisher registration fee of 1€ Nokia offers a 70% revenue share of
gross sale (as of 2010) Now Nokia offers for free:
Java Verified signing for Jave ME apps Express signing for Symbian C++ apps
![Page 19: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/19.jpg)
Application signing for Symbian OS
Andrei Tabarcea01.02.2011
![Page 20: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/20.jpg)
Java ME
Steps: Add which permissions to acquire in .jad file
(javax.microedition.io.Connector.http) Get code certificate from a trusted authority:
Verisign - http://www.verisign.com/products/signing/code/
Thawte - https://www.thawte.com/code-signing/index.html
Sign the .jar file using IDE or command line utilities
![Page 21: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/21.jpg)
Buy Certificate Generate a Certificate Signing Request
(public key generated by IDE) Buy certificate:
Certificate costs $499 per year (100$ per year discount on longer periods) from Verisign
Certificate costs $299 per year ($549 per 2 years) from Thawte
Provide authorization credentials Pay and pick up certificate
![Page 22: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/22.jpg)
Symbian C++ - Capabilities
![Page 23: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/23.jpg)
Signing Types
![Page 24: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/24.jpg)
How to Get?
Publisher ID: purchase from TC TrustCenter (www.trustcenter.de/order/publisherid/dev) - $200 per year
Symbian Signed account (free) www.symbiansigned.com
Certificate creation tools http://developer.symbian.com/wiki/display/pub/Symbian+Signed+Tools
![Page 25: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/25.jpg)
How to Use Open Signed Online Go to SymbianSigned.com Create account Generate UID for your application Compile application using provided UID Get IMEI from the devices you want to test the
application on Upload application to
https://www.symbiansigned.com/app/page/public/openSignedOnline.do
Wait for confirmation email and go to confirmation link Wait for download email and go to download link
![Page 26: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/26.jpg)
Example
![Page 27: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/27.jpg)
How to Express Sign Get Publisher ID from TC TrustCenter ($100) Purchase Content ID for TC TrustCenter ($20
per signing) Sign the application with Publisher ID using
SignSis Submit application to Symbian Signed Download signed application from Symbian
Signed Optionally, the application could be selected
for audit
![Page 28: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/28.jpg)
Ovi Shop Nokia can sign your Java ME apps as
Java Verified Nokia can sign you Symbian C++ apps
as Express Signed (Certificates are valid for only three months)
You have to register as publisher (€1) Nokia does a QA review, ensuring that
the app meets signing criteria as well as their own test requirements
![Page 29: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/29.jpg)
Start GPS on Java ME
![Page 30: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/30.jpg)
Start GPS on Java ME
![Page 31: Developing for Symbian OS Andrei Tabarcea, 31.01.2011.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649c775503460f9492c74f/html5/thumbnails/31.jpg)
Questions
Thank you!