17

几个月前,我购买了诺基亚 N800 设备,从那时起我就渴望为它编写一些代码。我知道我正在运行的一些应用程序是用 Python 编写的,而且 Maemo 平台也有一个 Mono 端口。

基本上我要问的是:

  • Maemo 平台有推荐的开发语言吗?
  • 有哪些开发工具?
  • 我可以使用 Windows 或 Linux 作为我的主要开发机器吗?您推荐哪一种?为什么?
4

9 回答 9

11

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

Diablo 和 Fremantle 已经很好地支持QT,并且 Maemo (Harmattan) 的下一个版本应该基于 QT

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

看看这个教程:QT for Maemo 入门

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

Maemo SDk +和 Scratchbox 2 是比 Maemo SDk 和 Scratchbox 更好的选择。

就个人而言,我在 Windows 中使用 QT creator,在 VirtualBox 中使用 kubuntu 9.04,我从未如此快乐过。当我开始的时候,我尝试了“官方”的方法:Ubuntu、GTK+、C 语言和 scratchbox 1.... 那很痛苦。

于 2009-08-13T09:44:25.953 回答
8

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

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

您必须使用 Linux 作为您的开发机器,因为您的诺基亚 N800 确实是一台迷你 Linux 计算机。

如果您想拥有 IDE 体验,请尝试 Eclipse 的ESbox插件。

玩得开心黑客!

于 2009-01-09T06:08:58.867 回答
4

我刚刚在 Maemo.org 上找到了两个教程:

于 2009-07-20T19:16:03.967 回答
2

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

于 2009-02-26T14:40:19.313 回答
2

Maemo 的 Ruby 托管在http://code.scottishclimbs.com/maemo/

我自己还没有尝试过。

于 2009-11-13T18:38:24.387 回答
1

有一个用于 Maemo 开发的Scratchbox 虚拟设备(我不确定链接是否正确),但这就是我开始破解的方式。我花了很长时间才弄清楚如何自己设置 Scratchbox。

于 2009-07-20T19:19:58.297 回答
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 打造更好的开发环境。所以请放心,诺基亚不一定和我一样有偏见!:-)

于 2009-12-01T10:06:22.780 回答
1

我必须回应卡拉乔夫的回应。

目前推荐的两种方法是:

  • Python + PyGtk

  • C++ 和 Qt

使用其他任何东西,你都会让自己承受一些痛苦(除非你是 Gtk+ 的老手——既然你在问这个问题,我假设你不是)。无论如何,C++ 和 Qt 是 Maemo 的未来,而 Qt 在诸如暗黑破坏神之类的“旧”平台上运行良好。

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

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

于 2009-12-01T12:46:25.477 回答
1

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

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

是的,我的桌面上只有我的编辑器(顺便说一下,崇高的文本)。其余的生活在移动设备上。我使用 git 来同步事物/进行备份等。

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

如果你宁愿保守一点,SDK 是为 debian 设计的,你会在任何非基于 debian 的操作系统上遭受很多痛苦(除非你使用虚拟机)。被警告!:)

于 2012-02-29T05:45:18.587 回答