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
MeeGo applications are written in C++, Web technologies, and QML with tools provided by the MeeGo community:
- Currently, the main development environment is MeeGo SDK, which allows developers to create native applications using Qt/C++ and Qt Quick. MeeGo SDK is based on the Qt Creator and contains support for Qt 4.7 and Qt Mobility 1.0.2 frameworks.
- Web Runtime (WRT) developers can use an additional SDK based on open-source technology, called Web SDK.
Both SDKs integrate into the standard development process:
- Developing
- Debugging
- Packaging
- Distributing
We take the image from www.meego.com/developers/Developer Story.
Developing
The MeeGo SDK is a tool that allows a developer to create binaries for a range of devices from a single code base. The SDK supports the simulation of MeeGo devices, so developers can create software without an actual MeeGo device. Currently, there are versions of MeeGo SDK for popular development platforms such as Linux and Windows.
The Web SDK permits web technologies, such as JavaScript/HTML/CSS, to be used to create MeeGo applications. 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.
Debugging
MeeGo SDK supports on-device debugging, as well as debugging within a MeeGo simulator. This is integrated into the IDE so developers can step through their code, insert breakpoints, and carry out other standard debugging activities.
Web SDK supports debugging WRT applications within a simulated MeeGo device web runtime.
Packaging
MeeGo SDK generates packages for deploying software to MeeGo devices. For example, when testing software on a MeeGo device from MeeGo SDK, the software is packaged, sent to the device and installed.
WRT applications for MeeGo are packaged using the standards-based W3C Widget Packaging and Configuration specification.
Distributing
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)
- 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)
- 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.
- 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)
- 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:
- 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:
- 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