Unidad 4.- Programacion de Aplicaciones Moviles

36
Unidad 4.- Programación de aplicaciones móviles. Introduccion. El mercado de las aplicaciones para móviles ha cambiado de una forma radical en los últimos dos años. Al principio, para publicar aplicaciones móviles tenías que disponer del apoyo de una operadora o de una gran firma de juegos, pero con la aparición de los markets de aplicaciones, esto ha cambiado y cualquier persona puede publicar su app y empezar a ganar dinero. Si estás empezando en esto del desarrollo de aplicaciones para móviles, puede que esta entrada te resulte útil, porque vamos a intentar tratar en ella los aspectos fundamentales para comenzar a crear tus propias aplicaciones. Antes que nada debes plantearte en que plataformas te quieres especializar, a modo orientativo, a continuación te mostramos una gráfica con el volumen de mercado de las diferentes plataformas: A la vista de la gráfica anterior, puede ser una buena apuesta posicionarte en desarrollar para android o iphone. Esto tiene sus ventajas e inconvenientes. Como ventaja, estas trabajando en un mercado amplio, con demanda (a priori), pero como inconveniente, es un mercado donde hay ya muchísima gente trabajando. Así que otra posible opción es optar por mercados más selectos como RIM o Windows Phone 7. Todo dependerá de como plantees tu estrategía y en que mercado te vas a sentir más cómodo. Otra alternativa que tienes a la hora de acceder a un mercado, es optar por un sistema de desarrollo multiplataforma. Este tipo de soluciones te van a permitir acceder a múltiples mercados a la vez, pero posiblemente con un sacrificio en el rendimiento de las aplicaciones. Todo depende del tipo de aplicaciones que pretendas desarrollar. Existen algunos frameworks de desarrollo que una vez realizado el código puedes compilarlo y distribuirlo en múltiples plataformas. Normalmente estos frameworks están basados en HTML5 como el caso de PhoneGap, o AppAcelerator o

description

Documento de la unidad 4 de programación de aplicaciones para dispositivos moviles.

Transcript of Unidad 4.- Programacion de Aplicaciones Moviles

Unidad 4.- Programacin de aplicaciones mviles.Introduccion.El mercado de las aplicaciones para mviles ha cambiado de una forma radical en los ltimos dos aos. Al principio, para publicar aplicaciones mviles tenas que disponer del apoyo de una operadora o de una gran firma de juegos, pero con la aparicin de los markets de aplicaciones, esto ha cambiado y cualquier persona puede publicar su app y empezar a ganar dinero. Si ests empezando en esto del desarrollo de aplicaciones para mviles, puede que esta entrada te resulte til, porque vamos a intentar tratar en ella los aspectos fundamentales para comenzar a crear tus propias aplicaciones.Antes que nada debes plantearte en que plataformas te quieres especializar, a modo orientativo, a continuacin te mostramos una grfica con el volumen de mercado de las diferentes plataformas:A la vista de la grfica anterior, puede ser una buena apuesta posicionarte en desarrollar para android o iphone. Esto tiene sus ventajas e inconvenientes. Como ventaja, estas trabajando en un mercado amplio, con demanda (a priori), pero como inconveniente, es un mercado donde hay ya muchsima gente trabajando. As que otra posible opcin es optar por mercados ms selectos como RIM o Windows Phone 7. Todo depender de como plantees tu estratega y en que mercado te vas a sentir ms cmodo.Otra alternativa que tienes a la hora de acceder a un mercado, es optar por un sistema de desarrollo multiplataforma. Este tipo de soluciones te van a permitir acceder a mltiples mercados a la vez, pero posiblemente con un sacrificio en el rendimiento de las aplicaciones. Todo depende del tipo de aplicaciones que pretendas desarrollar. Existen algunos frameworks de desarrollo que una vez realizado el cdigo puedes compilarlo y distribuirlo en mltiples plataformas. Normalmente estos frameworks estn basados en HTML5 como el caso de PhoneGap, o AppAcelerator o en otros lenguajes de programacin como Corona SDK que trabaja usando LUA como lenguaje de programacin.Llegados a este punto es cuando tienes que empezar a leer. Absorbe toda la documentacin que encuentres a tu alcance sobre la plataforma por la que te has decidido, consigue toda la informacin que puedas para aprender los fundamentos y empieza a desarrollar pequeas aplicaciones que vayan dndote soltura y que te ayuden a ir aprendiendo. Por otro lado, tambin habla con otros desarrolladores en foros y sigue a todos los blogs que estn relacionados con tus plataformas de desarrollo y est siempre al tanto de todas las novedades.A continuacin a modo de resumen, se relacionan algunos tipos de aplicaciones, y una valoracin personal de que se podra utilizar para desarrollarlas:Juegos: Desarrollo nativo en la plataforma (mximo rendimiento) Corona SDK (Multiplataforma) AndEngine (Android) Cocos 2d (iOS)Aplicaciones multiventana (informacin turstica, app empresarial, BBDDs, etc) nativo (Si realmente es necesario) PhoneGap (Multiplataforma con html5) App Acelerator (Multiplataforma con html5)Aplicaciones de realidad aumentada Desarrollo nativo (mximo rendimiento) Mixare Layar WikitudeCon esto terminamos esta primera entrada dedicada a los comienzos en el desarrollo de aplicaciones mviles. A esta entrada le seguir un conjunto de entradas especficas de cada una de las herramientas que hemos nombrado, contando sus principales caractersticas. Crees que nos hemos dejado algo atrs?

4.1.- Plataforma para las aplicaciones mviles.Para el desarrollo de aplicaciones nativas1, cada uno de los sistemas operativos ofrece una plataforma para que nosotros podamos aprovechar y utilizar las mltiples caractersticas de los dispositivos en la construccin de nuestras aplicaciones:iOS SDK y Xcode 4Xcode es el entorno de desarrollo que contiene los diferentes SDKs para la construccin de aplicaciones para los sistemas de Appel (iOS y Mac). Se puede descargar de manera gratuita desde la pgina para desarrolladores Apple http://developer.apple.com/xcode/ pero nicamente las personas que cuenten con Apple ID y estn registradas como desarrolladores. El SDK de iOS cuenta con un emulador de iOS, pero si se van a probar aplicaciones directamente en el dispositivo los desarrolladores deben pagar una cuota anual de US$99 (que tambin incluye la publicacin de aplicaciones a travs de la Apple Store).Arranca de una creando tu primera aplicacin para iOS.Android SDK y NDKLas aplicaciones en Android se ejecutan sobre la Dalvik Virtual Machine (que es una implementacin independiente de una maquina virtual de Java pero con una arquitectura diferente), pero tambin se pueden crear aplicaciones que se ejecuten directamente sobre el sistema operativo (llamadas aplicaciones Nativas). Las aplicaciones se pueden desarrollar tanto de Java (para la DVM) como en C++ (aplicaciones nativas) a partir de sus respectivas herramientas de desarrollo: Android SDK para crear aplicaciones con Java Android NDK para crear aplicaciones con C++Para la publicacin de aplicaciones, los desarrolladores deben estar registrados en el Andoird Market y pagar una cuota de registro de US$25.Crea tu primera aplicacin para Android y de paso experimenta con las aplicaciones nativas que vienen con el NDK.Symbian SDKSymbian es la plataforma que ofrece crear aplicaciones de diferentes sabores. Symbian SDK permite la creacin de aplicaciones con Qt y Symbian C++ para mviles S60, y con Java se pueden crear aplicaciones tanto para mviles S60 y S40.Las aplicaciones se distribuyen a travs de la Ovi Store con un costo para los desarrolladores, a la hora de registrarse, de 1.Empieza creando aplicaciones en Qt, tambin puedes revisar cdigos de ejemplo para el desarrollo de aplicaciones con C++ para Symbian, adems de ver Java en accin sobre esta plataforma.Windows Phone 7 Developer ToolsY no faltaba que revisramos como desarrollar para la nueva plataforma de Microsoft para dispositivos mviles, pero, siendo mi rea de especialidad, lo dejo en un post ms amplio: #wp7Dev Desarrollo sobre Windows Phone 7En los ltimos aos se ha producido un crecimiento exponencial de las ventas de smartphones, llegando a cifras tales como la venta de 1 milln de unidades de iPhone 4S en 24 horas en EEUU. En 2011 y por primera vez, la venta de smartphones ha superado en cantidad a la venta conjunta de PCs (sobremesa y porttiles), tablets y netbooks, llegando a los 500 millones de terminales. Este es uno de los motivos por el que las aplicaciones para dispositivos mviles se han revelado como un mercado emergente con grandes posibilidades.En trminos de nmero de aplicaciones y negocio generado, el mercado actual de las aplicaciones mviles est liderado por Apple y Google, con iOS y Android como sistemas operativos, y con App Store y Play Store como plataformas de venta, respectivamente. De hecho, Gradiant lleva tiempo desarrollando proyectos en ambas plataformas, con aplicacin en distintos mbitos tales como la realidad aumentada, el reconocimiento biomtrico y la TV social. La experiencia de Gradiant en este sentido ha permitido constatar que, aun compartiendo filosofas muy similares, ambas plataformas presentan importantes diferencias que condicionan el desarrollo de las aplicaciones y el alcance que tienen entre los usuarios finales.Android es el S.O. desarrollado por Open Handset Alliance, organizacin liderada por Google. La principal caracterstica de Android es que se desarrolla de forma abierta, lo que permite a los desarrolladores crear libreras y programas generados en otros lenguajes y compilarlos en la arquitectura ARM de los terminales Android como si se tratasen de libreras nativas del sistema, permitiendo mejorar el sistema constantemente. La oferta de telfonos con Android es amplia y variada tanto en marcas como en precios, existiendo ya ms de 100 dispositivos en el mercado (entre smartphones y tablets) que funcionan sobre este sistema operativo. Adems, el gran xito de ventas sita a Android como el sistema operativo con mayor nmero de terminales vendidos en 2011. Sin embargo, esta gran diversidad a nivel hardware est generando tambin una gran fragmentacin de versiones de Android, debido a la necesidad de hacer adaptaciones a cada dispositivo concreto. Esta situacin se traduce en un incremento en la complejidad del desarrollo de aplicaciones, sobre todo a la hora de garantizar fiabilidad, soporte y experiencia de uso adecuada, caractersticas que son responsabilidad del desarrollador, debido a la inexistencia de revisiones y controles a la hora de publicar aplicaciones en la Play Store.iOS (iPhone OS), el sistema operativo desarrollado por Apple Inc. para iPhone, iPod Touch, iPad y Apple TV, es una evolucin de Darwin BSD y por lo tanto un sistema operativo Unix. A diferencia de Android, iOS est desarrollado nicamente para unos pocos dispositivos diseados por la propia Apple, constituyendo as un ecosistema cerrado. Sin embargo, de cara a los desarrolladores esta caracterstica proporciona una ventaja, ya que las herramientas de diseo de aplicaciones y frameworks proporcionadas por Apple estn optimizadas para dicho hardware, simplificando as las tareas de desarrollo y contribuyendo a garantizar la fiabilidad de las aplicaciones. Adems, las aplicaciones para iOS se distribuyen por medio de la App Store, pasando estrictos controles de calidad antes de ser publicadas.Durante el 2011, Windows Phone se ha incorporado a la lista de S.O. para dispositivos mviles. Desarrollado por Microsoft, es el sucesor de la plataforma Windows Mobile. Actualmente cuenta con 70.000 aplicaciones, muy por debajo de sus competidores Android e iOS, aunque el notable crecimiento que est experimentando ser motivo de atencin durante los prximos meses.

4.1.1.- Arquitectura de los mviles.Adiferencia de las computadoras tradicionales, los dispositivos mviles tienen caractersticas particulares que incluyen: Duracin limitada de la batera. Posible tamao pequeo de la pantalla. Conectividad intermitente. Posibilidad de que el dispositivo se pierda fcilmente. Posibilidad de realizar clculos demandantes. Variedad de sensores que permiten recolectar informacin. Acceso a infraestructura que facilita la instalacin y actualizacin de aplicaciones (mercados de apps).Los puntos descritos previamente aunados al hecho de que los dispositivos mviles estn siempre a la mano, ha dado lugar a distintos tipos de aplicaciones con drivers particulares. Recordemos que en el contexto de arquitectura de software, los drivers, se refieren a los requerimientos que influyen en el diseo de la arquitectura. Estos drivers generalmente incluyen requerimientos funcionales primarios, atributos de calidad y restricciones.Tipos de aplicacionesHoy en da podemos considerar tres categoras de aplicaciones mviles: La primer categora son las tpicas aplicaciones (apps) que instalamos en dispositivos mviles tales como los telfonos inteligentes y tabletas a travs de un mercado de apps. Esta categora de aplicacin tiene la particularidad de que generalmente se ejecuta de forma aislada en el dispositivo y, si se comunica con recursos externos, simplemente lo hace para acceder a informacin que no se tiene en el dispositivo. La segunda categora se refiere a las aplicaciones donde el dispositivo mvil se vuelve una extensin a los sistemas empresariales. En esta categora, el dispositivo es parte del sistema y, en cierta forma, podramos pensarlo como la interfaz de usuario con el mismo. Por las caractersticas descritas previamente de los dispositivos mviles, esta interfaz de usuario es distinta al enfoque tradicional con el que se interacta con los sistemas empresariales que es generalmente a travs de un navegador. La tercera categora es cuando se utilizan los dispositivos mviles como colectores de informacin aprovechando todos los sensores que tienen, tales como GPS, acelermetro, etc. Esta categora se podra considerar como una extensin de los sistemas empresariales pero con una funcin muy especfica enfocada a la colecta de informacin.Drivers arquitectnicosExisten drivers especficos dependiendo del tipo de aplicacin mvil. En el primer tipo de aplicaciones (las apps), el driver principal es una restriccin de tiempo de entrega. Estas son aplicaciones de muy corta vida que duran unos pocos das en el top 10 de los mercados de apps y despus desaparecen.En el segundo tipo de aplicaciones, es decir la extensin de los sistemas empresariales, a nivel funcional generalmente es necesario considerar que los casos de uso del sistema deben poder ser realizados tanto a travs de un cliente tradicional (navegador) como de la aplicacin mvil. En este tipo de aplicaciones, la conectividad variable es algo que debe tomarse en cuenta y esto puede requerir que se almacenen datos de forma local y que se tenga que lidiar con cuestiones de sincronizacin de datos. El almacenar datos de forma local requiere, sin embargo, considerar adems aspectos relacionados con la seguridad por la informacin, posiblemente confidencial, que se maneja.En el tercer tipo de aplicaciones, es decir cuando se usan los dispositivos mviles como sensores que colectan datos, puede haber atributos de calidad relacionados con aspectos tales como la privacidad.De forma general, todos los tipos de aplicaciones se benefician de la infraestructura de mercados de apps que facilita la instalacin y actualizacin de las mismas.Arquitectura y aplicaciones mvilesActualmente el mercado mvil todava depende mucho de la restriccin de tiempos de entrega rpidos y generalmente el desarrollo del primer tipo de aplicaciones descrito previamente no se preocupa tanto por la arquitectura. El considerar realizar diseo de arquitectura podra aportar muchos beneficios al desarrollo de aplicaciones mviles. Se puede pensar por ejemplo en generar lneas de productos y establecer frameworks robustos para el desarrollo, lo cual permitira generar aplicaciones ms rpido y adems de mejor calidad. Por otro lado, en las aplicaciones que son extensiones de los sistemas empresariales, la arquitectura juega un papel fundamental para poder cubrir con los drivers que se mencionaron previamente.Los mtodos de desarrollo de arquitectura, tales como QAW, ADD o ATAM, se pueden aplicar sin necesidad de ajustes en el desarrollo de aplicaciones mviles. Lo que posiblemente diferir al utilizarlos son aspectos tales como los drivers, pues los escenarios que se identifican difieren de los que ocurren en aplicaciones ms tradicionales. Un ejemplo de ello podra ser un escenario de seguridad: Se extrava un dispositivo mvil en el cual se descarg informacin confidencial y un usuario malintencionado intenta extraerla. En el contexto de las aplicaciones mviles, se debe pensar en los mismos atributos de calidad que los de las aplicaciones tradicionales pero considerando los aspectos propios de los dispositivos mviles. Un ejemplo de ello es la usabilidad, que en el contexto de las aplicaciones para dispositivos mviles debe considerar, por ejemplo, el tamao reducido de las pantallas.Relacin con el cmputo en la nube y SOACuando hablamos de tecnologas mviles, difcilmente las podemos disociar del cmputo en la nube y la Arquitectura Orientada a Servicios (SOA). La combinacin de tecnologa mvil y cmputo en la nube resulta en algo que hoy en da se conoce en ingls como Mobile Cloud Computing. Al igual que con los tipos de aplicaciones, dentro de esta interseccin de las tecnologas, podemos considerar tres variantes: Cuando se utiliza el dispositivo mvil como un mecanismo para acceder a los recursos de la nube. Por ejemplo cuando se utiliza el telfono para acceder a una aplicacin tal como Google maps. Esto usualmente corresponde al primer tipo de aplicacin del que se habl previamente. Lograr que un dispositivo mvil pueda asignar tareas a otros dispositivos mviles cercanos como si fueran recursos de la nube. Por ejemplo, si se tiene una tarea muy complicada entonces se puede repartir clculos a varios dispositivos cercanos. El cyber-foraging y se refiere a descargar parte del trabajo de clculo del dispositivo mvil a mquinas ms poderosas para evitar, por ejemplo, un consumo excesivo de batera. En este enfoque, la nube se ve como una extensin del dispositivo mvil, independientemente de si los clculos se realizan en la nube en s o bien en servidores ms cercanos.Respecto a SOA, esta tecnologa y el cmputo en la nube tienen mucho en comn: el cmputo en la nube puede ser visto como una plataforma de implantacin para aplicaciones que se desarrollan bajo el paradigma SOA. Por otro lado, el utilizar servicios es un mecanismo para facilitar la conexin entre los dispositivos mviles y las aplicaciones empresariales.InvestigacinUno de los problemas en los que se trabaja actualmente en investigacin (particularmente en el SEI) es el desarrollo de sistemas que apoyan a personas que estn en el borde (the edge). El borde es un trmino que se utiliza para referirse a esa parte de la infraestructura hasta donde llegan las conexiones de red. El proyecto que dirige Grace se llama Edge-enabled tactical systems y se enfoca en establecer mecanismos para ayudar a la gente que trabaja con dispositivos mviles ms all del borde. Los usuarios principales en este proyecto de investigacin son soldados y personas que son llamadas a ayudar en casos de emergencia (Cruz Roja, organizaciones de ayuda, etc.) o mdicos rurales.De forma general, en la investigacin se ha hecho mucho nfasis en aspectos algortmicos. Un caso es el poder determinar en tiempo de ejecucin si cierto clculo se puede ejecutar en otros recursos distintos al dispositivo mismo. Se observa, sin embargo, que actualmente no se hace mucho nfasis en arquitectura.

4.1.2.- Sistemas Operativos. Ciclo de desarrollo.Concepto de Ciclo de Vida de un Sistema de Informacin.Segn el estandar ISO-12207 el ciclo de vida de un sistema de informacin es el marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotacin y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso.El ciclo de vida es el conjunto de fases (o etapas) por las que pasa el sistema desde que se concibe hasta que se retira del servicio. Es decir, se trata de la estructura del proceso de produccin del sistema de informacin. El Modelo de Ciclo de Vida indica cules son las actividades a realizar y el orden en que se van a realizar.Todo ciclo de vida debe cubrir tres objetivos bsicos:1. Definir las actividades a realizar y en qu orden.2. Asegurar la consistencia con el resto de los sistemas de informacin de la organizacin.3. Proporcionar puntos de control para la gestin del proyecto (calendario y presupuesto). No hay que confundir este concepto con el de mtodo o metodologa, la metodologa indica cmo avanzar en la construccin del sistema esto es con qu tcnicas, puede determinar los recursos a utilizar o las personas implicadas en cada actividad entre otras caractersticas.El ciclo de vida nos indica las actividades a realizar, y en qu orden, para construir un Sistema de Informacin. Una metodologa indica cmo avanzar en la construccin del sistema, es decir, las tcnicas a seguir.Descripcin del ciclo de vida segn la norma ISO-12207.Segn la Norma ISO 12207-1, las actividades a realizar durante el ciclo de vida del software se agrupan en cinco procesos principales, ocho procesos de soporte y cuatro procesos de la organizacin, as como un proceso especial que permite adaptar el ciclo de vida a cada proyecto concreto. A destacar que la norma no recomienda ningn modelo concreto de ciclo de vida, ni de gestin del software, ni detalla cmo realizar ninguna de las actividades.Los procesos principales del ciclo de vidaSon aquellos que resultan tiles a las personas que inician o realizan el desarrollo, la explotacin o el mantenimiento del software a lo largo del ciclo de vida. Estas personas son los compradores, los proveedores, el personal de desarrollo, los usuarios y el personal encargado del mantenimiento del software. Proceso de adquisicin: Contiene las actividades y tareas que el comprador, el cliente o el usuario realizan para adquirir un sistema o un producto software. Aqu estn incluidos la preparacin y publicacin de una solicitud de ofertas, la seleccin del proveedor del software y la correspondiente gestin de los procesos desde la adquisicin hasta la aceptacin del producto. Proceso de suministro: Contiene las actividades y tareas que el suministrador o proveedor realiza. Comienzan con la preparacin de una propuesta para responder a una peticin de oferta de un comprador o con la firma de un contrato con el comprador para proporcionarle un producto software. Trata, asimismo, de la identificacin de los procedimientos y de los recursos necesarios para gestionar y garantizar el xito del proyecto, incluyendo el desarrollo de los planes del proyecto y la ejecucin de dichos planes hasta la entrega del producto software al comprador. Proceso de desarrollo: Contiene las actividades de anlisis de requisitos, diseo, codificacin, integracin, pruebas e instalacin y aceptacin. Anlisis de requisitos del sistema: Aqu son especificados todos los requisitos del Sistema de Informacin, funciones y capacidades que debe cumplir, requisitos de seguridad, interfaces, de mantenimiento, etc. Diseo de la arquitectura del sistema: Se identifican los principales componentes hardware y software. Anlisis de los requisitos de software: Se establecen dichos requisitos, incluyendo el nivel de calidad que debe cumplir el sistema. Diseo de la arquitectura del software: El diseador debe transformar el anlisis anterior en una arquitectura en la que se puedan identificar sus componentes principales. Diseo detallado del software: Aqu se realiza un diseo detallado de cada componente software, de las bases de datos y manuales de usuario. Codificacin y pruebas unitarias: Se desarrollan y se documentan los componentes del punto anterior. Pruebas de integracin: Se integran los componentes del software realizando las correspondientes pruebas. Prueba del software: Las pruebas se planifican y disean de forma sistemtica para poder detectar el mximo nmero y variedad de defectos con el mnimo consumo de tiempo y esfuerzo. Integracin del sistema: Aqu se realizan las pruebas conjuntas de los elementos hardware y software. Implantacin del software desarrollado en el entorno de explotacin final. Cuando se sustituya a un software ya existente, puede ser recomendable un perodo de tiempo en el que convivan los dos sistemas. Proceso de aceptacin del software. Proceso de explotacin: Comprende la propia explotacin del software y el soporte operativo a los usuarios del sistema. Proceso de mantenimiento: Aparece cuando, tarde o temprano, el software requiere modificaciones, bien por errores, necesidades de mejora, etc.Como podemos apreciar, los procesos y subprocesos de la metodologa METRICA V3 se corresponden perfectamente con los procesos principales del ciclo de vida de sistemas de Informacin de la norma ISO. METRICA, adems, especifica las actividades y tareas, y las tcnicas y entregables a generar (frente a la norma, que se limita a describir los procesos del ciclo de vida).

4.1.3.- Elementos de infraestructura.El gran entusiasmo que tiene el uso del celular en la actualidad ha llamado la atencin del mbito educativo. Llevar al aula esa motivacin de aprender y convivir mediante dispositivos mviles en todo momento origin la bsqueda de los elementos instruccionales necesarios para el diseo y la produccin de materiales educativos mviles. El anlisis del proceso de produccin de dichos materiales en dos casos mediante sesiones grupales, observacin y encuestas, ha concluido que los objetivos pedaggicos determinan los materiales y su diseo para generar conocimientos. Gracias a las aplicaciones que el celular soporta para la comunicacin, fue posible extender su uso ms all de lo planeado, y evolucionar el diseo concebido por los desarrolladores cimentados en la educacin en lnea para pronosticar nuevas estructuras, aprendizajes y producciones para los diversos materiales mviles.Palabras clave:Aprendizaje mvil, diseo, dispositivos mviles, pedaggicos, materiales mviles, redes, sistemas informticos, virtual.El incremento de las potencialidades de las tecnologas de informacin y comunicacin ha permitido al mbito acadmico enriquecer los ambientes de aprendizaje con recursos de apoyo a los procesos educativos. En general, algunos de estos recursos son los que se pueden ofrecer a travs de los dispositivos mviles y, en forma particular, el celular. Entre los factores que se pueden considerar para emplear celulares en los ambientes de aprendizaje se encuentran: su creciente distribucin; la adaptacin de los celulares en la sociedad sin distincin de edades; estatus socioeconmico o actividades a las que se dedique el ser humano; y la posibilidad de impactar la educacin de los estudiantes sin lmites de espacio, lugar o tiempo.Las funcionalidades ms bsicas que podemos encontrar en las soluciones de los diferentes fabricantes son: Control de aplicaciones: Permite a los administradores desplegar las instalaciones de forma centralizada, permitiendo y controlando aquellas que son necesarias y restringiendo de cualquier futura instalacin, blindando as la posibilidad de manipulacin por parte del usuario. Gestin de perfiles por dispositivo: Posibilidad de pre configurar perfiles de correo, calendario, contactos, accesos VPN por terminal y/o usuario de forma centralizada, pudiendo revocar fcilmente los privilegios en casos de prdida, robo o bajas. Proteccin de los datos: Capacidad de forzar a utilizar el cifrado de disco y tarjeta en aquellos terminales que lo permitan. Borrado seguro remoto de los datos: En caso de prdida o robo de los terminales, se podr gestionar la eliminacin del contenido de forma remota y segura. Monitorizacin: Capacidad de registrar las acciones producidas por el terminal, intentos de violacin de la seguridad o de los mecanismos de proteccin, as como disponer de la geolocalizacin del terminal. Reportes de datos: Estadstica de las variables de monitorizacin, para conocer la evolucin del estado del dispositivo. Acceso a los dispositivos: Capacidad de aadir mecanismos de autenticacin antes de poder acceder a la informacin de los terminales.El funcionamiento de las soluciones MDM se compone de dos elementos: cliente y servidor. Los servidores suelen estar compuestos del aplicativo de gestin del MDM, la base de datos, el panel de administracin web y los servicios utilizados por los clientes como podra ser los servidores de directorio activo, de certificados, de correo, etc.Mientras que en el lado del cliente, se suele instalar un software de gestin para poder administrar el terminal remotamente y poder hacer tareas como actualizar el software, hacer monitorizacin o como aadir polticas de bastionado del terminal.Para que se pueda establecer la comunicacin con los servidores, es indispensable que los clientes tengan una conexin de datos a travs de telefona mvil o de una conexin WiFi. Otra caracterstica de la aplicacin cliente es que no necesita privilegios de administrador para ejecutarse, por lo que sus funcionalidades pueden verse limitadas.En el proceso de seleccin de una solucin MDM se deben tener en cuenta ciertas consideraciones: Soporte de mltiples dispositivos como podran ser telfonos y tablets con mltiples sistemas operativos. Normalmente cualquier terminal con Android, iOS o Windows Phone estn soportados por los MDM. Buena integracin con los servicios internos corporativos que la empresa ya utiliza. Garantizar la seguridad de la informacin interna de los dispositivos y de la transmisin de esta.La mayora de empresas que despliegan este tipo de soluciones proporcionan un dispositivo a cada empleado, pero tambin existe la posibilidad de que los empleados proporcionen su propio dispositivo (Bring Your Own Device, BYOD). En este caso se les instala la aplicacin cliente del MDM que permitira a los terminales tener acceso a los servicios internos de la empresa y dotarlos de seguridad adicional en las comunicaciones, en el acceso fsico y en la utilizacin de cifrado en los datos internos.

4.1.4.- Configuracin de las aplicaciones.Google Analytics es flexible y admite distintas configuraciones, aunque la configuracin utilizada determina el modo en que se reflejan los datos en sus informes. Antes de configurar Analytics para aplicaciones mviles, le recomendamos que tenga en cuenta los objetivos a largo plazo para sus informes y cmo una configuracin u otra podran influir en la estructura de la cuenta.Cuando est listo para empezar, siga estas directrices para recopilar datos precisos y mantener una cuenta bien organizada. Es posible que algunas directrices no se apliquen a todas las circunstancias: Realice un seguimiento de las distintas aplicaciones en propiedades diferentes.Realice un seguimiento de cada aplicacin en su propiedad correspondiente con un ID de seguimiento exclusivo para evitar que los datos se entremezclen involuntariamente. Al limitar el nmero de aplicaciones en seguimiento dentro de la misma propiedad, tambin evitar exceder el lmite de su cuenta y activar el muestreo de datos.

Realice un seguimiento de las distintas plataformas de una aplicacin en la misma propiedad.Si ha desarrollado la misma aplicacin para plataformas diferentes (por ejemplo, MyApp para Android y MyApp para iOS), lleve a cabo el seguimiento de ambas en la misma propiedad. A continuacin, puede configurar nuevas vistas para organizar y comparar el rendimiento en sus informes de Google Analytics. Si existen diferencias importantes en el rendimiento o el uso de sus aplicaciones para iOS y Android, puede resultarle til efectuar un seguimiento de cada plataforma en una propiedad distinta.

Realice un seguimiento de las distintas ediciones de una aplicacin basndose en las similitudes de funciones.Puede habilitar el seguimiento de las distintas ediciones de su aplicacin (por ejemplo, MyApp: la original y MyApp: edicin especial) tanto en la misma propiedad como en propiedades diferentes. Para ello, debe tener en cuenta la similitud de las ediciones y los objetivos a largo plazo en relacin con los informes:

Realice un seguimiento de las ediciones con funciones o comportamientos notablemente distintos en propiedades diferentes. De este modo, evitar que se muestren comparativas o combinaciones accidentales de datos de distinto tipo. Track editions that are very similar to each other in the same property. De este modo, puede combinar y comparar directamente los datos correspondientes en sus informes de Google Analytics.

Realice un seguimiento de las distintas versiones de una aplicacin en la misma propiedad.Google Analytics reconoce distintas versiones de una aplicacin de la que se realiza un seguimiento, por lo que no es necesario crear una propiedad cada vez que publique una versin nueva. Por ejemplo, realice un seguimiento de MyApp: la original v1 y de MyApp: la original v1.5 en la misma propiedad. A continuacin, consulte el informe Versin de la aplicacin para comparar las versiones anteriores de la aplicacin con la ms reciente.

4.2.- Construccin de la interfaz del usuario.Interfaz de usuarioLa interfaz de usuario es el medio con que el usuario puede comunicarse con una mquina, un equipo o una computadora, y comprende todos los puntos de contacto entre el usuario y el equipo. Normalmente suelen ser fciles de entender y fciles de accionar (aunque en el mbito de la informtica es preferible referirse a que suelen ser amigables e intuitivos pues es muy complejo y subjetivo decir que algo es fcil).Funciones principalesSus principales funciones son las siguientes: Puesta en marcha y apagado. Control de las funciones manipulables del equipo. Manipulacin de archivos y directorios. Herramientas de desarrollo de aplicaciones. Comunicacin con otros sistemas. Informacin de estado. Configuracin de la propia interfaz y entorno. Intercambio de datos entre aplicaciones. Control de acceso. Sistema de ayuda interactivo.TiposDentro de las Interfaces de Usuario se puede distinguir bsicamente tres tipos:1. Una interfaz de hardware, a nivel de los dispositivos utilizados para ingresar, procesar y entregar los datos: teclado, ratn y pantalla visualizadora.2. Una interfaz de software, destinada a entregar informacin acerca de los procesos y herramientas de control, a travs de lo que el usuario observa habitualmente en la pantalla.3. Una interfaz de Software-Hardware, que establece un puente entre la mquina y las personas, permite a la mquina entender la instruccin y al hombre entender el cdigo binario traducido a informacin legible.Segn la forma de interactuar del usuarioAtendiendo a como el usuario puede interactuar con una interfaz, nos encontramos con varios tipos de interfaces de usuario: Interfaces alfanumricas (intrpretes de comandos) que solo presentan texto. Interfaces grficas de usuario (GUI, graphic user interfaces), las que permiten comunicarse con el ordenador de una forma muy rpida e intuitiva representando grficamente los elementos de control y medida. Interfaces tctiles, que representan grficamente un panel de control en una pantalla sensible que permite interactuar con el dedo de forma similar a si se accionara un control fsico.Segn su construccinPueden ser de hardware o de software: Interfaces de hardware: Se trata de un conjunto de controles o dispositivos que permiten que el usuario intercambie datos con la mquina, ya sea introducindolos (pulsadores, botones, teclas, reguladores, palancas, manivelas, perillas) o leyndolos (pantallas, diales, medidores, marcadores, instrumentos). Interfaces de software: Son programas o parte de ellos, que permiten expresar nuestros deseos al ordenador o visualizar su respuesta.ValoracinEl principal objetivo de una interfaz de usuario es que ste pueda comunicar informacin a travs de ella hacia algn tipo de dispositivo o sistema. Conseguida esta comunicacin, el siguiente objetivo es el que dicha comunicacin se desarrolle de la forma ms fcil y cmoda posible para las caractersticas del usuario que utiliza el servicio.Sin embargo, las interfaces no siempre cumplen todos los objetivos, por ejemplo: como es el caso de las consolas de lnea de rdenes (CLI), que se encuentran en algunos sistemas de ruteadores - como los NOS de los Routers -; algunas consolas de administracin con sus shell de Unix, DOS, etc.; y tambin en las consolas de administracin de algunos servidores dedicados como Microsoft Exchange. Estas interfaces son fciles de usar, sin embargo se necesita un amplio conocimiento de la persona que las utiliza. Por lo que, tanto su curva de aprendizaje, como el conocimiento tcnico previo a su uso impiden que puedan ser utilizadas por cualquier persona.Si bien estas interfaces son las primeras que utilizaron los ordenadores; y muchos usuarios podran considerarlas anticuadas; siguen siendo incluidas en nuevos dispositivos y sistemas gracias a las ventajas que ofrecen al permitir automatizar acciones complejas mediante la creacin de pequeos programas, de bajo nivel conocidos como Script o Batch.Por otra parte existen interfaces que reducen significativamente la Curva de aprendizaje y permiten que usuarios sin experiencia, sin conocimientos tcnicos puedan obtener resultados notables, por ejemplo: la interfaz tctil utilizada por los sistemas operativos de Google Android; y el Apple iOS.Si bien el diseo de la interfaz es crtico para el manejo del dispositivo, los diseadores al momento de su creacin ponen especial nfasis en determinar el tipo de usuario, su conocimiento y su experiencia. Esto marcar importantes diferencias entre la interfaz de lnea de comandos de un gestor de correo electrnico, los mens flotantes para una aplicacin de diseo grfico o bien el despliegue de informacin mediante una lnea de tiempo en una Red social.La tendencia a futuro se vislumbra con una importante separacin entre interfaces para la creacin de contenidos e interfaces para el consumo de contenidos. Como puede ser cotejado con el uso de sistemas de Cdigo de barras, sistemas de acceso RFID Etiquetas o bien Social Networks ER, para la creacin de contenidos; y dispositivo como los llamados Smart Watch, Smart TV, Tablets y las prximas Google Glass. Todos estos para el consumo de informacin.

4.2.1.- Elementos interactivos.Los fenmenos relacionados con las Tecnologas de la Informacin y Comunicacin (TIC) y las redes informticas son controlados por grandes empresas de comunicacin y desde al mbito acadmico slo podemos realizar intervenciones limitadas sobre sus consecuencias en las personas, no siempre positivas (Caldevilla, 2010) y dentro de un complejo mundo virtual que genera nuevos escenarios de relacin que Mut Camacho (2012) denomina reputacin virtual.

En los ltimos aos los dispositivos mviles se han convertido en un elemento tecnolgico de alto impacto en todas las sociedades y no slo por su poder comunicativo. Los ciudadanos utilizan telfonos porttiles en cualquier momento y lugar, pero su versin avanzada basada en los telfonos inteligentes, o Smartphones, los ha convertido en una computadora de bolsillo que permite hacer muchas funciones. Estas opciones, junto a su penetracin universal, hacen necesario que busquemos beneficios sociales, educativos y culturales. Especialmente en los pases desarrollados estos recursos, adems de ser un sistema de comunicacin, se estn incorporando al contexto acadmico en actividades para el desarrollo de determinadas competencias (Vzquez, Sevillano y Mndez, 2011). Recientes investigaciones han explorado su potencial pedaggico y diferencian los usos posibles y deseables (Nussbaum, 2007; Gil, Andersson, y Milrad, 2010; Xiaoyan, Ruimin, y Minjuan, 2007; Ramrez, Muoz, y Delgado, 2008).

Pero contina siendo preciso analizar el impacto que estn teniendo esta versin porttil de las TIC. El trabajo aqu aborda esta temtica desde una perspectiva y diseo interinstitucional, y recoge la experiencia de casi dos mil jvenes participantes con el objetivo de aportar a la sociedad elementos de progreso cultural como contrapunto a los meros intereses econmicos o a las estrategias de marketing que puedan rodear a estas tecnologas.

El hecho de la insercin de la telefona mvil en nuestra sociedad la convierte en el soporte para el acceso de tecnologas como la Geolocalizacin, y su potencial integracin con los desarrollos de Realidad Aumentada. Estas aplicaciones asocian informacin a un lugar dado o a un objeto especfico, posteriormente el usuario del dispositivo mvil recibe esos datos cuando se sita dentro de un radio de determinada proximidad al lugar fijado. Las posibilidades de interaccin son mltiples y muy potentes, hasta el punto de poder tener controlada la posicin y movimientos del usuario. La persona que crea estas actividades puede ser variada, un docente, un gua turstico o simplemente alguien que gua las actividades de campo de otras personas (Perales y Adem, 2013). Para ello se pueden considerar diversos desarrollos existentes u otros nuevos, y organizar sus estrategias teniendo en cuenta las habilidades asociadas a estos equipos.Las tcnicas de geo-posicionamiento son utilizadas comnmente en dispositivos de navegacin y orientacin geogrfica de los conductores de vehculos, en equipos de orientacin en senderismo y escalada, o en los sistemas de brjula y posicin geogrfica incorporados a muchos los telfonos celulares avanzados. Lo interesante de esta tcnica es su conexin con un entorno concreto o con objeto reconocible y capaz de disparar una informacin almacenada digitalmente, e incorporar datos a la realidad, la Realidad Aumentada. La caracterstica diferencial es la descentralizacin espacio/temporal, la ubicuidad en los lugares y momentos de gestin de la informacin. Esta circunstancia junto a la universalizacin de su uso, hace que los dispositivos mviles sean el elemento tecnolgico que mayor impacto tiene en todas las sociedades por su proyeccin futura. Por otro lado, y junto a los diversos elementos que conlleva el uso de estas tecnologas, destaca la trascendencia que los dispositivos mviles tienen por su elevado potencial motivador en los jvenes, y aqu est una de las claves en la estrategia de penetracin de los medios, de las tecnologas y de las TIC en sus usuarios. El hecho de utilizar un dispositivo mvil para transmitir un texto, o un mensaje tradicional es una circunstancia motivadora, y podemos acercarnos a una nueva metodologa educativa si aplicamos los ltimos desarrollos en software para equipos. En este sentido, dos de estas aplicaciones un tanto espectaculares se relacionan con estas posibilidades de Geolocalizacin y Realidad Aumentada.

4.2.2.- Archivo de configuracin de los elementos de despliegue e interactivos.Estamos asistiendo en nuestros das a una autntica revolucin en todo lo relativo al acceso a la informacin. La aparicin de los nuevos dispositivos mviles (smartphones y tablets), evidentemente, est en la base de ese cambio.El hecho de estar conectado en cualquier sitio y a cualquier hora, ha dado lugar al desarrollo de miles de aplicaciones para ofrecer cada da ms potencialidades y, hacer que trminos como sincronizacin total, portabilidad, nube, geolocalizacin sean cada da ms familiares.Empresas como Google (Android) y Apple (iOS) apostaron rpidamente por el cambio y desarrollaron sistemas operativos para dichos dispositivos cada da ms optimizados y, lo ms importante, plataformas (Google Play y App Store respectivamente) para la bsqueda y descarga de todas esas aplicaciones que han ido apareciendo. El hecho de tenerlo todo organizado en un solo sitio, la facilidad de instalacin, las continuas actualizaciones, los comentarios de otros usuarios son los pilares sobre los que se apoya el xito de las mismas a nivel mundial.A continuacin, te presentaremos el resultado de la bsqueda o rastreo de aplicaciones educativas dentro de la plataforma Google Play (anteriormente conocida como Android Market). Hay que sealar, desde el principio, que el objetivo del presente artculo no es hacer guas de uso de las diferentes aplicaciones comentadas, (lo cual podra hacer inacabable el artculo) sino solo ofrecer una seleccin de las que consideramos mejores para el mbito educativo agrupadas en diferentes categoras por afinidad.Por ello, solamente se ofrece una informacin breve y concisa sobre ellas, para que el usuario se haga una idea rpida de para qu sirve. Adems, el anlisis de cada una de ellas se completa con una seccin llamada A destacar donde se sintetiza lo mejor de la aplicacin y, se ofrece enlaces a sus vdeos promocionales y zona de descarga donde se puede ampliar dicha informacin si se tiene inters.Otro aspecto que hemos tenido presente es que sean gratuitas, ya que aunque la mayora de las aplicaciones tienen un precio muy reducido, entendemos que se muestre cierto reparo hacia ellas por motivos relacionados con el hecho de introducir datos privados de pago.En este sentido, conviene sealar que la mayora de ellas ofrecen dos versiones, una gratuita (Free o Lite) y otra de pago (Premium). Aqu se te comentarn aspectos de las primeras, (las cuales suelen aparecer con banners publicitarios de pequeo tamao, un nmero limitado de contenidos, pero totalmente operativas para hacernos una idea de cmo funcionan) pero siempre tendrs la opcin, si te parecen interesantes, de acceder a las posibilidades de las versiones completas.Se dejan al margen aplicaciones como navegadores web, clientes de redes sociales, editores de fotografas porque haba que seleccionar dentro de las ms de 600.000 aplicaciones que puedes encontrar en la plataforma de descargas de Android. La idea era intentar centrarnos ms en las de carcter marcadamente educativo o que pueden tener su aplicacin en el aula, aunque es indudable, que ese otro tipo de aplicaciones, mencionadas al inicio, son imprescindibles en el uso de las nuevas tecnologas y podran ser objeto de otro anlisis tan completo como ste.Para no alargar en exceso el artculo hemos optado por prescindir de pantallazos de todas las aplicaciones. En su lugar, pensamos que un vdeo sobre su uso o posibilidades puede ser ms enriquecedor de cara a hacernos una idea ms acertada. De todas formas, no ha sido posible de todas ellas, por lo que no encontrars esa posibilidad siempre.Para acceder a la pgina de descarga, al final de cada anlisis vers el logotipo de Google Play. Pulsa sobre l, y acceders a su pgina de descarga especfica.

4.3.- Programacin de la respuesta a eventos del usuario.La programacin dirigida por eventos es un paradigma de programacin en el que tanto la estructura como la ejecucin de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.Para entender la programacin dirigida por eventos, podemos oponerla a lo que no es: mientras en la programacin secuencial (o estructurada) es el programador el que define cul va a ser el flujo del programa, en la programacin dirigida por eventos ser el propio usuario o lo que sea que est accionando el programa el que dirija el flujo del programa. Aunque en la programacin secuencial puede haber intervencin de un agente externo al programa, estas intervenciones ocurrirn cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la programacin dirigida por eventos.El creador de un programa dirigido por eventos debe definir los eventos que manejarn su programa y las acciones que se realizarn al producirse cada uno de ellos, lo que se conoce como el administrador de evento. Los eventos soportados estarn determinados por el lenguaje de programacin utilizado, por el sistema operativo e incluso por eventos creados por el mismo programador.En la programacin dirigida por eventos, al comenzar la ejecucin del programa se llevarn a cabo las inicializaciones y dems cdigo inicial y a continuacin el programa quedar bloqueado hasta que se produzca algn evento. Cuando alguno de los eventos esperados por el programa tenga lugar, el programa pasar a ejecutar el cdigo del correspondiente administrador de evento. Por ejemplo, si el evento consiste en que el usuario ha hecho click en el botn de play de un reproductor de pelculas, se ejecutar el cdigo del administrador de evento, que ser el que haga que la pelcula se muestre por pantalla.Un ejemplo claro lo tenemos en los sistemas de programacin Lexico y Visual Basic, en los que a cada elemento del programa (objetos, controles, etctera) se le asignan una serie de eventos que generar dicho elemento, como la pulsacin de un botn del ratn sobre l o el redibujado del control.La programacin dirigida por eventos es la base de lo que llamamos interfaz de usuario, aunque puede emplearse tambin para desarrollar interfaces entre componentes de Software o mdulos del ncleo.En los primeros tiempos de la computacin, los programas eran secuenciales, tambin llamados Batch. Un programa secuencial arranca, lee parmetros de entrada, procesa estos parmetros, y produce un resultado, todo de manera lineal y sin intervencin del usuario mientras se ejecuta.Con la aparicin y popularizacin de los PC, el software empez a ser demandado para usos alejados de los clsicos acadmicos y empresariales para los cuales era necesitado hasta entonces, y qued patente que el paradigma clsico de programacin no poda responder a las nuevas necesidades de interaccin con el usuario que surgieron a raz de este hecho.

4.4.- El emulador mvil. Trabajar con dispositivo fsico. Carga y depuracin de las aplicaciones.Un emulador Android tiene ventajas e inconvenientes:Ventaja: Podemos emular cualquier versin de Android, imagina que tienes un mvil viejo y quieres probar tu aplicacin en una versin mas moderna, por ejemplo la KitKat, o viceversa, tienes un pedazo de mvil con KitKat, pero quieres probar si la aplicacin funciona en GINGERBREAD... con un emulador puedes hacerlo sin problemas!! ;P. Adems puedes recrear cualquier dispositivo mviles, tablets...Inconvenientes: Podremos emular o simular un dispositivo Android, pero... podemos simular los sensores del dispositivo? pues la respuesta es si, pero no todos los sensores. Por ejemplo, podremos simular un GPS, pero no podremos simular el acelerometro o el sensor de luz.... si podemos simular llamadas de telfono, una tarjeta SD, los emuladores son mas lentos a la hora de realizar una tarea que requiera mucha carga (consultas a bases de datos, mapas...).Para las aplicaciones que necesitemos un dispositivo fsico (por tema de sensores o simplemente quieres hacer la prueba final antes de publicar tu aplicacin en GooglePlay), tenemos la opcin de conectar un dispositivo fsico a eclipse, mola, verdad? ;P (ya veras como mas adelante)Como he mencionado antes, una buena practica antes de publicar una aplicacin en GooglePlay es usar los Emuladores para poder probar en distintas versiones de Android, distintos tamaos de pantalla y resoluciones, as puedes probar tu aplicacin emulando distintos mviles mas modernos o mas antiguos, y ver como se comporta para asegurar la compatibilidad con el mayor numero de dispositivos Android posibles. Como sabes actualmente solo los dispositivos de alta gama se actualizan a las ultimas versiones de android 4.4.2 para el resto de mviles gama media y baja los operadores no se molestan en sacar tantas actualizaciones, y la mayora de dispositivos de gama media los han sacrificado a tener Android 4.1.x Jelly Bean hasta el resto de su vida. A esto es lo que Google llama Fragmentacin. (fjate que el 25% de los dispositivos se han quedado en 2.3.x. los datos de la tabla de abajo, son datos distribuidos por Google a Diciembre de 2013).Los controles de ASP.NET Mobile permiten desarrollar aplicaciones para una gran variedad de dispositivos mviles. Los fabricantes de la mayora de dispositivos mviles proporcionan emuladores que simulan el funcionamiento del hardware y de los exploradores. El software emulador permite ver las pginas Web de ASP.NET Mobile tal y como se veran en los dispositivos de hardware de los fabricantes, as como probar la interfaz del sitio Web tal y como lo haran los usuarios. Es posible, por ejemplo, que despus de comprobar cmo se desplazara un usuario por su sitio Web en un dispositivo determinado, decida modificar la interfaz y utilizar una plantilla DeviceSpecific para ese dispositivo.Al utilizar emuladores en las fases de desarrollo y comprobacin, resulta ms fcil evaluar la aplicacin Web mvil en una gran variedad de dispositivos antes de llevar a cabo su implementacin. Existen dos planteamientos para ver las pginas Web mviles en los emuladores de dispositivos: Instalar y utilizar los emuladores de dispositivos proporcionados por los fabricantes. Utilizar los emuladores que se instalan con algunas ediciones de Visual Studio. Para utilizar esta opcin, debe tener una edicin de Visual Studio que contenga el Administrador de emuladores de dispositivos y haber instalado la aplicacin ActiveSync, que puede descargar desde la pgina de herramientas de Windows Mobile Developer Center.Agregar un emulador a Visual StudioPuede agregar un emulador a la lista de exploradores disponibles de Visual Studio.Para agregar el emulador de un fabricante de dispositivos a la lista de exploradores disponibles1. Compile la aplicacin.2. Instale el emulador de dispositivos mviles en su PC de desarrollo. Consulte las instrucciones contenidas en la documentacin del emulador.3. En el men Archivo, haga clic en Explorar con. Visual Studio muestra el cuadro de dilogo Explorar con.4. Haga clic en Agregar.Visual Studio muestra el cuadro de dilogo Agregar programa.5. En el cuadro Nombre del programa, especifique el nombre del archivo del programa ejecutable del emulador.6. Si el emulador admite argumentos de lnea de comandos, especifique estos argumentos en el campo Nombre del programa. Por ejemplo, utilice %startpage para especificar dnde se debe sustituir la pgina de inicio de la aplicacin en la lnea de comandos. 7. En el cuadro Nombre descriptivo, escriba el nombre del explorador tal y como desea que aparezca en Visual Studio.8. Haga clic en Aceptar.9. Si desea que el emulador sea el explorador predeterminado, haga clic en Establecer como predeterminado. 10. Haga clic en Cerrar.Quitar un emuladorSi deja de necesitar un emulador, puede quitarlo de Visual Studio.Para quitar un emulador de la lista de exploradores1. En el Explorador de soluciones, haga clic con el botn secundario del mouse en cualquier archivo .aspx.2. En el men contextual, haga clic en Explorar con.El diseador muestra el cuadro de dilogo Explorar con.3. Seleccione un emulador de la lista de exploradores.4. Haga clic en Quitar.Visual Studio quita el nombre del emulador de la lista de exploradores.

4.5.- Manejar la persistencia. Archivos. Base de datos.En cuanto a las tcnicas de persistencia la situacin no fue mejor, aunque existen motores para bases de datos relacionales mviles, son costosos o estn orientados hacia perfiles y configuraciones mayores al CLCD 1.0 y MIDP 2.0, as que no quedo otro remedio que acceder al sistema de persistencia mvil (RMS) usando la API de bajo nivel, lo cual considero es una de las mayores debilidades de este tipo de plataformas, debido a que un sistema relacional es la forma correcta para manejar las reglas del negocio de forma integra y sin inconsistencias de tal forma que se garantice la veracidad de los datos almacenados, adems de que se obtiene independencia con la representacin fsica, caracterstica que no fue posible del todo en esta aplicacin, limitando de esta forma su portabilidad y mantenibilidad.Para el desarrollo de nuestra aplicacin se requiere utilizar el almacenamiento persistente de nuestro dispositivo mvil, para esto se utiliz el paquete RMS (Record Management System) el cual es provedo por el perfil MIDP. Otra de las caractersticas de nuestra aplicacin es la captura de una imagen a travs de la cmara fotogrfica de nuestro dispositivo, para esto se utiliz el paquete opcional MMAPI (Multimedia API). Debido a lo anterior, en este Captulo se dar una breve descripcin de conceptos bsicos sobre estos paquetes y algunas operaciones que son posibles realizar utilizando los mismos.

Los archivos de dispositivos o ficheros de dispositivos (en ingls device files) son archivos especiales usados en casi todos los sistemas operativos derivados de Unix y tambin en otros sistemas.

Base de Datos Mviles Es una Base de datos donde los usuarios pueden acceder a la informacin lejos de donde se encuentra almacenada la base de datos, se hace utilizando una conexin inalmbricaSistemas de Base de datos mviles: Es la habilidad de recuperar la informacin de los sistemas de computacin y/o repositorios de informacin sobre dispositivos mviles en cualquier momento en cualquier lugar. Adems de introducir o actualizar informacin en los sistemas principales de forma remota desde el dispositivo mvil. Esto da toda la libertad al usuario de manipular toda la informacin desde lejos. Es un sistema distribuido que soporta conectividad mvil, posee todas las capacidades de un sistema de base de datos y permiten a las unidades mviles, una completa movilidad espacial por medio de la tecnologa inalmbricaProcesamiento de Consultas El nico reto en los SMBDM es el procesamiento de consultas (queries) que dependen de la localizacin fsica de la unidad mvil Consultas dependientes de la localizacin: Son consultas que involucran la localizacin fsica de la unidad mvil en combinacin con otros datos como la localizacin de otras unidades mviles o estructuras fsicas. Ejemplo:Encontrar el hotel mas cercano desde donde me encuentro con un precio < $50 Para dar respuesta a esta consulta, se debe poder determinar con exactitud la localizacin de la unidad mvil y estar en la capacidad de procesar de manera espacial los datos a consultar. Utilizar la triangulacin si el dispositivo se encontrara en mltiples celdas, por localizacin de celdas, GPS, etc. Se tiene que tomar en cuenta que la unidad puede estar en movimiento mientas se realiza la consulta.Manejo de transacciones Se considera el manejo de transacciones cuando un dispositivo mvil inicia una transaccin hacia la base de datos o hacia un servidor fijo. La transaccin puede ejecutarse en el servidor o en el dispositivo mvil.Se debe tomar en cuenta: Desconexiones, movilidad, errores, fallas en el dispositivo mvil. Se debe mantener la autonoma y la consistencia local del SMBD.

5.6.- Audio y video.Hace unos aos los formatos de vdeo y de audio eran un autentico problema, diferentes programas para reproducir diferentes archivos, multitud de formatos incompatibles entre ellos en definitiva un caos. Por suerte parece que con el tiempo estos problemas casi han desaparecido. Ahora gracias a Quicktime + Perian, o simplemente VLC, podemos reproducir cualquier archivo sin problemas y sin necesidad de realizar ninguna conversin de archivos. Aunque siempre nos quedan los dispositivos de Apple, los cuales nicamente funcionan con los formatos que Apple soporta. En esos casos tenemos que recurrir a programas externos capaces de convertir los archivos a formatos compatibles con los equipos iOS. iConvert es un programa genial para convertir archivos, de cualquier formato, a archivos de audio y vdeo compatibles con los dispositivos mviles de Apple. Lo mejor: es gratuito, es rpido y el funcionamiento no podra ser ms simple. El programa es una sencilla ventana en la cual debemos de arrastrar los archivos que queramos convertir y posteriormente seleccionar el tipo de dispositivo al que queremos exportar los archivos. Incluso podemos exportar nicamente el audio de los vdeos. El enlace de alta definicin mvil (MHL, en ingls, mobile high-definition link) es la tecnologa utilizada para un pequeo conector HD (formado por pocos pines) con una interfaz apta tanto para audio como para video, que nos permite conectar dispositivos electrnicos porttiles, como son: telfonos mviles, cmaras digitales, videocmaras y reproductores porttiles, a los televisores de alta definicin (HDTV). La tecnologa proporciona a los dispositivos mviles una salida digital con resolucin 1080p Full HD. Adems disponemos de un puente conversor de MHL a HDMI, con el que el dispositivo mvil se puede convertir en una fuente HDMI totalmente compatible y se puede llegar a conectar a la entrada HDMI estndar del televisor.

Conclusin.ConclusinHoy en da el acceso mvil a los sistemas ya no es algo opcional, sino que es algo ubicuo y es necesario pensar en clientes mviles desde que se comienza a disear la aplicacin. El acceso mvil es la forma como la gente interacta hoy en da con computacin y, por ello, los usuarios tienen expectativas al respecto, como por ejemplo poder realizar las mismas actividades que se hacen en la mquina de la oficina a travs de un telfono inteligente.Por otro lado, y para recalcar la importancia que est cobrando el desarrollo de aplicaciones para dispositivos mviles, es interesante observar que a nivel de la oferta laboral (en Estados Unidos) cerca de un 70% de las ofertas de trabajo para los egresados de la universidad est exigiendo algn conocimiento de desarrollo en iOS o Android.La arquitectura de software juega un papel fundamental en el desarrollo de aplicaciones mviles y creemos que el darle un nfasis mayor al que se est dando actualmente podra aportar grandes beneficios.