Sei sulla pagina 1di 27

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

Wikitude

Con 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 4

Xcode 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 NDK


Las 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 SDK
Symbian 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 Tools


Y 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 7
En 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.

A diferencia 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 aplicaciones

Hoy 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 arquitectnicos

Existen 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 mviles

Actualmente 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 SOA

Cuando 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.
Investigacin

Uno 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 Edgeenabled 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 vida

Son 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.
o

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 usuario
La 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 principales

Sus 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.

Tipos

Dentro 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 usuario

Atendiendo 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 construccin

Pueden 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.

Valoracin

El 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 Studio


Puede 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 disponibles

1. 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 emulador
Si deja de necesitar un emulador, puede quitarlo de Visual Studio.
Para quitar un emulador de la lista de exploradores

1. 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 requier


e 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. Otr
a 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 opcion
al MMAPI (Multimedia API). Debido
a lo anterior, en este Captulo se dar una breve d
escripcin de conceptos bsicos sobre
estos paquetes y algunas operaciones que son posibl
es 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 inalmbrica
Sistemas 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 inalmbrica

Procesamiento 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.
Conclusin

Hoy 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.

Potrebbero piacerti anche