Meego Wiki
Views

SDK/Docs/1.1/MeeGo developer story

From MeeGo wiki
< SDK | Docs | 1.1(Difference between revisions)
Jump to: navigation, search
(Package)
(Update to developer story on www.meego.com/developers)
 
(40 intermediate revisions not shown)
Line 1: Line 1:
[[category:Meego-1.1]]
[[category:Meego-1.1]]
-
 
-
'''This is a draft (2010-10-21)'''
 
-
 
-
'''This should incorporate content from [[MeeGo SDK Development Options]]'''
 
= Update to developer story on www.meego.com/developers =
= 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.
+
[[File:Meego-sdk-options.png|frame|MeeGo SDK Options]]
-
 
+
-
Both these SDKs integrate into the standard development process:
+
-
# Developer
+
-
# Debug
+
-
# Package
+
-
# Distribute
+
-
<span style="color:orange;"> We take the image from www.meego.com/developers/Developer Story.
+
 +
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.
-
==Develop==
+
Both SDKs integrate into the standard development process:
-
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.
+
# Developing
 +
# Debugging
 +
# Packaging
 +
# Distributing
-
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==
+
==Developing==
-
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.
+
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.
-
==Package==
+
With the Web SDK, you can create MeeGo applications based on web technologies, such as JavaScript/HTML/CSS.
-
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.
+
You can also create hybrid applications by wrapping a WRT application with a Qt/C++ object.
-
WRT applications for MeeGo are packaged using the standards-based [http://www.w3.org/TR/widgets/ W3C Widget Packaging and Configuration specification].
+
==Debugging==
-
==Distribute==
+
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.
-
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 =
+
With the Web SDK, you can debug WRT applications inside a simulated MeeGo device.
-
== Choosing your environment ==
+
==Packaging==
-
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.
+
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>.  
-
=== Windows (XP, Vista, 7) ===
+
The Web SDK packages WRT applications in line with the [http://www.w3.org/TR/widgets/ W3C Widget Packaging and Configuration specification].
-
# '''Target'''
+
==Distributing==
-
#: 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)
+
-
# '''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
+
-
=== Linux (Fedora, Debian, Ubuntu, MeeGo) ===
+
You can distribute open source MeeGo applications using the infrastructure supplied by the MeeGo project (namely, the community OBS, currently under construction).
-
# '''Target'''
+
Alternatively, you can submit your application to an application store.
-
#: 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
+

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