如何开始使用Maemo软件开发

时间:2009-01-08 08:39:03

标签: maemo

几个月以来,我购买了诺基亚N800设备,从那以后我很想为它编写一些代码。我知道我正在运行的一些应用程序是用Python编写的,并且Maemo平台也有一个Mono端口。

基本上我要问的是:

  • Maemo平台是否有推荐的开发语言?
  • 存在哪些开发工具?
  • 我可以使用Windows或Linux作为我的主要开发机器,您推荐哪些以及为什么?

9 个答案:

答案 0 :(得分:11)

我强烈建议您尝试使用C ++和QT。

暗黑破坏神和弗里曼特尔已经很好地支持

QT,下一版Maemo(Harmattan)应该是based on QT

学习QT比GTK +容易得多,编码会更快更有趣,你的应用程序可以在各种平台上编译,你甚至可以在Windows中开发和调试,然后只需运行一个qmake&&在scratchbox环境中制作。

看一下本教程:Getting started wit QT for Maemo

您仍然需要一个Linux机器来编译Maemo设备的代码。 如果您使用的是Windows,则可以在VirtualBox机器中设置ubuntu(或kubuntu)。

Maemo SDk +以及Scratchbox 2是一个比Maemo SDk更好的选择。的Scratchbox。

个人而言,我在Windows中使用QT创建者,在VirtualBox中使用kubuntu 9.04,我从未如此开心。 当我开始时,我尝试了“官方”方法:Ubuntu,GTK +,C语言和scratchbox 1. ...这很痛苦。

答案 1 :(得分:8)

Hildon框架由GTK +扩展组成,因此语言为C.您也可以使用C ++包装器(maemomm)。或者您可以使用pymaemo来构建使用Python的应用程序,这对我来说比C或C ++更容易。我也看到了一个红宝石港口的尝试,但最近没有跟进该项目。

对于开发环境,有“scratchbox”,它为您提供了一个用于编译和运行应用程序的沙箱。以下是有关如何设置scratchbox开发环境的链接。 (确保我花了很长时间才能完成所有设置。)

你必须使用Linux作为你的开发机器,因为你的诺基亚N800真的是一台迷你Linux电脑。

如果您想获得IDE体验,请尝试使用Eclipse的ESbox插件。

玩得开心!

答案 2 :(得分:4)

答案 3 :(得分:2)

为了获得额外的移动乐趣,您可以获得linux gcc并在平板电脑上运行工具,并在设备上进行编程和编译。 对于这类内容的任何帮助,Maemo Talk论坛都很棒。

答案 4 :(得分:2)

Ruby for Maemo正在http://code.scottishclimbs.com/maemo/

托管

我自己还没试过。

答案 5 :(得分:1)

Maemo开发有一个Scratchbox Virtual Appliance(我不确定链接是否正确)但这就是我开始黑客的方式。我花了很长时间才弄清楚如何自己设置scratchbox。

答案 6 :(得分:1)

诺基亚一直在努力为开发人员提供工具和文档。我想说最好的起点之一是诺基亚论坛:

http://www.forum.nokia.com/Technology_Topics/Device_Platforms/Maemo.xhtml

为Maemo开发的下一站当然是Maemo的总部:

http://maemo.org/development/

这两个链接指向您需要深入了解更多信息的门户网站,但它们是非常好的起点。现在直接回答你的问题:

  • 我认为两种“推荐”语言是C和python。虽然这些都得到了很好的支持,但它们并不是您从之前的答案中看到的唯一选择。除了这些语言之外,perl还在设备上,尽管它与debian上的状态不同。

  • 主要开发工具是SDK。它允许您测试环境并为设备编译软件。您也可以使用有插件的Eclipse。

  • 建议您使用linux作为开发计算机,但可以在Windows上的虚拟机中运行它。虽然我更喜欢我的操作系统100%免费,因此选择debian,诺基亚正在努力为Windows创造一个更好的开发环境。所以请放心,诺基亚不一定分享我的偏见! : - )

答案 7 :(得分:1)

我必须回应Karatchov的回应。

目前推荐的两种方法是:

  • Python + PyGtk

  • C ++& Qt的

使用其他任何东西,你为自己设置了一些痛苦(除非你是Gtk +退伍军人 - 因为你问这个问题,我认为你不是)。 C ++&无论如何,Qt是Maemo的未来,Qt在暗黑破坏神等“旧”平台上运作良好。

作为调试器,我建议你选择(编译)“cgdb”。普通的老gdb可能有点太简洁了。

通常,您应该使用Qt Creator将您的应用程序开发为“普通”Qt应用程序,并偶尔在scratchbox中进行测试。

答案 8 :(得分:1)

我主要用python和pyside开发(我在N900上开发)。 我在诺基亚N900上有我的所有文件,我使用sshfs在我的电脑上安装我的主目录。 然后我在桌面上进行开发,同时将所有内容直接保存到手机中,并使用SSH远程运行它。

如果你懒得拿起设备看屏幕,你可能想要使用VNC;虽然就个人而言,我觉得它反应不够灵敏。

是的,我桌面上的所有内容都是我的编辑器(顺便说一句,是崇高文本)。其余的都在移动设备上。我使用git来同步/备份等等。

一旦你想分发你的proyect,py2deb非常适合制作包。同样,无需在桌面上安装任何东西。

如果你更保守一点,那么SDK是专为debian设计的,你会在任何非基于debian的操作系统上遭受很多(除非你使用VM)。被警告! :)