Introducción al desarrollo de aplicaciones para teléfonos móviles: Symbian
Symbian es un sistema operativo para dispositivos móviles cuyo mayor accionista es Nokia, pero en el que también participan Ericsson, Panasonic, Samsung, Siemens y Sony Ericsson. Esto quiere decir que una buena parte de los móviles de estas compañías disponen de Symbian OS.
La última versión este S.O. que se puede encontrar en móviles comercializados es la 9.3, aunque ya está anunciada la versión 9.5. Supongamos que queremos desarrollar una aplicación para Symbian: bastará con desarrollar una aplicación para una versión del sistema operativo y esta funcionará en cualquier móvil que lleve esa versión, ¿no? No.
El problema está en que, aún llevando el mismo sistema operativo, existen móviles con características muy distintas, especialmente en lo referente a la interfaz de usuario. De hecho, Symbian define una serie de plataformas de interfaz de usuario (UI platforms) que permiten definir familias de móviles según su sistema operativo y sus características de IU. Por ejemplo, para la versión 9.1 de Symbian tenemos la plataforma S60 3rd Edition, para móviles como el Nokia E70 (la plataforma S60 es la de la mayoría de los Nokia); y para esa misma versión de Symbian tenemos también la plataforma UIQ 3, para móviles con pantalla táctil como el Sony Ericsson P990.
En general, cada versión de cada plataforma consiste en un conjunto de APIs* que da acceso a las funciones de las que dispone el móvil. El conjunto de funciones que necesite nuestra aplicación determinará la versión de la plataforma que necesitemos. Por ejemplo, si nuestra aplicación va a comprobar DRMs de archivos multimedia, necesitaremos la DRM License Checker API, disponible a partir de S60 2nd Edition FP2; mientras que si además queremos incorporar mensajería instantánea usaremos la Instant Messaging API, que nos obligará a restringirnos a dispositivos S60 3rd Edition o superior.
Una vez definida nuestra plataforma objetivo, podemos descargar e instalar la SDK correspondiente (aquí las de UIQ y aquí las de S60). El paquete descargado incluye las librerías necesarias, documentación, ejemplos y un emulador para poder probar nuestras aplicaciones en distintas configuraciones sin tener un dispositivo físico. El emulador es indispensable en las primeras fases del desarrollo, pero siempre hay que tener en cuenta que su funcionamiento no es totalmente idéntico al de los dispositivos reales, así que es necesario realizar pruebas finales en ellos.
Finalmente, el IDE. Opciones: CodeWarrior, VisualStudio.NET y Carbide.c++. Históricamente CodeWarrior era la herramienta de referencia, pero ya desde hace algún tiempo Nokia apuesta únicamente por Carbide.c++, que está basado en Eclipse y tiene una versión gratuita. (Para UIQ existe también un IDE llamado VistaMax, pero no tengo referencias de él)
* Cuando hablo de APIs aquí me refiero a librerías a las que acceder desde C++. El caso de Java lo trataremos por separado en el capítulo dedicado a J2ME. Además, aparte de C++ y Java existen run-times para muchos otros lenguajes, como Python, Perl o Ruby.
Entradas relacionadas:
Introducción al desarrollo de aplicaciones para teléfonos móviles: Windows Mobile
Introducción al desarrollo de aplicaciones para teléfonos móviles: J2ME (I)
Introducción al desarrollo de aplicaciones para teléfonos móviles: J2ME (y II)
Introducción al desarrollo de aplicaciones para teléfonos móviles: BlackBerry

Hola Javier, sabés de algún emulador para instalar en la pc y tester aplicaciónes mñoviles?
ramiro
5 de Noviembre de 2007 a 22:12
Hola Ramiro.
Los emuladores vienen con la SDK, así puedes bajarlos por ejemplo en http://www.forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html para móviles S60 o en http://developer.uiq.com/devtools_uiqsdk.h para móviles UIQ.
Javier Cancela
6 de Noviembre de 2007 a 13:19
hola atodos!!!!!!!!!!!!!1
Necesito que me ayuden a conseguir las dll para telefonos nokia y motorola, o que me envien una pagina web donde las pueda conseguir, respondan rapido pues las necesito para el martes 20 de noviembre 2007
chao gracias
princesita
17 de Noviembre de 2007 a 20:17
[...] Introducción al desarrollo de aplicaciones para teléfonos móviles: Symbian Introducción al desarrollo de aplicaciones para teléfonos móviles: Windows Mobile Introducción al desarrollo de aplicaciones para teléfonos móviles: J2ME (I) Introducción al desarrollo de aplicaciones para teléfonos móviles: J2ME (y II) [...]
Introducción al desarrollo de aplicaciones para teléfonos móviles: BlackBerry « ipoki mobile
1 de Enero de 2008 a 14:42
[...] Introducción al desarrollo de aplicaciones para teléfonos móviles: Symbian Introducción al desarrollo de aplicaciones para teléfonos móviles: Windows Mobile Introducción al desarrollo de aplicaciones para teléfonos móviles: J2ME (y II) Introducción al desarrollo de aplicaciones para teléfonos móviles: BlackBerry [...]
Introducción al desarrollo de aplicaciones para teléfonos móviles: J2ME (I) « ipoki mobile
1 de Enero de 2008 a 14:43
[...] Introducción al desarrollo de aplicaciones para teléfonos móviles: Symbian Introducción al desarrollo de aplicaciones para teléfonos móviles: Windows Mobile Introducción al desarrollo de aplicaciones para teléfonos móviles: J2ME (y II) Introducción al desarrollo de aplicaciones para teléfonos móviles: BlackBerry [...]
Bitácora móvil » Blog Archives » Introducción al desarrollo de aplicaciones para teléfonos móviles: J2ME (I)
3 de Enero de 2008 a 16:49
[...] los chicos de Symbian apuestan por Java como lenguaje de desarrollo para su plataforma S60 (que, recordemos, es la plataforma entre otros de la mayoría de los teléfonos Nokia). Digo esto porque en la nueva [...]
Cambios en la máquina virtual Java de S60 « ipoki mobile
3 de Mayo de 2008 a 22:25
[...] Introducción al desarrollo de aplicaciones para teléfonos móviles: Symbian Introducción al desarrollo de aplicaciones para teléfonos móviles: Windows Mobile Introducción al desarrollo de aplicaciones para teléfonos móviles: J2ME (I) Introducción al desarrollo de aplicaciones para teléfonos móviles: BlackBerry [...]
Introducción al desarrollo de aplicaciones para teléfonos móviles: J2ME (y II) « ipoki mobile
3 de Mayo de 2008 a 22:29
que onda mucha saben” me caracterizo por ser un hacker pero no he podido decodificar una señal de telefono celular para no ingresar saldo o tiempo de aire….
necesito la forma de como decodificar y tener tiempo de aire para siempre si ovio si quenme detecten….
si lo tienes enviame la forma y estaremos en contacto….
que tengas un buen dia
Marck
23 de Agosto de 2008 a 18:20
Buenas:
Soy nuevisimo en esto, estoy interesado en desarrollar una aplicacion con un telefono que tiene un lector de huellas dactilares.
Aqui les paso el link del telefono, encontre este por que no hay ningun nokia que yo sepa que tenga esta capacidad
http://www.ubergizmo.com/15/archives/2007/12/iphone_clone_with_fingerprint_reader.html Ir al Sitio externo
Mi pregunta es si se podria realizar una aplicacion que interactue con el lector, capture estos datos y enviarlos a traves de internet?
Alguien lo ha intentado alguna ves ??
Muchas Gracias por la Ayuda
Saludos
alberto
10 de Diciembre de 2008 a 21:06
Hola, como estan? necesito hackear el volkswagen escarabajo de mi abuela, porque pasa perdiendo los dientes postizos en el, entonces quiero ponerle un sistema de huellas dactilares para que el jardinero, y solo el jardinero la “atienda” bien y ya no le preocupen mas los dientes postizos.
Alquien sabe si la computadora del escarabajo corre symbian?
Gracias
Nicolas
5 de Enero de 2009 a 20:10
Javier,
Muy buen post. excelente para ir arrancando.
Muchas gracias y perdon por la broma de arriba, pero leyendo los comentarios no pude resistirme.
Nicolas
5 de Enero de 2009 a 20:12
Hola Javier,
quisiera intentar desarrollar una aplicación de gestión de los tocados de dos tiradores de esgrima mediante dos entradas perfil SPP bluetooth y su consiguiente marcador. Que plataforma me aconsejarías para que el mayor nº de móviles fuera aplicable?.
Muchas Gracias
Ricardo
11 de Abril de 2009 a 17:02