几个月以来,我购买了诺基亚N800设备,从那以后我很想为它编写一些代码。我知道我正在运行的一些应用程序是用Python编写的,并且Maemo平台也有一个Mono端口。
基本上我要问的是:
答案 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)
我刚刚在Maemo.org上找到了两个教程:
答案 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的总部:
这两个链接指向您需要深入了解更多信息的门户网站,但它们是非常好的起点。现在直接回答你的问题:
我认为两种“推荐”语言是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)。被警告! :)