1 / 31

Developing for Symbian OS

Developing for Symbian OS. Andrei Tabarcea, 31.01.2011. Content. History and market share Developing applications for Symbian Symbian C++ Java ME Web Runtime Toolkit Publishing applications for Symbian. A Bit of History. Symbian OS is a multitasking smartphone operating system

rudolf
Download Presentation

Developing for Symbian OS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Developing for Symbian OS Andrei Tabarcea, 31.01.2011

  2. Content • History and market share • Developing applications for Symbian • Symbian C++ • Java ME • Web Runtime Toolkit • Publishing applications for Symbian

  3. 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 (SymbianLdt.) • 2008 – SymbianLdt. 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

  4. 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 2010 Source: Gartner Research

  5. Symbian OS Does Not Exist in the USA

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

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

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

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

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

  11. Symbian C++ Class Types • T–Datatypeclasses. • C–Heapallocatedclassesderived from CBase • R–Resourceclasses. • M–Interfaceclasses(‘mixins’)

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

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

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

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

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

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

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

  19. Application signing for Symbian OS Andrei Tabarcea 01.02.2011

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

  21. Buy Certificate • Generate a CertificateSigningRequest (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

  22. Symbian C++ - Capabilities

  23. Signing Types

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

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

  26. Example

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

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

  29. Start GPS on Java ME

  30. Start GPS on Java ME

  31. Questions Thank you!

More Related