Pregunta

Hace unos meses, compré el dispositivo Nokia N800 y desde entonces tengo ganas de escribir un código para él. Sé que algunas de las aplicaciones que estoy ejecutando están escritas en Python y que también hay un puerto Mono para la plataforma Maemo.

Básicamente lo que pregunto es:

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

Solución

El marco de trabajo de Hildon está formado por extensiones GTK +, por lo que el lenguaje es C. Puedes usar envoltorios de C ++ ( maemomm ) también. O puede ir a pymaemo para crear 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 Ruby, pero no he seguido con ese proyecto recientemente.

Para el entorno de desarrollo, hay " scratchbox " ;, que le proporciona un sandbox para compilar y ejecutar su aplicación. Aquí hay un enlace sobre cómo configurar un scratchbox entorno de desarrollo. (Seguro que 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 con Linux.

Si desea tener una experiencia IDE, pruebe el ESbox para Eclipse.

¡Diviértete hackeando!

Otros consejos

Le sugiero que pruebe con C ++ y QT.

QT ya está bien soportado por Diablo y Fremantle, y la próxima versión de Maemo (Harmattan ) debe ser basado en QT .

Aprender QT será mucho más fácil que GTK +, la codificación será más rápida y divertida, su aplicación se puede compilar en varias plataformas e incluso puede desarrollar y depurar en Windows, luego simplemente ejecute un qmake & amp; & amp; hacer en un entorno scratchbox.

Eche un vistazo a este tutorial: Comenzando con QT para Maemo

Todavía necesita una caja de Linux para compilar su código para un dispositivo Maemo. Si está utilizando Windows, puede configurar ubuntu (o kubuntu) en una máquina VirtualBox.

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

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

Para una diversión extra en el camino, puede obtener linux gcc y hacer que las herramientas se ejecuten en la tableta y programar y compilar en el dispositivo. Para cualquier ayuda con este tipo de cosas, los foros de Maemo Talk son fantásticos.

Ruby for Maemo se hospeda en http://code.scottishclimbs.com/maemo/

Todavía no lo he probado yo mismo.

Hay un Scratchbox Virtual Appliance para el desarrollo de Maemo (no estoy seguro si el enlace es el correcto) pero así es como comencé a hackear. Me llevó una eternidad descubrir cómo configurar el scratchbox por mi cuenta.

Tengo que hacerme eco de la respuesta de Karatchov.

Los 2 enfoques recomendados actualmente son:

  • Python + PyGtk

  • C ++ & amp; Qt

Usando cualquier otra cosa, te preparas para un poco de dolor (a menos que seas un veterano de Gtk + - ya que estás haciendo esta pregunta, asumo que no lo eres). C ++ & amp; Qt es el futuro de Maemo de todos modos, y Qt funciona bien en " antiguo " Plataformas como Diablo.

Como depurador, te recomiendo que recojas (compiles) " cgdb " ;. El gdb antiguo simple puede ser un poco demasiado espartano.

En general, debes desarrollar tu aplicación como " normal " Qt utiliza Qt Creator y, ocasionalmente, pruébelo en scratchbox.

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

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

La siguiente parada para el desarrollo de Maemo es, por supuesto, la sede 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 están bien soportadas, 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 puedes usar Eclipse para los que hay complementos.

  • Se recomienda que use Linux como máquina de desarrollo, pero puede ejecutarlo en una máquina virtual en Windows. Si bien prefiero que mi SO sea 100% gratis y, por lo tanto, elija Debian, Nokia está trabajando arduamente para crear un mejor entorno de desarrollo para Windows. Entonces, ¡tenga la seguridad de que Nokia no necesariamente comparte mi sesgo! :-)

Me desarrollo principalmente con python y pyside (me desarrollo en un N900). Tengo todos mis archivos en el nokia N900 y uso sshfs para montar mi directorio de inicio en mi PC. Luego me desarrollo en mi escritorio, a la vez que guardo todo directamente en el teléfono celular, y uso SSH para ejecutarlo de forma remota.

Si te vuelves demasiado perezoso para levantar el dispositivo y mirar la pantalla, es posible que desees utilizar VNC; aunque personalmente, siento que no es lo suficientemente sensible.

Sí, todo lo que tengo en mi escritorio es mi editor (texto sublime, 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 quiera distribuir su proyecto. Nuevamente, no es necesario instalar nada en tu escritorio.

Si prefiere ser más conservador, el SDK está diseñado para debian y sufrirá mucho con cualquier sistema operativo no basado en debian (a menos que use una máquina virtual). ¡Cuidado! :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top