Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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:
AndEngine (Android)
Cocos 2d (iOS)
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?
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:
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.
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.
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.
Conectividad intermitente.
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
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.
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:
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.
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:
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.
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.
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
Informacin de estado.
Control de acceso.
Tipos
Atendiendo a como el usuario puede interactuar con una interfaz, nos encontramos con
varios tipos de interfaces de usuario:
Segn su construccin
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.
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
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:
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.
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
Procesamiento de Consultas
$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.
Se tiene que tomar en cuenta que la unidad puede estar en movimiento mientas se
realiza la consulta.
Manejo de transacciones
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.