Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones
C omputo M ovil: Diferentes lenguajes de programaci on para dispositivos m oviles que utilizan la plataforma S60 Gregorio Toscano Pulido Laboratorio de Tecnologas de Informaci on Cinvestav-Tamaulipas. Laboratorio de Tecnologas de Informaci on Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Agenda 1 Plataforma S60 Descripcion Algunos Telefonos Principales caractersticas de la tercera edicion Caractersticas de los dispositivos S60 Lenguajes de programaci on 2 PyS60 Descripcion Caractersticas 3 J2ME Descripcion MIDP o MiDlet Caractersticas 4 Carbide.c++ Descripcion Caractersticas 5 Conclusiones Conclusiones Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones S60 es una plataforma para terminales moviles (telefonos inteligentes o PDAs) que utilizan el sistema operativo Symbian. La plataforma S60 consiste en un conjunto de bibliotecas y aplicaciones informaticas estandar, tales como telefona, herramientas de gestion personal y reproductores multimedia. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Caractersticas, ediciones y versiones Las caractersticas (Feature Pack) son importantes lanzamientos de caractersticas adicionales disponibles entre las nuevas ediciones. Edicion: Una nueva edicion representa una coleccion de actualizaciones y de caractersticas adicionales, a menudo acompa nadas de un cambio en el sistema operativo Symbian. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Versiones: Son actualizaciones a las ediciones, la familia de versiones y actualizaciones para S60 son: 1 S60 Primera edicion (S60 1st Ed FP1) 2 S60 Segunda edicion (S60 2nd Ed FP1 y FP2) 3 S60 Tercera edicion (S60 3rd Ed FP1 y FP2) Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Figura: Dispositivos Nokia S60 Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Figura: Dispositivos Nokia S60 Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Figura: Dispositivos Nokia S60 Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Figura: Dispositivos Nokia S60 Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Figura: Dispositivos Nokia S60 Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Figura: Dispositivos Nokia S60 Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Figura: Dispositivos Nokia S60 Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Figura: Dispositivos Nokia S60 Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones S60 3rd Edition FP1 S60 Tercera Edicion trabaja la version 9.2 de Symbian Nueva APIs de C++ que incluyen: Listar la galera. Reconocimiento de caracteres opticos API. API motor los perles API modo de pantalla API Telnet API de animacion Navegador web Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Nuevas APIs de Java que incluyen: API para complementos multimedia (JSR-234) Gracos en 2D API (JSR-226) Gracos moviles en 3D (JSR-184) Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Caractersticas de los dispositivos S60 Uso del Manejador de informacion Personal (PIM) (contactos incluyendo y calendario) Mensajera. Internet. Flash Lite de Adobe Player Nokia Push para hablar sobre el celular (PC). Camara fotograca Digital. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Caractersticas de los dispositivos S60 Reproductor de la m usica. Galera de medios. Video. Grabador de sonido Radio de FM. Sincronizacion Over-The-Aire (OTA). Editor y escritor de Microsoft Oce. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Lenguajes de programacion que cuenta con implementacion para S60: Open C Java Flash Lite Python Ruby Lua Perl OPL Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Lenguajes soportados por S60 Open C Open C Es un sistema de POSIX estandar y de las libreras del middleware C para la plataforma S60. Open C es parte de la edicion S60 3er FP2, y esta disponible como plug-in que los desarrolladores puedan utilizar para crear aplicaciones para los dispositivos anteriores a la 3er edicion de S60. Java La edicion de Java para dispositivos m oviles es Java Micro Edition (J2ME), es una coleccion de tecnologas y de especicaciones para el desarrollo de aplicaciones para dispositivos moviles. Mas adelante se explicara mas sobre J2ME. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Lenguajes soportados por S60 Open C Open C Es un sistema de POSIX estandar y de las libreras del middleware C para la plataforma S60. Open C es parte de la edicion S60 3er FP2, y esta disponible como plug-in que los desarrolladores puedan utilizar para crear aplicaciones para los dispositivos anteriores a la 3er edicion de S60. Java La edicion de Java para dispositivos m oviles es Java Micro Edition (J2ME), es una coleccion de tecnologas y de especicaciones para el desarrollo de aplicaciones para dispositivos moviles. Mas adelante se explicara mas sobre J2ME. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Lenguajes soportados por S60 Flash Lite Flash Lite es la version movil de la tecnologa Adobe. Actualmente las S60 3er Ed y la serie 40 tienen Flash Lite 1.1 o Flash Lite 2.0 Python Python para S60 es un lenguaje de programacion para telefonos inteligentes, se pueden manejar todas las funciones de un telefono como camara, contactos, calendario, grabacion y reproduccion de audio,y Bluetooth bajo el estandar TCP/IP. Ruby Ruby es un lenguaje de programacion orientado a objetos con una corta sintaxis con la combinacion de otros elementos de Perl, Python, Lisp, Dylan y CLU. Ruby cuenta con las libreras moviles estandar de Symbian. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Lenguajes soportados por S60 Flash Lite Flash Lite es la version movil de la tecnologa Adobe. Actualmente las S60 3er Ed y la serie 40 tienen Flash Lite 1.1 o Flash Lite 2.0 Python Python para S60 es un lenguaje de programacion para telefonos inteligentes, se pueden manejar todas las funciones de un telefono como camara, contactos, calendario, grabacion y reproduccion de audio,y Bluetooth bajo el estandar TCP/IP. Ruby Ruby es un lenguaje de programacion orientado a objetos con una corta sintaxis con la combinacion de otros elementos de Perl, Python, Lisp, Dylan y CLU. Ruby cuenta con las libreras moviles estandar de Symbian. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Lenguajes soportados por S60 Flash Lite Flash Lite es la version movil de la tecnologa Adobe. Actualmente las S60 3er Ed y la serie 40 tienen Flash Lite 1.1 o Flash Lite 2.0 Python Python para S60 es un lenguaje de programacion para telefonos inteligentes, se pueden manejar todas las funciones de un telefono como camara, contactos, calendario, grabacion y reproduccion de audio,y Bluetooth bajo el estandar TCP/IP. Ruby Ruby es un lenguaje de programacion orientado a objetos con una corta sintaxis con la combinacion de otros elementos de Perl, Python, Lisp, Dylan y CLU. Ruby cuenta con las libreras moviles estandar de Symbian. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Lenguajes soportados por S60 Perl Toma caractersticas de C, del lenguaje interpretado shell, lisp, y de otros lenguajes de programacion. La version de Perl que trabaja con S60 es la 5.9.x. OPL Es un lenguaje de programacion similar a BASIC con el proposito de ejecutarse en Symbian. OPL para la Serie S60 es alpha v0.30, el package es ta disponible bajo la licencia LGPL. Lua Lua es un lenguaje de programacion ligero de gran alcance dise nado para extender aplicaciones,se utiliza con frecuencia como lenguaje de uso general, independiente, Lua 5.1 para Symbian S60 Tercera Edicion solo corre en un emulador console.exe sin interfaz de usuario. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Lenguajes soportados por S60 Perl Toma caractersticas de C, del lenguaje interpretado shell, lisp, y de otros lenguajes de programacion. La version de Perl que trabaja con S60 es la 5.9.x. OPL Es un lenguaje de programacion similar a BASIC con el proposito de ejecutarse en Symbian. OPL para la Serie S60 es alpha v0.30, el package es ta disponible bajo la licencia LGPL. Lua Lua es un lenguaje de programacion ligero de gran alcance dise nado para extender aplicaciones,se utiliza con frecuencia como lenguaje de uso general, independiente, Lua 5.1 para Symbian S60 Tercera Edicion solo corre en un emulador console.exe sin interfaz de usuario. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Lenguajes soportados por S60 Perl Toma caractersticas de C, del lenguaje interpretado shell, lisp, y de otros lenguajes de programacion. La version de Perl que trabaja con S60 es la 5.9.x. OPL Es un lenguaje de programacion similar a BASIC con el proposito de ejecutarse en Symbian. OPL para la Serie S60 es alpha v0.30, el package es ta disponible bajo la licencia LGPL. Lua Lua es un lenguaje de programacion ligero de gran alcance dise nado para extender aplicaciones,se utiliza con frecuencia como lenguaje de uso general, independiente, Lua 5.1 para Symbian S60 Tercera Edicion solo corre en un emulador console.exe sin interfaz de usuario. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Agenda 1 Plataforma S60 Descripcion Algunos Telefonos Principales caractersticas de la tercera edicion Caractersticas de los dispositivos S60 Lenguajes de programaci on 2 PyS60 Descripcion Caractersticas 3 J2ME Descripcion MIDP o MiDlet Caractersticas 4 Carbide.c++ Descripcion Caractersticas 5 Conclusiones Conclusiones Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Descripcion de PyS60 Python se considera un proyecto de codigo abierto, administrado por Python Software Fundation, la ultima version estable fue sacada en septiembre de 2006. Python para la Serie S60 (PyS60) es una version modicada del Python adaptada para la Serie S60 del sistema operativo Symbian usado en dispositivos moviles. PyS60 proporciona el acceso a muchas de las funciones de telefonos inteligente (ademas de las caractersticas estandares del lenguaje), por ejemplo : camara fotograca, calendario, grabacion de sonidos y jugar con el audio, contactos y Bluetooth Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Caractersticas principales Simple y sencillo de aprender. Libre y fuente abierta: Esta es una de las razones por las cuales Python es tan bueno, ha sido creado y mejorado por una comunidad entusiasmada en mejorar su desempe no. Lenguaje de alto nivel. Portable: debido a su naturaleza de ser Open Source, Python ha sido portado a diversas plataformas (Linux, Windows Macintosh,Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE y PocketPC). Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Caractersticas principales Interpretado: Solo basta con ejecutar los programas, no se debe de enlazar y cargar libreras esto lo convierte en portable ya que solo basta con copiar el codigo y correrlo en alg un otro sistema. Orientado a Objetos: Python permite programacion orientada a procedimientos as como orientada a objetos. Ampliable: Se puede combinar codigo de C con Python. Empotrable: se puede insertar Python dentro de un programa en C/C++ para ofrecer las facilidades de scripting dentro del mismo. Libreras Extendidas: La librera estandar de Python es de hecho muy amplia y ofrece soporte para muchas aplicaciones. Ademas de la librera estandar, hay otras libreras como el Python Imaging Library. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Agenda 1 Plataforma S60 Descripcion Algunos Telefonos Principales caractersticas de la tercera edicion Caractersticas de los dispositivos S60 Lenguajes de programaci on 2 PyS60 Descripcion Caractersticas 3 J2ME Descripcion MIDP o MiDlet Caractersticas 4 Carbide.c++ Descripcion Caractersticas 5 Conclusiones Conclusiones Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Descripcion de J2ME La edicion Java 2 Micro Edition fue lanzado por Sun Microsystems con el proposito de desarrollar aplicaciones Java para peque nos dispositivos. J2ME surge para remplazar todas las versiones reducidas basadas en el JDK 1.1 y crear una sola solucion basada en Java 2 pero al mismo tiempo orientada al tipo de dispositivos peque nos con capacidades restringidas tanto en pantalla graca, como de procesamiento y memoria (telefonos moviles, PDAs, Handhelds, Pagers, etc.) Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones MIDP es el acronimo de Perl para Dispositivios de Informacion Movil (Mobile Information Device Prole, proporciona un perl que se apoya en DLDC y que nos va a proporcionar los paquetes y clases necesarios para el desarrollo de aplicaciones. Una aplicacion MIDP o MIDlet es aquella que solo utiliza las APIs denidas por la arquitectura MIDP o CLDC. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Las caractersticas de J2ME para dispositivos de recursos limitados se basa en las APIs que pueden ser utilizadas para el desarrollo de aplicaciones en estos dispositivos, entre las APIs que tienen soporte en S60 son: Java APIs for Bluetooth MIDP 1 y MIDP 2 Mobile 3D MMAPI 1.1 PDA Optional Packages for the Java ME platform SIP API WMAPI 1.0, etc.. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Agenda 1 Plataforma S60 Descripcion Algunos Telefonos Principales caractersticas de la tercera edicion Caractersticas de los dispositivos S60 Lenguajes de programaci on 2 PyS60 Descripcion Caractersticas 3 J2ME Descripcion MIDP o MiDlet Caractersticas 4 Carbide.c++ Descripcion Caractersticas 5 Conclusiones Conclusiones Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Descripcion de Carbide.c++ Carbide.c++ v1.2, es la herramienta de desarrollo para C++ del sistema operativo de Symbian y desarrolladores de Open C. Carbide.c++ es una familia de gran alcance de las herramientas de desarrollo moviles construidas en el marco del eclipse. El producto es desarrollado por Nokia como parte de su familia de herramientas de desarrollo de Carbide, sustituye a CodeWarrior para Symbian. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Los miembros de la familia incluyen: Carbide.c++ OEM Edicion para los usuarios creadores del dispositivo Carbide.c++ Profesional Edition para los desarrolladores que trabajan con los dispositivos de pre-produccion Carbide.c++ Developer Edition para el desarrollo de aplicaciones en los telefonos. Carbide.c++ Express, version sin costo dar una experiencia movil a los desarrolladores. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Carbide.c++ v1.1 se basa en el IDE 3.1 de eclipse y en eclipse CDT 3.0.2 extendido para Symbian, utiliza actualmente el mismo compilador de C++ que CodeWarrior para la emulacion binaria. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Cuenta con vistas: Las vistas son paneles donde se organiza el desarrollo de la aplicacion, as ayudan al desarrollador a tener siempre a la vista lo que necesita. Facil instalacion: Carbide.c++ es muy similar a la instalacion estandar de eclipse lo cual le permite ser utilizado como ambiente de desarrollo para otros lenguajes como Perl o Java. Uso de Makeles: Carbide.c++ genera makeles los cuales traen como ventaja la reconstruccion rapidas basada en los archivos . Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Agenda 1 Plataforma S60 Descripcion Algunos Telefonos Principales caractersticas de la tercera edicion Caractersticas de los dispositivos S60 Lenguajes de programaci on 2 PyS60 Descripcion Caractersticas 3 J2ME Descripcion MIDP o MiDlet Caractersticas 4 Carbide.c++ Descripcion Caractersticas 5 Conclusiones Conclusiones Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Conclusiones J2ME es el lenguaje mas ampliamente usado por la comunidad. Sin embargo, encontramos que presenta las siguientes desventajas: El tama no permitido de las aplicaciones es de unas cuantos kilobytes (depende del telefono). No corre de manera nativa en el telefono. Generalmente necesita de esfuerzo extra para realizar aplicaciones que hagan uso de las caractersticas multimedia del telefono (video de alta resolucion, sonido de alta calidad, etc). Acceder a las comunicaciones, representa un desgaste para el programador. Usualmente no tiene acceso al calendario, a mensajes, y tampoco permite realizar llamadas. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Conclusiones Por otra parte, al trabajar con PyS60, encontramos: Pueden ser creadas aplicaciones de varios megabytes Acceder a caractersticas multimedia y PIM del telefono fue sencillo y transparente. Es facil realizar programas que hagan uso de las comunicaciones. Los programas en PyS60 resultaron ser compactos y fue mas rapido desarrollar en el. Hay una gran comunidad activa. Tiene una interfaz natural con C++. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones Conclusiones Finalmente, encontramos que Carbide.c++: Las versiones avanzadas del lenguaje no son libres. Tiene un buen soporte (documentacion, videos, etc.) por parte de Nokia. Los proyectos grandes, deberan de usar C/C++. Es nativo, lo que representa velocidad de ejecucion. Gregorio Toscano Pulido Intro a S60 logo Plataforma S60 PyS60 J2ME Carbide.c++ Conclusiones De acuerdo a lo anterior, concluimos, que en caso de necesitar una aplicacion rapida, el lenguaje a utilizar es PyS60, si dicha aplicacion necesita mas demanda de hardware, entonces la mejor opcion es Carbide.c++, nalmente, recomendamos usar J2ME, en caso que se quiera ampliar un trabajo que este en dicho lenguaje. Gregorio Toscano Pulido Intro a S60