Meego Wiki
Views

SDK/Docs/1.1/MeeGo developer story

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
Line 37: Line 37:
== Choosing your environment ==
== Choosing your environment ==
-
MeeGo provides a flexible range of options for developers. To get ready for MeeGo development, you need to decide which of these options to choose:
+
MeeGo provides a flexible range of options for developers. To get ready for MeeGo development, you first need to choose a Host: a physical machine plus operating system, where you will be doing your development work. Once you've made that choice, various SDK options become available, as outlined below.
 +
 
 +
=== Windows (XP, Vista, 7) ===
-
# '''Host'''
 
-
#: A physical machine plus operating system, where you will be doing your development work. This is not necessarily the same physical computer as the one you'll deploy the application to: for example, you might develop on Windows to deploy to a MeeGo handset.
 
-
#: The options available are:
 
-
#:* Linux (Fedora, Debian, Ubuntu, MeeGo)
 
-
#:* Mac
 
-
#:* Windows (XP, Vista, 7)
 
# '''Target'''
# '''Target'''
#: This is comprised of a MeeGo Vertical OS plus Device (real or emulated).
#: This is comprised of a MeeGo Vertical OS plus Device (real or emulated).
Line 51: Line 47:
#:* MeeGo for handsets
#:* MeeGo for handsets
#: The available Devices are:
#: The available Devices are:
-
#:* Xephyr (only available on Linux Hosts)
 
#:* QEMU
#:* QEMU
#:* Real device (for example, real netbook or handset hardware)
#:* Real device (for example, real netbook or handset hardware)
Line 63: Line 58:
#:* [http://qt.nokia.com/products/developer-tools/ Qt Creator] supports Qt (including Qt Mobility, MTF, QML)
#:* [http://qt.nokia.com/products/developer-tools/ Qt Creator] supports Qt (including Qt Mobility, MTF, QML)
#:* [http://www.forum.nokia.com/Develop/Web/9hy25fa/ WebSDK] supports WRT development
#:* [http://www.forum.nokia.com/Develop/Web/9hy25fa/ WebSDK] supports WRT development
 +
#:* Other tool selection: if you have preferred tools for development, it may also be possible to use them to develop for MeeGo
 +
 +
=== Linux (Fedora, Debian, Ubuntu, MeeGo) ===
 +
 +
# '''Target'''
 +
#: This is comprised of a MeeGo Vertical OS plus Device (real or emulated).
 +
#: The available Verticals are:
 +
#:* MeeGo for netbooks
 +
#:* MeeGo for handsets
 +
#: The available Devices are:
 +
#:* Xephyr
 +
#:* QEMU
 +
#:* Real device (for example, real netbook or handset hardware)
 +
# '''Framework'''
 +
#: For MeeGo 1.1, two main frameworks are available to application developers:
 +
#:* [[SDK/Docs/1.1/MeeGo SDK with Qt|Qt]]
 +
#:* [[SDK/Docs/1.1/MeeGo_SDK_with_WRT|Qt Web Runtime (WRT)]]
 +
#: Other alternatives are also available (for example, Python and Ruby code can run on MeeGo), but these are not recommended for application developers.
 +
# '''Developer tools'''
 +
#: You can choose to use one of the available integrated development environments (incorporating project tools, code editor, device simulator, debugger etc.), or use tools of your own choice:
 +
#:* [http://qt.nokia.com/products/developer-tools/ Qt Creator] supports Qt (including Qt Mobility, MTF, QML)
#:* Other tool selection: if you have preferred tools for development, it may also be possible to use them to develop for MeeGo
#:* Other tool selection: if you have preferred tools for development, it may also be possible to use them to develop for MeeGo

Revision as of 10:43, 25 October 2010


This is a draft (2010-10-21)

This should incorporate content from MeeGo SDK Development Options

Contents

Update to developer story on www.meego.com/developers

MeeGo applications are written in C++, Web-technologies, or QML using tools provided by the MeeGo community. Currently, the main SDK is the MeeGo SDK, which allows developers to create native applications using Qt/C++ and Qt Quick. This SDK is based on the Qt Creator SDK, and contains support for Qt 4.7 and Qt Mobility 1.0.2 frameworks. An additional SDK, based on open-source technology, is provided by Nokia for WebRunTime (WRT) developers.

Both these SDKs integrate into the standard development process:

  1. Developer
  2. Debug
  3. Package
  4. Distribute

We take the image from www.meego.com/developers/Developer Story.


Develop

The MeeGo SDK contains a set of toolchains that allows a developer to create binaries for a range of devices from a single code base. The SDK packages several tools that support the simulation of MeeGo devices, so developers can create software without the need for an actual MeeGo device. Currently there are versions of the MeeGo SDK for popular development platforms such as Linux and Windows.

The WRT SDK permits web-technologies, such as JavaScript/HTML/CSS, to be used to create MeeGo applications. The applications themselves are rendered using WebKit technology. It is also possible to create hybrid applications by wrapping a WRT application with a Qt/C++ object. This SDK is also available for several development platforms.

Debug

The MeeGo SDK has support for on-device-debugging, as well as debugging within a MeeGo simulator. This is integrated into the IDE so developers can step through their code and, set breakpoints, and other standard debugging activities. The Web SDK also supports the debugging of WRT applications running within a browser.

Package

The MeeGo SDK generates packages for deploying software to MeeGo devices. For example, when testing software on a MeeGo device from the MeeGo SDK, the software is packaged, sent to the device and installed. WRT applications for MeeGo can be packaged in the same format.

Distribute

Once a MeeGo application has been packaged it can be distributed in different ways. One approach is to use the infrastructure supplied by the MeeGo project for the distribution of free, open-source applications; another approach is to submit the package to an application store.

Optional section

Choosing your environment

MeeGo provides a flexible range of options for developers. To get ready for MeeGo development, you first need to choose a Host: a physical machine plus operating system, where you will be doing your development work. Once you've made that choice, various SDK options become available, as outlined below.

Windows (XP, Vista, 7)

  1. Target
    This is comprised of a MeeGo Vertical OS plus Device (real or emulated).
    The available Verticals are:
    • MeeGo for netbooks
    • MeeGo for handsets
    The available Devices are:
    • QEMU
    • Real device (for example, real netbook or handset hardware)
  2. Framework
    For MeeGo 1.1, two main frameworks are available to application developers:
    Other alternatives are also available (for example, Python and Ruby code can run on MeeGo), but these are not recommended for application developers.
  3. Developer tools
    You can choose to use one of the available integrated development environments (incorporating project tools, code editor, device simulator, debugger etc.), or use tools of your own choice:
    • Qt Creator supports Qt (including Qt Mobility, MTF, QML)
    • WebSDK supports WRT development
    • Other tool selection: if you have preferred tools for development, it may also be possible to use them to develop for MeeGo

Linux (Fedora, Debian, Ubuntu, MeeGo)

  1. Target
    This is comprised of a MeeGo Vertical OS plus Device (real or emulated).
    The available Verticals are:
    • MeeGo for netbooks
    • MeeGo for handsets
    The available Devices are:
    • Xephyr
    • QEMU
    • Real device (for example, real netbook or handset hardware)
  2. Framework
    For MeeGo 1.1, two main frameworks are available to application developers:
    Other alternatives are also available (for example, Python and Ruby code can run on MeeGo), but these are not recommended for application developers.
  3. Developer tools
    You can choose to use one of the available integrated development environments (incorporating project tools, code editor, device simulator, debugger etc.), or use tools of your own choice:
    • Qt Creator supports Qt (including Qt Mobility, MTF, QML)
    • Other tool selection: if you have preferred tools for development, it may also be possible to use them to develop for MeeGo
Personal tools