Meego Wiki
Views

Qt across (Maemo-)MeeGo & Symbian

From MeeGo wiki
Revision as of 09:16, 9 October 2010 by Sivan (Talk | contribs)
Jump to: navigation, search

Contents

Background

The introduction of the Nokia Qt SDK enables great ideas to become reality, in a cross platform way. "Code once, deploy everywhere" is not just a slogan for latest Qt releases, and the recent additions of API stacks like Mobility, QMF and sensors stretches what you can do by purely using the Qt framework. This allows great exploitation of the underlying platform while maintaining straight forward API usage and relatively relaxed learning curve.

This latest additions have been exemplified mostly on Nokian mobile Linux computer platforms. I would like to be able to offer Symbian developers the same great building blocks to build great software using pure Qt just as it is slowly being realized on the N900/Maemo/MeeGo.

I think this is very important in order to keep the Symbian offering live and up to date, and not fall behind the Mobile Linux computers application development offering. I feel this is important in order to revive the Symbian experience, as historically developing for the platform required specific lowlevel platform knowledge and usage of somewhat exotic development, signing and deployment paradigms that are even to date, considered by Symbian developers hard and unpleasant.

I would like to change this and make Symbian development fun, educational and rewarding through the latest Qt offerings, removing as much as possible the historic barriers. Nokia's latest changes to the signing and individual app publishing are great steps towards that, as an example.


Breakdown to milestones

To make the MeeGO-Symbian cross application development experience complete I would like to pursue:


  • Blogging about new features that allow to code once deploy everywhere. Code snippets that exemplify and emphasis cross platform-ness.
  • Be in constant touch with developer community to see what they liked to be taken from N8 to N900 and vice versa ( == S^3 <-> MeeGo)
  • Create guides and tutorials / blog posts about how to port an app that uses feature or api X in either platforms to the other if use of api X feature requires porting work.
  • blog and write about porting success stories between the platforms; reach out for companies we know target N8/S3 as well as N900/MeeGo through OVI and ask for their experience. We should be able to learn from their experience, publish it with their consent for good of community and identify where we're great and where not with our support of them.
  • List the features/ api calls that do not need any modifications to be ported, to encourage early consideration of cross Symbian/MeeGo code.
  • Be up to question about porting through a mailing list, an irc channel and a Forum Nokia discussion board and forums.meego.com section.
  • Try to tackle the GUI open-ended problem in places where mobility is not giving the answer; Either by documentation or recipes and bug fixes where applicable and up to my (and interested community members) skills.
  • Covering the progress of Qt components that are slowly getting backends both for Symbian and MeeGo, blog/ announce when they are ready and provide recipies to show them off when backends are available for

both platforms. Posting vidoes.

  • __Very__ distant goal- writing a book about cross platform development for MeeGo and S3 maybe similar to [0]: but with more emphasis on full real world applications (-recipes). The hope is that developers and companies could reuse recipes close to verbatim in their apps.

That might look too ambitious at first glance, but it is planned for over a period of time, the more proximate stuff are the first action items naturally.

[0]: http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470750103.html


Current issues with the Symbian-MeeGo story

Thanks for Ville for pointing this status:

We have 2 Symbian - MeeGo portability stories

- QWidget - QML + Qt Components

(as far as the GUIs go - backend functionality is an open-ended problem, with a lot of it attacked by Qt Mobility).

Unfortunately QWidget stuff is not mature yet for MeeGo, so you can't do a useful analysis of the portability aspects.

As for Qt Components, Symbian backends don't exist yet. and for MeeGo it's a work very much in progress as well.


Collecting Porting Experience

Please use this table to note any current issues you are facing trying to make your application cross platform (MeeGo <-> Symbian).

Please provide the git/svn/bzr/$YOUR VCS clone-able/branchable link so I can easily check out the code and see the build issues and try to run it on my devices to experience your pain. I am interested in creating "porting bugs" so of your issue triggers a bug in the underlying framework I will try best to report it as so.

If you already identified it as not your code's fault, and opened a bug about it, please include the links to the bug reports in the "VCS link" column as well.

If the issue was already solved, please include a link to a solution writeup you could do on the wiki for the benefit of others who face the same issue you did.

Project Name libs used contact person email link to issues page VCS link Solution
Personal tools