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.