Colegio de educación profesional técnica del estado de Veracruz Canalep N° 165 Lic. “Jesús
Reyes Heroles”
Modulo: Programación para equipo móvil (PPEM) Psp: ing. miguel ángel ramos grande Alumnos:
Lucia Ramírez Xochihua
Ángel Martínez Hernández Grupo: 504 Carrera: Informática
INDICE
Contenido ANDROID ...................................................................................................................................... 4
Google Play ............................................................................................................................. 6 Privacidad Privacidad ................................................................................................................................ 6 Seguridad ................................................................................................................................ 6 Android SDK SDK ............................................................................................................................ 6 Native Development Kit. Desarrollo Nativo .............................................................................. 7 Android Open Open Accessory Accessory Development Development Kit Kit .............................................................................. 7 App Inventor Inventor para Android ....................................................................................................... 7 HyperNext Android Creator ...................................................................................................... 8 El proyecto Simple ................................................................................................................... 8 Windows Phone Phone ......................................................................................................................... 9
Crear base de datos local en Windows Phone (es-ES) ( es-ES) ................................................................. 10 10 SNES8X, VBA8 y VGBC8, tres emuladores emuladores para Windows Phone ............................................... 10 BlackBerry ................................................................................................................................ 11
Interfaz de usuario..................................................................................................................... 13 BlackBerry Java Development Development Environment Environment .............................................................................. 13 IPhone........................................................................................................................................ 15 Symbian OS .............................................................................................................................. 17
Página 3
La descripción de la arquitectura. En la segunda entrada de DirectoAndroid, realizaré una descripción general de la arquitectura de la plataforma Android. No pretendo realizar una descripción exhaustiva, sino realizar una descripción a alto nivel, ya que existe documentación escrita y en internet en la que realizan una descripción detallada del sistema. Android es aquel software diseñado para dispositivos móviles y Tablet´s compuesto por un middleware y aplicaci ones. Las
características principales son: ● ● ● ● ● ● ● ● ● ●
Un framework de desarrollo. Una máquina virtual Dalvik optimizada para dispositivos móviles. Un navegador integrado basado en el motor Webkit. Un optimizador gráfico. Una base de datos empotrada como es SQLite. Soporte multimedia Telefonía GSM En función del hardware soporta: bluetooth, EDGE, 3G y Wifi. En función del hadware soporta: sop orta: cámara, GPS, brújula y acelerómetro. Entorno de desarrollo: emulador del dispositivo, herramientas para la depuración y un plugin para el IDE Eclipse. Desde un punto de vista gráfico, gr áfico, la arquitectura de Android queda descrita en el siguiente gráfico:
La descripción de los elementos por capa es la siguiente:
1. Aplicaciones. Las aplicaciones básicas son: programas de SMS, calendario, mapas, navegador, contactos; todas ellas, desarrolladas en lenguaje Java.
Página 4
2. Framework. Plataforma de desarrollo abierta. El desarrollador es capad de: configurar alarmas, ejecutar servicios en segundo plano, realizar notificaciones. Diseñada para la reutilización de componentes, así, cualquier aplicación, puede reutilizar una capacidad de otra aplicación. Toda aplicación es un conjunto de servicios: gestor de actividad, vistas, gestor de recursos y administrador de notificaciones. 3. Bibliotecas. Las bibliotecas están desarrolladas en C/C++ y son utilizadas por el sistema Android. Todas ellas, están expuesta mediante el framework de las aplicaciones. Algúnas de las librerías del núcleo son: motor de gráficos 2D, SGL; librerías de 3D, librerías multimedia, un motor de navegador web, LibWebCore; librerías en C, un motor de base de datos, SQLite 4. Android Runtime. Bibliotecas básicas que proporcionan la mayor funcionalidad disponible en las bibliotecas del núcleo de lenguaje de programación Java.Cada aplicación se ejecuta en un proceso propio con su propia instancia de la máquina virtual de Dalvik. Esta máquina se basa en el kernel de Linux. 5. Linux Kernel. Basado en la versión 2.6 de Linux para los servicios del sistema como la seguridad, gestión de memoria, gestión de procesos,la pila de red, y el modelo controlador. El núcleo es una abstracción entre el hardware y el resto de software.
Las versiones de las plataformas, hasta la fecha, son las siguientes: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Android 1.0. Nivel API 1 Android 1.1. Nivel API 2 Android 1.5. Nivel API 3, CupCake Android 1.6. Nivel API 4, Donut Android 2.0 Nivel API 5, Éclair Android 2.1 Nivel API 7, Éclair Android 2.2 Nivel API 8, Froyo Android 2.3 Nivel API 9, Gingerbread, diciembre de 2010 Android 3.0 Nivel API 11, Honeycomb, febrero de 2011 2011 Android 3.1 Nivel API 11, Honeycomb, julio de 2011 Android 4.0 Nivel API 14, Ice Cream Sandwich, primera revisión octubre de 2011 Android 4.0.2 Nivel API API 14,Ice Cream Sandwich, Sandwich, 2 revisión diciembre 2011. 2011. Android 4.0.3 Nivel API 15,Ice Cream Sandwich, diciembre de 2011 Sistema operativo que utiliza.
Android es un sistema operativo basado en Linux, diseñado principalmente para dispositivos móviles con pantalla táctil como teléfonos inteligentes o tabletas inicialmente desarrollados por Android, Inc., que Google respaldó económicamente y más tarde compró en 2005, 2005,11 Android fue presentado presentado e n 2007 junto la fundación del del Open Handset Alliance: un consorcio de compañías de hardware, hardware, software y telecomunicaciones para avanzar en los estándares abiertos de los dispositivos móviles .12 El primer móvil con el sistema operativo Android fue e l HTC Dream y se vendió en octubre de 2008.13 2008 .13
(Aplicaciones)
Página 5
Las aplicaciones se desarrollan habitualmente en el lenguaj e Java con Android Software Development Kit (Android SDK), SDK),68 pero están disponibles otras herramientas de desarrollo, incluyendo un Kit de Desarrollo Nativo para aplicaciones o extensiones en C o C++, C++, Google App Inventor, un entorno visual para programadores novatos y varios cruz aplicaciones de la plataforma web móvil marcos . 69 y también es posible usar las bibliotecas Qt gracias al proyecto Necesitas SDK. El desarrollo de aplicaciones para Android no requiere aprender lenguajes complejos de programación. Todo lo que se necesita es un conocimiento aceptable de Java y estar en posesión del kit de desarrollo de software o «SDK» provisto por po r Google el cual se puede descargar gratuitamente .70 Todas las aplicaciones están comprimidas en formato APK, que se pueden instalar sin dificultad desde cualquier explorador de archivos en la mayoría de dispositivos.
Google Play Google Play es la tienda en línea de software desarrollado por Google para dispositivos Android. Una aplicación llamada "Play Store" que se encuentra instalada en la mayoría de los dispositivos Android y permite a los usuarios navegar y descargar aplicaciones publicadas por los desarrolladores. Google retribuye a los desarrolladores el 70% del precio de las aplicaciones. Esta aplicación remplazó a "Market". Por otra parte, los usuarios pueden instalar aplicaciones desde otras tiendas virtuales (tales como Amazon Appstore71 72 o SlideME73 ) o directamente en el dispositivo si se dispone del archivo APK de la aplicación. aplicación .74
Privacidad Se han descubierto ciertos comportamientos en algunos dispositivos que limitan la privacidad de los usuarios, de modo similar a iPhone, pero ocurre al activar la opción «Usar redes inalámbricas» en el menú «Ubicación y seguridad», avisando que se guardarán estos datos, y borrándose al desactivar esta opción, pues se usan como caché y no como log tal como hace iPhone. iPhone .75 Seguridad
Según un estudio de d e Symantec de 2013, 2013,76 demuestra que en comparación con iOS, Android es un sistema menos vulnerable. El estudio en cuestión habla de 13 vulnerabilidades graves para Android y 387 vulnerabilidades graves para iOS. El estudio también habla de los ataques en ambas plataformas, en este caso Android se queda con 113 ataques nuevos en 2012 a diferencia de iOS que se queda en 1 solo ataque. Aun así Google y Apple se empeñan cada vez más en hacer sus sistemas operativos más seguros incorporando más seguridad tanto en sus sistemas operativos como en sus mercados oficiales. Lenguajes de desarrollo y bibliotecas. Desarrollo de Programas para Android se hace habitualmente con el lenguage de programación Java y el conjunto de herramientas de desarrollo ( SDK, SDK , Software Development Kit ), pero hay otras opciones disponibles. En Abril del 2011 existían más de 200.000 aplicaciones contabilizadas para Android, con unos 3 millardos de descargas. descargas. 2 3 La plataforma Android ha crecido hasta ser una de las preferidas por los desarrolladores para plataformas móviles. Un estudio de junio del 2011 indica que el 67% de los desarrolladores para móviles utilizaban la plataforma en el momento de la publicación del estudio. estudio. 4
Android SDK
Página 6
El SDK ( Software Development Kit ) de Android, incluye un conjunto de herramientas de desarrollo. desarrollo .5 Comprende un un depurador de código, código, biblioteca, un simulador de teléfono basado en QEMU, documentación, ejemplos de código y tutoriales. Las plataformas de desarrollo soportadas incluyen Linux ( cualquier distribución moderna ), Max OS X 10.4.9 o posterior, y Windows XP o posterior. La plataforma integral de desarrollo (IDE, Integrated Development Environment) soportada oficialmente es Eclipse junto con el complemento ADT ( Android Development Tools plugin ), aunque también puede utilizarse un editor de texto para escribir ficheros Java y Xml y utilizar comandos en un terminal ( se necesitan los paquetes JDK, Java Development Kit y Apache Ant ) para crear y depurar aplicaciones. Además, pueden controlarse dispositivos Android que estén conectados ( e.g. reiniciarlos, instalar aplicaciones en remoto). Las Actualizaciones del SDK están coordinadas con el desarrollo general de Android. El SDK soporta también versiones antiguas de Android, por si los programadores necesitan instalar aplicaciones en dispositivos ya obsoletos o más antiguos. Las herramientas de desarrollo son componentes descargables, de modo que una vez instalada la última versión, pueden instalarse versiones anteriores y hacer pruebas de compatibilidad. Una aplicación Android está compuesta por un conjunto de ficheros empaquetados en formato .apk y guardada en el directorio /data/app del sistema operativo Android ( este directorio necesita permisos de superusuario , root, por razones de seguridad ). Un paquete APK incluye ficheros .dex ( ejecutables Dalvik, un código intermedio compilado ), recursos, etc.
Native Development Kit. Desarrollo Nativo El NDK permite instalar bibliotecas escritas en C y otros lenguajes, una vez compiladas para ARM o código x86 nativo. Los programas Java corriendo en la máquina virtual Dalvik ( Dalvik VM ) pueden llamar a clases nativas por medio de la función System.loadLibrary, que forma parte de las clases estándar Java en Android. Se pueden compilar e instalar aplicaciones completas utilizando las herramientas de desarrollo habituales. El depurador ADB proporciona un shell root en el Simulador de Android que permite cargar y ejecutar código nativo ARM o x86. Este código puede compilarse con GCC en un ordenador normal. La ejecución de código nativo es difícil porque Android utiliza una biblioteca de C propia (libc, llamada Bionic). Se accede al dispositivo gráfico como un framebuffer disponible en /dev/graphics/fb0. La biblioteca gráfica que utiliza Android para controlar el acceso a este dispositivo dispositivo se llama Skia Graphics Library (SGL), disponible disponible con licencia de código abierto. Skia tiene implementaciones en win32 y Unix, permitiendo el desarrollo cruzado de aplicaciones, y es el motor de gráficos que soporta al navegador web Google Chrome.
Android Open Accessory Development Kit La plataforma de Android 3.1 ( portado también a Android 2.3.4 ) introduce soporte para Android Open Accesory, que permite interactuar a dipositivos USB externos ( accesorios USB Android ) interactuar con el dispositivo en un modo especial llamado "accessory". Cuando un dispositivo Android está en modo "accessory" el dispositivo externo actúa como hub usb ( proporciona alimentación y ennumera los dispositivos ) y el dispositivo Android actúa como dispositivo USB. Los accesorios Android USB están diseñados específicamente para conectarse a dispositivos Android y utilizan un protocolo simple ( Android accessory protocol ) que les permite detectar dispositivos Android que soportan modo "accessory".
App Inventor para Android Google anunció en julio de 2010 la disponibilidad de App Inventor para Android, que es un entorno de desarrollo visual Web, para programadores noveles, basado en la biblioteca Open Blocks Java, del MIT. Este entorno proporciona acceso a funciones GPS, acelerómetro y datos de orientación, funciones de teléfono, mensajes de texto, conversión habla a texto, datos de contacto, almacenamiento permanente, y servicios Web, incluyendo inicialmente Amazon y Twitter. Hal Abelson, director de proyecto en el MIT, dijo:
Página 7
"Sólo hemos podido hacerlo porque la arquitectura Android es tan abierta". Después de un año de desarrollo, la herramienta de edición de bloques se ha utilizado para enseñanza a principiantes en ciencias de computación en Harvard, MIT, Wellesley, y en la Universidad de San Francisco, donde el profesor David Wolber, desarrolló un curso de introducción a la ciencia de los ordenadores y un libro de enseñanza para estudiantes que no estudian computación, basado en App Inventor para Android.
HyperNext Android Creator HyperNext Android Creator (HAC) es un sistema de desarrollo de programas dirigido a programadores que empiezan, permitiéndoles crear sus propias aplicaciones sin necesitar conocimientos de Java y del SDK de Android. Está basado en HyperCard, HyperCard, que gestiona el software como una pila de tarjetas en la que sólo una de ellas es visible en un momento dado y por tanto encaja bien en aplicaciones para teléfonos móviles, con una sola ventana disponible a la vez. El lenguaje principal de desallollo se llama simplemente HyperNext y está relacionado con el lenguaje de HyperCards HyperTalk. HyperNext es un intérprete de un lenguaje similar al Inglés y tiene muchas funciones para crear aplicaciones Android. Soporta un subconjunto creciente del SDK de Android incluyendo sus propias vesiones de controles gráficos de interfaz de usuario ( GUIs ) y ejecuta autómaticamente su propio servicio, de forma que las aplicaciones pueden continuar ejecutándose y procesando información, sin estar en el frontal del usuario.
El proyecto Simple El objetivo de Simple es ser un lenguaje fácil de aprender para la plataforma Android. Simple es un dialecto de BASIC para Android. Sirve tanto para programadores profesionales como aficionados permitiendo escribir rápidamente aplicaciones que utilizan los componentes de Android. Parecido a Visual Basic 6 de Microsoft, los programas Simple consisten en definiciones de formularios ( que contienen componentes ) y código ( con la lógica del programa ). La interacción entre ellos se hace por médio de eventos lanzados por los componentes. La lógica del programa consiste en gestores de eventos, que ejecutan código dependiendo del evento. El proyecto Simple no tiene mucha actividad. La última actualización de código se realizó en agosto de 2009. Existe un producto comercial parecido llamado Basic4android, inspirado en Visual Basic 6 y Microsoft Visual Studio. Este proyecto si tiene actividad y hay una comunidad sólida de programadores. Base de datos que soporta. http://www.slideshare.net/mejiaff/ejemplo-base-de-datos-sqlite-android Emuladores con los que cuenta. -Atari 2600 -Nintendo -Sega master system -Super nintendo -Game boy -Game boy color -Game boy advance -Playstation -Nintendo 64 -Nintendo ds -Mame
Página 8
Windows Phone Phone Windows Phone es un sistema operativo móvil desarrollado por por Microsoft, como sucesor de la plataforma
Windows Mobile. Mobile.2 A diferencia de su predecesor, predecesor, está enfocado enfocado en el mercado de consumo generalista generalista en 3 lugar del mercado empresarial. empresarial. Con Windows Phone, Microsoft ofrece una nueva interfaz de usuario que integra varios servicios propios como SkyDrive, SkyDrive, Skype y Xbox Live en el sistema operativo. El 29 de octubre de 2012 se lanzó al mercado la última versión del sistema operativo , Windows Phone 8 solo para nuevos dispositivos, debido a un cambio completo en el kernel que lo hace incompatible con dispositivos basados en la versión anterior, fragmentando de esta forma el mercado de aplicaciones disponibles. disponibles .4 Esta versión incluye nuevas funciones que de acuerdo a Microsoft lo harán competitivo con sistemas operativos como iOS de Apple o Android de Google.5 Google.5 Interfaz de usuario
Windows Phone cuenta con una nueva interfaz de usuario, llamada Metro. Metro.29 La pantalla de inicio, llamada "Start Screen", se compone de "Live Tiles", mosaicos dinámicos que son enlaces a aplicaciones, características, funciones y objetos individuales (como contactos, páginas web, o archivos multimedia) y que muestran información útil y personalizada para el usuario. Estos mosaicos se actualizan frecuentemente manteniendo informado de cualquier cambio al usuario. La información que se muestra en los mosaicos dinámicos puede ser desde llamadas, mensajes recibidos, correos electrónicos pendientes, citas previstas, juegos o enlaces rápidos a aplicaciones. La pantalla de inicio y la posición del los mosaicos dinámicos se puede personalizar pulsando y arrastrando los mosaicos a la posición que se desee .30 Windows Phone utiliza tecnología multitáctil(Significa que se puede usar con más de un dedo) .31 La interfaz por defecto de Windows Phone tiene un estilo visual negro que prolonga la batería en pantallas OLED ya que los píxeles negros no emiten tanta luz como otros, por lo tanto no gastan tanta batería .32 El
Página 9
usuario puede elegir un tema claro y también cambiar a varios colores tales como rojo, mango, azul, verde, marrón, rosado, lima, magenta, morado, verde azulado y en la serie de nokia lumia el color nokia blue. La descripción de la arquitectura.Lenguajes de desarrollo y bibliotecas. http://www.slideshare.net/movilforum/arquitectura-de-la-plataforma-de-desarrollo-de-windows-phone-75518091 Crear base de datos local en Windows Phone (es-ES) Este articulo sirvió de base para la creación de la aplicación (web browser) para windows phone EvolucionBrowser Los motores de bases de datos que podemos utilizar locales en Windows Phone 7.5 son: ● Microsoft SQL Server Mobile (Compact Edition) ● SQLite Debemos crear un contexto de datos (DataContext) para poder tener acceso a la base de datos local en Windows Phone 7.5, aquí es necesario aclarar, que no podemos utilizar ADO.NET de manera directa para el acceso a la base de datos local. Por este motivo debemos crear un contexto de datos de la base de datos, este DataContext, no es mas que una clase en uno de los lenguajes de la plataforma .NET (VB.NET o C#), en la cual se encuentran métodos que permiten las operaciones CRUD (Create, Read, Update, Delete) , clases de tipo entidad que representan un registro de cada una de las tablas, clases de tipo colección que representan la tabla o un conjunto de registros de la tabla.
SNES8X, VBA8 y VGBC8, tres emuladores para Windows Phone
Página 10
La plataforma de aplicaciones de BlackBerry simplifica el desarrollo, compilado y administración de aplicaciones Wireless. La idea de esta plataforma es tratar de simplificar el desarrollo, para los diferentes paradigmas de la programación que se encuentran hoy. En general, la plataforma de desarrollo de BlackBerry fortalece el núcleo del negocio, dándole un aspecto móvil a los procesos de negocios con las aplicaciones que posee, ofreciendo también una elección entre diferentes estándares de desarrollo. Gráfico co mp arativo entre los enfoq ues de progr amación Black Berry
En BlackBerry se tienen diferentes enfoques para desarrollar, cada una con diferentes ventajas y desventajas. Por ejemplo vemos en el grafico arriba, que con Java ME, se tienen desarrollos más flexibles, ya que uno puede generar más personalizaciones para la experiencia del usuario. Por Página 11
otro lado tenemos el desarrollo vía Browser , donde es fácil de desarrollar y es muy simple, ya que existen muchos estándares para lo que queramos hacer, pero a diferencia de lo que se puede hacer con Java ME, por ejemplo, hay ciertos detalles o conflictos que se deben resolver para cada parte en alguna pagina, y que uno no puede cambiar ya que estas serán mostradas en el browser de cada dispositivo, por ejemplo uno no puede cambiar exactamente como las tablas serán distribuidas o diseñadas. Depende también del tamaño de la pantalla la manera de cómo vamos a mostrar ciertas cosas. Asimismo todavía el enfoque Browser no maneja muy bien la característica offline, que es cuando no existe conectividad y se está realizando una petición o envió de información, es detenida hasta que se reanude la conexión . Por otro lado, tenemos el enfoque de MDS Runtime la cual trata de hacer un puente entre Java ME y Browser, ocupando características de ambos enfoques para realizar desarrollos rápidos basados en Webservices, como veremos posteriormente. 1.1
Arquitectura de la plataforma BlackBerry™
Arqu itectura de la plataforma BlackBerry Todas las opciones de desarrollo en BlackBerry™ ocupan la misma arquitectura para la
comunicación. Como podemos ver en la ilustración 11 la comunicación va desde la parte derecha con los dispositivos hacia la parte izquierda donde desarrollamos desarrollam os nuestras aplicaciones. Entonces pasamos por las redes Wireless (donde existen diferentes estándares entre ellos EDGE o HDSP), hacia la infraestructura BlackBerry, la cual conectará con el BlackBerry Enterprise Server con BlackBerry MDS Services donde lo primero que esta es el Firewall que generará la conectividad entre el dispositivo dentro de la nube de internet hacia la infraestructura BlackBerry. Entonces la información va desde el dispositivo a la infraestructura, de forma tal que se va automáticamente por el correspondiente canal abierto del Blackberry Enterprise Server, así dependiendo de la información o el tipo de flujo de información provista por el dispositivo, tomará el camino más apropiado para que esta sea entregada a las diferentes tecnologías que toman parte de esta arquitectura, tales como: 1. Application Server con Web Services 2. Application Server 3. Web Server La línea naranja en la ilustración, representa la Blackberry MDS Runtime, que conecta a la red Wireless hacia el BlackBerry Enterprise Server y luego hacia el MDS server corriendo ahí, con lo que usamos SOAP y Webservices, para conectar el Application Server vía Webservice o HTTP. De la misma forma con Java, pasa por las redes Wireless hacia internet y luego al Blackberry MDS Services, el cual deriva hacia los tres tipos de tecnologías o Back-ends que describimos anteriormente, siendo este enfoque muy flexible ya que existe comunicación ya sea por HTTP, XML o algún protocolo propio que se desarrolle. Blackberry Browser en cambio, va desde el BlackBerry Enterprise Server conectando con Blackberry MDS server y luego vía HTTP conecta al Web Server en el Back-end.
Página 12
Arqu itectura vista de la p erspectiva de la aplicación aplicación
Esta arquitectura funciona como una caja negra, en la cual el desarrollador no se preocupa de cómo la información está siendo manejada y redirigida a través de la redes o de acuerdo a qué tipo de señal se está comunicando, esto es automático. Asimismo se puede decir que esta arquitectura funciona como una VPN ( Virtual Private Network ) permanente. Para esto BlackBerry MDS provee de Seguridad End-to-End, afuera de esta caja negra, como también provee de la administración de la conectividad Wireless, Protocolos de Interfaces Estándar como HTML, WML, SVG, etc. Y nos provee de independencia para el dispositivo como para la red, tanto para la perspectiva Push y Pull , ya que no importa si estamos con el estándar EDGE, HDSP, etc., todo es automático y transparente. De este modo, bajo el concepto de VPN, el usuario no tiene que pagar extra para tener las conexiones Push, este punto es importante ya que la misma infraestructura maneja este tipo de conexiones abiertas sabiendo que tipo de información se está transmitiendo o de qué forma.
Interfaz de usuario El 1 de mayo de 2012 , Thorsten Heins, CEO de BlackBerry dio a conocer oficialmente la plataforma BlackBerry 10. Las características mostradas en la conferencia BlackBerry World incluía toda una plataforma de interfaz fluida, un nuevo teclado inteligente, así como una aplicación de cámara que permite al usuario ajustar un retrato moviendo a través del tiempo para elegir el mejor fotograma, tanto de la escena general como individualmente en cada una de las caras reconocidas en la foto, permitiendo crear en el momento la foto ideal.
BlackBerry Java Development Environment BlackBerry® Java® Development Environment es un entorno completamente integrado de desarrollo y simulación para crear BlackBerry® Java Application para dispositivos BlackBerry. Gracias a BlackBerry JDE, los desarrolladores pueden crear aplicaciones con el lenguaje de programación Java® ME y las API extendidas de Java para BlackBerry. BlackBerry Java Development Environment incluye las siguientes herramientas de desarrollo: ● BlackBerry® Integrated Development Environment ● BlackBerry Smartphone Simulator ● Java ME y API de BlackBerry Página 13
●
aplicaciones de ejemplo
BlackBerry IDE incluye una serie completa de herramientas de edición y depuración que se han optimizado para el desarrollo de BlackBerry Java Application. BlackBerry Smartphone Simulator ofrece un entorno tipo Windows® completo y está diseñado para simular interfaces de usuario y la interacción del usuario, conexiones de red, servicios de correo electrónico y sincronización inalámbrica de datos.
A continuación continuación la lista de emuladores emuladores más más destacados para para BlackBerry10 BlackBerry10 y Playbook OS 2.1
PPSSPP Emulador de PSP (Tutorial y Descarga) Mupen64Plus-PB Emulador de nintenddo 64 (Tutorial y Descarga) PCSX-ReARMed-PB Emulador de PlayStation (Tutorial y Descarga) DOSBox Emulador Juegos de MS-DOS (Tutorial y Descarga) Snes9xPB Emulador de Super Nintendo (Tutorial y Descarga) DGEN Emulador de Sega Genesis (Tutorial y Descarga) UAE Amiga Emulador (Tutorial Emulador (Tutorial y Descarga) FCEUX NES Emulador de Nintendo Para BlackBerry 10 (Tutorial y Descarga) VBA-M Emulador de Game Boy (Tutorial y Descarga)
Ventajas de un celular BlackBerry: Una de las claras ventajas de un celular BlackBerry es que nos permite chatear fácilmente con otras personas o usuarios que utilizan esta marca también, ya que cada móvil tiene un chat que se llama BlackBerry Messenger y está muy difundido. ● Otra muy llamativa ventaja de esta marca de celulares es que algunos utilizan o tienen teclado QWERTY. Esto es algo muy bueno para los amantes de los botones en vez de la pantalla táctil. Muchos adolescentes hoy en día prefieren la primera opción porque se escribe más rápido. ● Una ventaja de un celular BlackBerry es que es multitarea, es decir, que se pueden ejecutar varias tareas simultáneamente. ● La empresa RIM tiene muchos modelos de Blackberrys en el mercado entonces nos podemos ajustar fácilmente a lo que necesitamos. ●
Desventajas de un celular BlackBerry: ●
Una de las desventajas más significativas es que causa mucha adicción en los adolescentes. Digo en ellos nada más porque los adultos no están todo el tiempo en las redes sociales, o mensajeándose, y es esto específicamente lo que hacen los
Página 14
adolescentes hoy en día. Esto no es así para todos los casos, pero suele haber una tendencia hacia esto que se dice. ● Una de las desventajas de los celulares BlackBerrys es que no tienen una pantalla tan grande como los smartphones de pantalla táctil. Esta es una desventaja porque para navegar en Internet, no es tan agradable. ● Otra desventaja es que si no se tiene Internet en el plan del celular, no se puede aprovechar del todo las aplicaciones del móvil porque gran parte de las mismas funcionan con la Web. ● Los celulares BlackBerrys con pantalla táctil no son tan buenos como los últimos smartphones del mercado, ya que no tienen características técnicas tan novedosas.
El iPhone de Apple es un smartphone (teléfono inteligente) diseñado y distribuido distribui do por Apple. Desde el primer momento entre las características del dispositivo dispositi vo destacaba la interfaz casi totalmente basada en la pantalla táctil siendo el interfaz de usuario por hardware mínimo. Entre otras características permite usarlo de cámara, como reproductor multimedia y conectarse a Internet de manera bastante parecida a como lo hace un PC. Otra de los puntos que diferencian al iPhone (sobre todo en los primeros monentos) del resto de productos similares es la existencia de la App Store. En esta tienda los usuarios pueden adquirir directamente las aplicaciones para su terminal, de hecho, es la única manera de obtener software nativo para el iPhone fuera de las aplicaciones incluidas por defecto. Por tanto, los desarrolladores desarrollador es están obligados a introducir sus trabajos en este sistema, previo pago de una módica suma. Además Apple obtiene un 30% de los beneficios de cada venta y tiene control absoluto sobre la tienda, pudiendo añadir o quitar aplicaciones a su gusto. Esto por un lado es un problema para los desarrolladores, pero parece que ha funcionado con los usuarios que no tienen que preocuparse de la procedencia de lo que instalan ya que, idealmente, todo es fiable. 5.1. iPhone OS Página 15
El sistema operativo utilizado por el iPhone se llama, desde la publicación del primer SDK, OS X iPhone o, más comúnmente iPhone OS. Como el primer nombre indica, está fuertemente basado en Mac OS X, la línea de sistemas operativos que desarrolla Apple y que se incluye en todos los ordenadores Macintosh desde 2002. Al igual que su “padre”, iPhone OS deriva de la fundación
Darwin que, a diferencia de Mac Mac OS X, es de código abierto. Partiendo de esta base, el sistema operativo varía en gran medida de sus antecesores debido a las características propias del iPhone como su interfaz táctil y la menor cantidad de memoria disponible así como su arquitectura de procesador (basado en ARM en lugar de x86) lo que provoca provoca que los programas desarrollados desarrollado s para Mac OS X deban ser adaptados para la nueva plataforma. Aún así, ese origen común permite, como veremos más adelante, que tanto las herramientas como el proceso que se sigue en un desarrollo sean bastante similares en los dos casos. 5.2. iPhone SDK Con la salida del iPhone en 2007, no se proveía un SDK propiamente dicho para el desarrollo de aplicaciones nativas, Apple se guardaba el monopolio absoluto del software que podía correr en el teléfono. Como compensación se ofrecía ofrecía la posibilidad de desarrollar desarroll ar web apps las cuales corrían en Safari, el navegador propio del iPhone. Estas “aplicaciones web” estaban escritas, como es de esperar, en HTML y JavaScript ofreciendo Apple los recursos necesarios (imágenes, animaciones) para que éstas tuvieran una apariencia similar a la de Doctorado en Ingeniería de Sistemas Telemáticos 2009 25 las aplicaciones nativas así como un mecanismo para colocarlas en el menú principal. No obstante, al no ser posible copiarlas al iPhone, era necesario en todos los casos tener un servidor web que sirviera las páginas a los clientes. Hasta Marzo de 2008 no se publicó un SDK propiamente dicho para el desarrollo de aplicaciones para el iPhone. Para dar una visión general del SDK es conveniente separarlo en dos partes: las herramientas proporcionadas para el desarrollo y la arquitectura. 5.3. Herramientas • XCode : Es la principal herramienta del SDK. Es la aplicación en la que se realiza la mayor parte
del desarrollo. Nos permite administrar el proyecto e ir añadiendo código. Además incluye un depurador gráfico bastante potente que corre sobre gdb, el debugger clásico. • Instruments: Permite medir distintas características de rendimiento y de uso de memoria de la
aplicación desarrollada mostrando gráficas que se actualizan en tiempo real. Como se ha dicho anteriormente, anteriorment e, al desarrollar para plataformas móviles, los desarrolladores desarroll adores más acostumbrados a sistemas con mayor cantidad de memoria deben tener muy en cuenta las limitaciones limitac iones del entorno para el que están trabajando. Herramientas de este tipo facilitan esa labor. • DashCode: Destinada al desarrollo de aplicaciones web para el iPhone. Su principal finalidad es
facilitar la tarea de escribir páginas que sean compatibles para la versión de Safari incluida en el dispositivo. Incluye una serie de plantillas de ejemplo y de imágenes así como código JavaScript que ayudan a la hora de que la apariencia de la página sea consistente con el diseño general del interfaz de usuario del sistema operativo. Adicionalmente, incluye herramientas para depurar el código. • iPhone Simulator: Com o su nombre indica, es un simulador del iPhone que permite probar las
aplicaciones desarrolladas si necesidad de pasarlas a un iPhone (y pagar la tarifa correspondiente). correspondie nte). Implementa el API completa del iPhone y, además, incluye Safari con lo que es posible probar tanto programas nativos como las aplicaciones web desarrolladas con DashCode. Es importante resaltar que se trata de un simulador y no un emulador, es decir, implementa el API Página 16
sobre la plataforma x86 existente en los ordenadores Mac actuales y no intenta emular el hardware del iPhone. Este detalle es importante sobre todo si atendemos a la velocidad ya que la máquina sobre la que corre el simulador va a ser siempre más rápida. 5.4. Arquitectura El desarrollo en el iPhone se basa en el uso de una variedad de frameworks y tecnologías sobre las que el programador se irá apoyando para construir su nueva aplicación. El SDK permite el acceso a estos recursos mediante una arquitectura por capas partiendo de las funciones mas básicas y cercanas a la máquina y terminando por las tareas más sofisticadas como los efectos gráficos. A continuación continuación se detalla un poco más cada una de estas capas: Doctorado en Ingeniería Ingeniería de Sistemas Telemáticos 2009 26 • Core OS: Es la capa inferior y es, por lo tanto, la que más cerca está del sistema operativo y de la máquina. Permite acceso a utilidades como: Hebras (POSIX), Redes (Sockets de BSD), entrada y salida estándar, sistema de ficheros, manejo de memoria… • Core Services: Principalmente compuesta por Core Fo undation y CFNetwork. Core Foundation es una serie de librerías construidas constr uidas sobre la capa anterior que facilitan facilit an el manejo de colecciones, fechas URLs, Streams y mucho más. CFNetwork se centra en el uso de protocolos tales como http, FTP, bonjour, etc. Además en Core Services se ofrecen frameworks framework s que ayudan en temas de seguridad así como manejo de bases de datos SQLite para las aplicaciones y XML. • Media: Contiene todo lo que tenga que ver con audio, video y gráficos. Ofrece varias tecnologías para dibujar en 2d y 3d con mayor o menor nivel de abstracción. • Cocoa Touch: Es principalmente la capa del interfaz de usuario. Es la versión para iPhone del
Cocoa de Mac Os X con lo que conserva muchas de sus características como el modelo vista controlador. Además ofrece la posibilidad de integrar aplicaciones entre sí mediante mensajes.
Symbian es un sistema operativo que fue producto de la alianza de varias empresas de telefonía móvil, entre las que se encuentran Nokia, Sony Ericsson, Psion, Samsung, Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi Electric, Panasonic, Sharp, etc. Sus orígenes provienen de su antepasado EPOC32, utilizado en PDA’s y Handhelds de PSION.
Alcance de Symbian OS Nokia La mayoría de los móviles con Symbian son de esta compañía: todos los modelos de la serie 60 (5700, etc.) y superiores, incluyéndose toda la Serie N y los nuevos táctiles N97, 5530, 5230, 5800, X6 y los más recientes N8 y C7(con la versión 3 de Symbian, son los móviles más importantes actualmente para NOKIA), los cuatro con la nueva versión v5, a excepción de los de tipo handheld (los cuales funcionan con Maemo corriendo sobre Linux) y los denominados “Internet Tablet” (N800,N810 y N900). UIQ (Sony Ericsson, Motorola y
otros) Sony Ericsson, Motorola, BenQ y Arima y, en mayor medida, Nokia, han usado Symbian sobre UIQ, una interfaz desarrollada por UIQ Technology.Algunos teléfonos con UIQ son: Sony Página 17
Ericsson: M600i, P800, P802, P900, P910, P990, P1i, W950, W960i, G705, G900, Satio y Vivaz; Motorola: RIZR Z8, RIZR Z10; Nokia: 6708, 6120, 6120i… Lenguaje de interfaz de servicios en
symbian os C++ Java Python, Ruby Flash Lite OPL PIPS Symbian C++ Hojas. Limpieza. Descriptores. Objeto activo. Base de datos que soporta MOBILE DATABASE VIEWER de CELLICA permite abrir bases de datos en los siguientes formatos: Microsoft Access, FoxPro, dBASE, MySQL y cualquier fuente de datos ODBC compatible. Emuladores con los que es compatible el symbian os Emulador de Spectrum Sinclair ZX para S60 Super GoBoy Frodo Super Goboy New Version Snes9x 0.30 EScummVM 0.8.0 Para S80 ScummVM 0.8.0 para S60 ScummVM 0.8.0 Para S90 Super Goboy 1.1 S60-CPC Vnes 1.52
BIBLIOGRAFIAS
http://es.wikipedia.org/wiki/Windows_Phone Windows Phone - Wikipedia, la enciclopedia libre es.wikipedia.org http://gigatecno.blogspot.mx/2013/02/ventajas-y-desventajas-de-un-celular.html http://es.wikipedia.org/wiki/Android Android - Wikipedia, la enciclopedia libre es.wikipedia.org http://www.emudesc.net/foros/moviles/368200-emulador-de-gba-blackberry.html
↑ http://www.theverge.com/2013/3/19/4123688/apple-releases-ios-6-1-3-to-fix-
lockscreen-vulnerability
↑ http://alt1040.com/2013/06/lanzamiento-de-ios-7/
↑ http://alt1040.com/2013/06/lanzamiento-de-ios-7
Página 18
↑ Canalys (31 de enero de 2011). «Google’s Android becomes the world’s leading smart phone platform» platform» (en inglés). Consultado el 8 de d e febrero de 2011.
Página 19