Meego Wiki
Views

SDK/Docs/1.1/MeeGo developer story

From MeeGo wiki
< SDK | Docs | 1.1(Difference between revisions)
Jump to: navigation, search
(Update to developer story on www.meego.com/developers)
 
(48 intermediate revisions not shown)
Line 1: Line 1:
[[category:Meego-1.1]]
[[category:Meego-1.1]]
-
'''This is a draft (2010-10-21)'''
+
= Update to developer story on www.meego.com/developers =
-
'''This should incorporate content from [[MeeGo SDK Development Options]]'''
+
[[File:Meego-sdk-options.png|frame|MeeGo SDK Options]]  
-
= Update to developer story on www.meego.com/developers =
+
As an application developer, you can use C++, Web technologies, and QML to write applications for MeeGo. Currently, the following SDKs are available:
 +
# The MeeGo SDK, which is the main development environment for creating native applications. This SDK allows you to use Qt/C++ and Qt Quick. MeeGo SDK is based on the Qt Creator and supports Qt 4.7 and Qt Mobility 1.0.2 frameworks.
 +
# The Web SDK, an additional development environment for creating web-based applications. This SDK is based on open-source technology.
 +
 
 +
Both SDKs integrate into the standard development process:
 +
# Developing
 +
# Debugging
 +
# Packaging
 +
# Distributing
 +
 
 +
 
 +
==Developing==
-
MeeGo applications are written in C++ using the MeeGo SDK, which includes Qt 4.7.  The MeeGo SDK is currently targeted for development on a Linux workstation, with a few options for setting up your environment, as shown below.
+
With the MeeGo SDK, you can create applications for a range of devices from a single code base. Since the SDK supports the simulation of MeeGo devices, you don't need a real, physical device to create software for MeeGo.
-
# Developer
+
With the Web SDK, you can create MeeGo applications based on web technologies, such as JavaScript/HTML/CSS.
-
# Debug
+
-
# Package
+
-
# Distribute
+
-
==Develop==
+
You can also create hybrid applications by wrapping a WRT application with a Qt/C++ object.
-
The MeeGo SDK creates a virtual environment on your workstation that is like developing directly on a MeeGo OS-based system.  Netbook and handset development images are currently available.  You can set up your development environment in two ways, depending on the capabilities of your host system.  <a href="http://wiki.meego.com/MeeGo_SDK_with_QEMU">QEMU</a> will work effectively only on VT-enabled systems with graphics acceleration (first blue box above) while <a href="http://wiki.meego.com/MeeGo_SDK_with_Xephyr">chroot+Xephyr</a> (second blue box above) will only work on systems with Intel graphics.  Both provide a similar development experience.
+
-
==Debug==
+
==Debugging==
-
You can debug your application by using QEMU or Xephyr to run your application inside the MeeGo user experience.  Both QEMU and Xephyr have been enhanced with support for hardware accelerated graphics.
+
-
==Package==
+
With the MeeGo SDK, you can debug applications on the device, using a debugger which is integrated with the Qt Creator IDE. Standard debugging practices (setting breakpoints, watch expressions, stepping) are supported.
-
Create a standard RPM-format package for your MeeGo application.
+
-
==Distribute==
+
With the Web SDK, you can debug WRT applications inside a simulated MeeGo device.
-
The RPM package can be submitted to one of the various application stores.
+
 +
==Packaging==
-
= Optional section =
+
The MeeGo SDK generates packages for deploying software to MeeGo devices. Qt Creator enables you to automatically deploy and install these packages on a device. Alternatively, you can manually package an application as an RPM, send it to a device, and install it there using the MeeGo package manager, <code>zypper</code>.
-
== Choosing your environment ==
+
The Web SDK packages WRT applications in line with the [http://www.w3.org/TR/widgets/ W3C Widget Packaging and Configuration specification].
-
'''Comment:''' <span style="color:orange;"> I would put the choosing your environment into major sections (Windows/Linux) and then closer to getting the SDK. [[User:macron|Ronan Mac Laverty]]
+
==Distributing==
-
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:
+
You can distribute open source MeeGo applications using the infrastructure supplied by the MeeGo project (namely, the community OBS, currently under construction).
-
# '''Host'''
+
Alternatively, you can submit your application to an application store.
-
#: 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'''
+
-
#: 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 (only available on Linux Hosts)
+
-
#:* 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)
+
-
#:* [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
+

Latest revision as of 11:37, 9 November 2010


Contents

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

MeeGo SDK Options

As an application developer, you can use C++, Web technologies, and QML to write applications for MeeGo. Currently, the following SDKs are available:

  1. The MeeGo SDK, which is the main development environment for creating native applications. This SDK allows you to use Qt/C++ and Qt Quick. MeeGo SDK is based on the Qt Creator and supports Qt 4.7 and Qt Mobility 1.0.2 frameworks.
  2. The Web SDK, an additional development environment for creating web-based applications. This SDK is based on open-source technology.

Both SDKs integrate into the standard development process:

  1. Developing
  2. Debugging
  3. Packaging
  4. Distributing


Developing

With the MeeGo SDK, you can create applications for a range of devices from a single code base. Since the SDK supports the simulation of MeeGo devices, you don't need a real, physical device to create software for MeeGo.

With the Web SDK, you can create MeeGo applications based on web technologies, such as JavaScript/HTML/CSS.

You can also create hybrid applications by wrapping a WRT application with a Qt/C++ object.

Debugging

With the MeeGo SDK, you can debug applications on the device, using a debugger which is integrated with the Qt Creator IDE. Standard debugging practices (setting breakpoints, watch expressions, stepping) are supported.

With the Web SDK, you can debug WRT applications inside a simulated MeeGo device.

Packaging

The MeeGo SDK generates packages for deploying software to MeeGo devices. Qt Creator enables you to automatically deploy and install these packages on a device. Alternatively, you can manually package an application as an RPM, send it to a device, and install it there using the MeeGo package manager, zypper.

The Web SDK packages WRT applications in line with the W3C Widget Packaging and Configuration specification.

Distributing

You can distribute open source MeeGo applications using the infrastructure supplied by the MeeGo project (namely, the community OBS, currently under construction).

Alternatively, you can submit your application to an application store.

Personal tools