maemo for mobile developers
Maemo for mobile developers
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
Summary (table of contents)
- Introduction
- Comparing maemo and Symbian OS, S60, and UIQ platforms at the architectural level
- Comparing maemo and Windows Mobile platforms at the architectural level
- The maemo platform and Symbian OS concepts
- The maemo platform and Windows Mobile concepts
- Maemo SDK concepts
- Preparing your development environment
- Creating, building, and running a "Hello World" application
- Compiling and moving an application to a device
- Advanced building and packaging
- Resources and localization
- Adding more widgets to the Hello World application
- Using Eclipse with ESbox
- Drawing with GDK/Cairo
- Managing application information with GConf
- Network programming using sockets
- Links
Improve this page