Developing for Symbian OS

advertisement
Developing for Symbian OS
Andrei Tabarcea, 31.01.2011
Content
1.
2.
History and market share
Developing applications for Symbian
1.
2.
3.
3.
Symbian C++
Java ME
Web Runtime Toolkit
Publishing applications for Symbian
A Bit of History
Symbian 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
Global Market Share


Smartphone OS Market Share Q3 2010
Source: Gartner Research
Symbian is still the most
popular smartphone OS
in the world
Android is predicted to
take over the first place
by 2015
Symbian OS Does Not Exist in
the USA
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)
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.)
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
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 OS
Disadvantages:
 Steep learning curve
 Complicated application signing process
 You have to do your own memory management
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
Symbian C++ Class Types




T – Data type classes.
C – Heap allocated classes derived from
CBase
R – Resource classes.
M – Interfaceclasses(‘mixins’)
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
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
Java ME
Advantages:

Easier to develop

Compatibility with other platforms (theoretical)

Garbage Collector takes care of memory management

Certification is simpler
Disadvantages:

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
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
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
Web Runtime Toolkit Widgets
Advantages:
 Use of HTML/CSS/Javascript allows easily
creating good interfaces
 Easy access to Nokia API’s such as OVI Maps
Disadvantages
 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
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
Application signing for
Symbian OS
Andrei Tabarcea
01.02.2011
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/codesigning/index.html
Sign the .jar file using IDE or command line
utilities
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
Symbian C++ - Capabilities
Signing Types
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
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/openSig
nedOnline.do
Wait for confirmation email and go to confirmation link
Wait for download email and go to download link
Example
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
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
Start GPS on Java ME
Start GPS on Java ME
Questions
Thank you!
Download