maemo for mobile developers

Tutorials


Maemo for mobile developers

beta- version

Getting started

Introduction

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. This document intends to demonstrate how a Symbian C++ developer can get started with developing C++ applications for maemo.

On the other hand, Windows Mobile developers use extensively .NET Compact Framework, which differs quite much from programming with Maemo. Therefore it is possible to write somewhat more efficient code for Maemo and utilize available resources more extensively when developer has become familiar with the platform.

Before you start to write your own C++ applications for maemo, learn more about the maemo platform and Hildon Application Framework. For more information, see the Overview of the maemo platform section in the maemo tutorial.

Who should read this document?

This document is intended for any developer with Symbian C++ or Windows Mobile .NET Compact Framework programming experience who wants to develop applications for the maemo platform. Additionally, any developer with C++ background can also use the document.

It is assumed that the reader has at least some basic knowledge about C++.

For a higher-level description of the maemo platform, read the Forum Nokia maemo platform page.

About this document

This document often refers to the phrase GNU/Linux workstation. This phrase will also refer 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.

Platform versions used

  • Symbian OS v9.2
  • S60 3rd Edition
  • Windows Mobile 6
  • .NET Compact Framework 2.0 (including released service packs SP1 and SP2)
  • Maemo 3.x

Syntax used

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*.

~/src/myprogram$ ls

Output of the command 'ls':

myprogram.h
myprogram.cpp
Makefile
* "A command prompt (or just prompt) is a sequence of (one or more) characters used in a command line interface to indicate readiness to accept commands". "A prompt usually ends with one of the characters $, %, #, :, > and often includes other information, such as the path of the current working directory". Source: wikipedia.


Improve this page