2009-01-08 17 views
17

Hace unos meses compré el dispositivo Nokia N800 y desde entonces estoy ansioso por escribir un código para él. Sé que parte de la aplicación que estoy ejecutando está escrita en Python y que también hay un puerto Mono para la plataforma Maemo.Cómo comenzar a desarrollar el software Maemo

Básicamente lo que estoy pidiendo es:

  • ¿Hay un lenguaje de desarrollo para la plataforma Maemo recomendada?
  • ¿Qué herramientas de desarrollo existen?
  • ¿Puedo usar Windows o Linux como mi máquina de desarrollo principal, y cuál recomienda y por qué?

Respuesta

8

El marco Hildon se compone de extensiones de GTK +, por lo que el lenguaje es C. Usted puede utilizar C++ envolturas (maemomm) también. O puede ir con pymaemo para compilar aplicaciones con Python, que para mí es mucho más fácil que C o C++. También he visto un intento en un puerto de rubí, pero no he seguido con ese proyecto recientemente.

Para el entorno de desarrollo, existe "scratchbox", que le ofrece un entorno limitado para compilar y ejecutar su aplicación. Aquí hay un enlace sobre cómo configurar un entorno de desarrollo scratchbox. (Definitivamente me llevó mucho tiempo configurar todo.)

Tendrás que usar Linux como tu máquina de desarrollo porque tu Nokia N800 es realmente una mini computadora Linux.

Si quieres tener una experiencia IDE, prueba el complemento ESbox para Eclipse.

¡Diviértete hackeando!

+0

enlace scratchbox lanza 404 –

+0

he estado pensando en vala, ya que parece estar bien posicionado como un nivel superior 'lengua materna' que c para la programación gtk –

2

Para obtener más diversión en el camino, puede obtener el linux gcc y hacer que las herramientas se ejecuten en la tableta y realizar su programación y compilación en el dispositivo. Para cualquier ayuda con este tipo de cosas, los foros Maemo Talk son fantásticos.

1

hay un Scratchbox Virtual Appliance para el desarrollo Maemo (no estoy seguro de si el enlace es el uno correcto) pero así es como comencé a piratear. Me llevó una eternidad descubrir cómo configurar yo mismo el scratchbox.

11

Le recomiendo que pruebe C++ y QT.

QT ya es compatible con Diablo y Fremantle, y la próxima versión de Maemo (Harmattan) debería ser based on QT.

aprendizaje QT será mucho más fácil que GTK +, la codificación será más rápido y más divertido, la aplicación puede ser compilado en diferentes plataformas e incluso se puede desarrollar y depurar en Windows, a continuación, sólo tiene que ejecutar un qmake & & de creación en una entorno scratchbox.

Tome un vistazo a este tutorial: Getting started wit QT for Maemo

usted todavía necesita una máquina Linux para compilar el código para un dispositivo Maemo. Si está usando Windows, puede configurar ubuntu (o kubuntu) en una máquina VirtualBox.

Maemo SDk + junto con Scratchbox 2 es una mejor alternativa que Maemo SDk & Scratchbox.

Personnally, estoy usando el creador de QT en Windows, kubuntu 9.04 en VirtualBox, y nunca he estado más feliz. Cuando comencé, probé el enfoque "oficial": Ubuntu, GTK +, lenguaje C y scratchbox 1. ... eso fue doloroso.

+0

Para maemo4 (Nokia N8x0), es mejor usa el SDK ofcial con scratchbox 1, hay algunos errores no resueltos con MaemoSDK +. Para maemo5, Nokia SDK es una obviedad – karatchov

+0

Si usa una máquina virtual, vaya con debian. Nokia diseñó el SDK y todo lo demás ESPECIALMENTE para Debian. No ganarás nada usando Ubuntu. Además, dependiendo de lo que uses o no, puedes compilar en el dispositivo (hago esto con microproyectos no gui C) – WhyNotHugo

2

Rubí para Maemo está siendo alojado en http://code.scottishclimbs.com/maemo/

todavía no he probado a mí mismo.

+0

Debería probarlo - incluso escuché acerca de ejecutar Rails en un Dispositivo Maemo –

1

Nokia ha estado trabajando arduamente para proporcionar herramientas y documentación para desarrolladores. Yo diría que uno de los mejores lugares para comenzar es en el Forum Nokia:

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

La siguiente parada para el desarrollo para Maemo es de la sede supuesto de Maemo:

http://maemo.org/development/

Estos dos enlaces son a portales donde tendrás que profundizar para obtener más información, pero son puntos de partida bastante buenos. Ahora, para responder a sus preguntas directamente:

  • supongo que los dos idiomas 'recomendados' son C y Python. Si bien estos son bien compatibles, no son las únicas opciones que ha visto en las respuestas anteriores. Además de esos idiomas, Perl está en el dispositivo, aunque no está en el mismo estado que en Debian.

  • La principal herramienta de desarrollo es el SDK. Le permite probar el entorno y compilar software para el dispositivo. También puede usar Eclipse para el que hay complementos.

  • Se recomienda que utilice Linux como máquina de desarrollo, pero puede ejecutarlo en una máquina virtual en Windows. Si bien prefiero que mi SO sea 100% libre y, por lo tanto, elijo Debian, Nokia está trabajando arduamente para crear un mejor entorno de desarrollo para Windows. ¡Así que puede estar seguro de que Nokia no necesariamente comparte mi sesgo! :-)

1

Tengo que repetir la respuesta de Karatchov.

Los 2 enfoques recomendados actualmente son:

  • Python + PyGtk

  • C++ & Qt

El uso de cualquier otra cosa, que se fija para un poco de dolor (a menos que eres un veterano Gtk + - ya que estás haciendo esta pregunta, supongo que no lo eres).C++ & Qt es el futuro de Maemo de todos modos, y Qt funciona bien en plataformas "antiguas" como Diablo.

Como un depurador, le recomiendo que recoja (compile) "cgdb". El simple viejo gdb puede ser un poco espartano.

Generalmente, debe desarrollar su aplicación como una aplicación Qt "normal" utilizando Qt Creator, y ocasionalmente probarla en scratchbox.

+0

Python + Pyside también funciona muy bien, y es realmente fácil comenzar. – WhyNotHugo

1

Desarrollo principalmente con python y pyside (desarrollo en un N900). Tengo todos mis archivos en el Nokia N900 y uso sshfs para montar mi directorio personal en mi pc. Luego desarrollo en mi escritorio, mientras guardo todo en el teléfono celular, y uso SSH para ejecutarlo de manera remota.

Si te da pereza incluso levantar el dispositivo para mirar la pantalla, es posible que desees utilizar VNC; aunque personalmente, siento que no es suficientemente receptivo.

Sí, todo lo que tengo en mi escritorio es mi editor (sublime-text, por cierto). El resto vive en el dispositivo móvil. Uso git para sincronizar cosas/hacer copias de seguridad, etc.

py2deb es ideal para hacer paquetes una vez que desea distribuir su proyecto. Nuevamente, no es necesario instalar nada en su escritorio.

SI prefiere ser más conservador, el SDK está diseñado para debian, y sufrirá mucho con cualquier SO no basado en Debian (a menos que use una VM). ¡Ten cuidado! :)

Cuestiones relacionadas