Maemo for mobile developers
Maemo is an open source development platform for Linux-based handheld devices such as Internet Tablets. It is built from widely-used open source components with additional tweaks to integrate well in handheld devices.
An Internet Tablet is a handheld device which provides desktop PC-level support for Internet services (such as Web pages and e-mail). Nokia has released three Internet Tablets running on the maemo platform: the Nokia 770, the Nokia N800, and the Nokia N810. The devices have a high-resolution, 800 x 480 pixel touch-sensitive display.
Maemo uses Hildon Application Framework, based on the open source GTK+ toolkit, as the user interface manager. Although the Hildon/GTK+ libraries are coded in C, bindings for other languages, including C++ and Python, are also available.
The native programming language for Symbian OS devices is C++. So, any S60 developer can take advantage of the Hildon/GTK+ C++ bindings and easily start developing GUI applications for maemo devices. On the other hand, Windows Mobile extensively uses .NET Compact Framework. Writing managed code with .NET CF is quite different from programming with C++, which offers a more direct approach of handling available resources and gaining all the benefits the platform can give. This document demonstrates how a Symbian C++ or Windows Mobile .NET CF developer can get started with developing C++ applications for maemo.
Before you start to write your own C++ applications for maemo, learn more about the maemo platform and the Hildon Application Framework. For more information, see the Overview of the maemo platform section in the maemo tutorial.
This document is intended for developers with Symbian C++ or Windows Mobile .NET Compact Framework programming experience who want to develop applications for the maemo platform. Additionally, developers with C++ background can use this document.
It is assumed that the reader has at least some basic knowledge about C++.
This document often refers to the phrase GNU/Linux workstation. This phrase also refers to the maemo SDK VMWare image run inside a Microsoft Windows workstation.
It is also assumed that the processor architecture for the GNU/Linux workstation is x86 or compatible.
Commands run inside a GNU/Linux text console:
Lists the directory contents. The current directory is ~/src/myprogram. The symbol '~' means the user's home directory, and the symbol '$' indicates the end of command prompt*.
Output of the command 'ls':