viernes, 19 de enero de 2007

Entornos de desarrollo para móviles

Un entorno de desarrollo es el conjunto de herramientas (compilador, intérprete, librerías, sistema operativo, editor, etc.) necesarias para crear programas de software.
Cada plataforma cuenta con uno o varios que son los más utilizados:
  • Symbian: Los dos principales entornos son Java y Carbide.c++.
    • Java es el lenguaje orientado a objetos creado por Sun que genera código intermedio que ha de ser interpretado por una máquina virtual. En teléfonos móviles y otros dispositivos pequeños se utiliza una versión reducida denominada J2ME (Java 2 Micro Edition) adaptada a sus particularidades. La mayoría de los teléfonos móviles medianamente avanzados de los últimos años están preparados para J2ME, incluido el sistema Symbian. Para Java existen compiladores en plataformas Windows, Linux y Solaris, así como diversos editores e IDEs, como Eclipse.
    • Carbide es un entorno derivado del CodeWarrior para MacIntosh que actualmente es propiedad de Nokia. Es también un IDE y hay versiones para programar en C++, Java, y como plugin de Visual Studio. Genera código nativo para procesadores ARM (y otros) usando una versión modificada del GCC. La versión oficial funciona sobre Windows, aunque hay adaptaciones para MacOS-X y Linux.
    • Nokia SDKs, para cada serie de modelos de Nokia (S40, S60, S80) se ofrece un kit de desarrollo basado en Java y C/C++, que incluye facilidades para acceder a las características propias de cada serie y proporciona herramientas extra como debuggers y emuladores.
    • Otros. Por ser el sistema más popular hay multitud de entornos y utilidades adicionales (Borland, Python), pero están poco extendidos y no está claro que puedan utilizarse para desarrollar programas gráficos de 3D.
  • Windows Mobile: Los dos principales entornos son .NET Compact Framework y Java.
    • Visual Studio (.NET), es la herramienta de Microsoft para los desarrolladores. Cuenta con varios lenguajes con los que programar (Visual Basic .NET, Visual C++ .NET, C#) que generan código intermedio para ser interpretado por el llamado ".NET Compact Framework". Este intérprete está disponible únicamente para Windows Mobile.
    • Java, como se ha comentado anteriormente, existen muchas herramientas para desarrollar, y ha de contarse también con una máquina virtual para interpretar el código generado. Microsoft no incluye máquina Java en sus versiones, pero sí que suelen hacerlo los fabricantes de los teléfonos y los operadores, que le incorporan una que normalmente está implementada por terceros.
  • PalmOS.
    • Java, de forma similar al resto de plataformas. Existe máquina virtual pero no viene de serie con el sistema, sino que hay que obtenerla de un tercero e instalarla.
    • Palm SDK. Kit de desarrollo oficial, que cuenta con compilador de C, debugger y emulador.
    • prc-tools. Conjunto de utilidades que llevan de serie muchas distribuciones de Linux para desarrollar para Palm, que incluyen el compilador gcc para producir código cruzado, el debugger gdb y un emulador.
  • Linux.
    • Java, de forma similar al resto de plataformas. Existen máquinas virtuales.
    • GCC, el compilador oficial de Linux, portado a la plataforma donde corra (ARM, normalmente). Además están portadas el resto de utilidades GNU típicas de un Linux de PC, como el debugger gdb, varias librerías, varios editores, e incluso el shell.

No hay comentarios: