Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Qt Application Development on Harmattan


Published on

Brief introduction to development of native applications on Harmattan.

Presentation originally given in Maemo Summit 2009.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Qt Application Development on Harmattan

  1. 1. <ul><li>Qt Application Development on Harmattan </li></ul>Maemo Summit 2009, Amsterdam 9.10.2009, 1630-1655 Presentation: Ville Lavonius – [email_address] Demo: Thorbjørn Lindeijer – [email_address]
  2. 2. One topic – two presentations <ul><li>Qt programming on Harmattan is popular enough topic to require two presentations in the Summit: </li></ul><ul><ul><li>This is a gentle introduction to the topic. </li></ul></ul><ul><ul><li>On Sunday @1130 Sergiy Dubovik & Ian Monroe will run a workshop. </li></ul></ul><ul><li>Other related presentations are noted on the following slides. </li></ul>
  3. 3. 2 > 1, even in software development <ul><li>N770 – N800 – N810 </li></ul><ul><li>Tools with a rough edge. </li></ul><ul><li>Platform and application development using the same tools. </li></ul><ul><li>N900  … </li></ul><ul><li>Tools with a lower threshold. </li></ul><ul><li>Separate toolkits for platform and application development. </li></ul>
  4. 4. Native development for Harmattan <ul><li>SDK for Maemo 6 </li></ul><ul><ul><li>Lower the barrier of entry for new developers </li></ul></ul><ul><ul><li>Multiple host environments supported (Linux, Windows, …) </li></ul></ul><ul><li>Platform SDK for Maemo 6 </li></ul><ul><ul><li>Preserve current functionality </li></ul></ul><ul><ul><li>Introduces Scratchbox 2 </li></ul></ul><ul><li>System QEMU </li></ul><ul><ul><li>Emulates the entire software stack </li></ul></ul><ul><ul><li>OpenGL graphics shuttled to the development host GPU </li></ul></ul><ul><ul><li>Tool to introduce events (posture changes, resource shortfalls, ...) </li></ul></ul>Non-native application development right after this presentation. Development Nirvana lightning talk on Saturday.
  5. 5. Role of application frameworks <ul><li>Qt turns from an add-on to an integral part of the platform. </li></ul><ul><li>Hildon turns from an integral part of the platform to a community-supported alternative. </li></ul><ul><li>You can mix and match, the device can contain applications that use different frameworks: </li></ul><ul><ul><li>Maemo 6 UI </li></ul></ul><ul><ul><li>Qt </li></ul></ul><ul><ul><li>Hildon </li></ul></ul><ul><ul><li>Web runtime (standalone or embedded) </li></ul></ul><ul><ul><li>No framework at all / roll-your-own </li></ul></ul>Maemo 5 Maemo 6 Hildon Qt Maemo 6 UI Hildon’s future direction is presented tomorrow evening. Maemo 6 UI framework is presented tomorrow morning.
  6. 6. Maemo 6 UI <ul><li>Maemo 6 adds a new UI paradigm onto the software stack. </li></ul><ul><li>It provides a new widget set for developers. </li></ul><ul><li>The main element of the new UI style is its directness: data is operated in situ, without need to activate commands from a menu. </li></ul><ul><li>The UI is optimized for small, finger-operated screens. </li></ul><ul><li>The new hardware is used to the fullest. </li></ul><ul><li>Applications can use full screen or be widgets. </li></ul>The updated Maemo architecture is presented in the very next slot. Maemo 6 UI framework is presented tomorrow morning.
  7. 7. Qt tools for developers <ul><li>Qt Creator IDE </li></ul><ul><ul><li>An integrated development environment for coding and debugging. </li></ul></ul><ul><ul><li>Wraps tools, both Maemo-specific and generic – all available in IDE-agnostic fashion. </li></ul></ul><ul><li>Graphical UI designer </li></ul><ul><ul><li>Qt Designer in Maemo 5 timeframe. </li></ul></ul><ul><ul><li>Will evolve for Maemo 6. </li></ul></ul>
  8. 8. Maemo API <ul><li>Futureproof set of programming interfaces. </li></ul><ul><li>The goal is to minimize need to create multiple versions of an application. </li></ul><ul><li>The API is defined through the development cycle of Maemo 6, and will take into account developer needs as well. </li></ul><ul><li>Heavily based on Qt principles, though the existing open source components will not be paved over with new API layers. </li></ul>Qt Mobility API presentation on Saturday
  9. 9. Best practices – patterns <ul><li>Familiarize yourself with Qt – it’s the basis for the new UI framework. </li></ul><ul><li>Familiarize yourself with Maemo 6 UI – available now, with more information to be released in upcoming months. </li></ul><ul><li>Separate UI and logic of the application as much as possible. </li></ul><ul><li>Participate in the definition of the Maemo API to ensure that the interfaces your application needs will be there. </li></ul>
  10. 10. Best practices – antipatterns <ul><li>Do not expect a 1:1 correspondence between the frameworks (guidance to be published). </li></ul><ul><li>Do not expect the entire Hildon widget set to be present (again, guidance to be published). </li></ul><ul><li>Do not expect to be able to mechanically port your application (e.g. portrait/landscape mode). </li></ul>
  11. 11. How and when to start <ul><li>First code drop of Maemo 6 right here in the Summit, read-only, enables getting familiar with some of the core UI functionalities. </li></ul><ul><li>The SDK for Maemo 6 is under development, and the alpha versions will be available early next year. </li></ul>DON’T WAIT Start developing for Fremantle already today, the SDK is available, and the devices as well. The availability of system QEMU lowers the barrier of entry significantly.
  12. 12. Thank you