INGENIERIA EN TECNOLOGIAS DE LA INFORMACION Y COMUNICACIN.
Alumna: Pablo Lpez Sandi Profesor: Ramrez Santiago Benedicto Semestre: 7 Grupo: A MATERIA: Desarrollo de aplicaciones para dispositivos mviles Ex Hacienda de Nazareno, Xoxocotlan a 26 de mayo de 2014
ARQUITECTURAS Y ENTORNO DE DESARROLLO DE DISPOSITIVOS MVILES Consideraciones previas A la hora de elegir una arquitectura de desarrollo para mvil es necesario tener en cuenta una serie de aspectos, como son: conectividad, almacenamiento, limitaciones del procesador, estndares, opciones de despliegue, usuarios potenciales sin olvidar otros tpicos como escalabilidad, mantenibilidad o extensibilidad. Todos estos factores servirn como punto de partida a la hora de tomar una decisin arquitectnica. Conectividad
Aplicaciones mviles son por definicin, mviles, es decir, el usuario no est conectado a un punto de red fijo, sino que mientras se mueve va cambiando y puede que en ciertos momentos se encuentre con una conexin nula o inexistente.
A pesar de que las tecnologas inalmbricas han evolucionado mucho en los ltimos aos, no se puede esperar que un usuario mvil vaya a estar siempre conectado, como mucho se puede esperar que este casi siempre conectado.
Acceso al dispositivo.
Con esto nos referimos al hecho de poder acceder desde nuestra aplicacin a funciones propias del Smartphone o dispositivo, como son el GPS, acelermetro, agenda, cmara y dems.
Algunas arquitecturas permitirn acceder a todas estas opciones, mientras que otras solo permiten acceder a algunas o incluso a ninguna. Por eso es importante tener siempre en mente como de importante es para nosotros y para nuestra aplicacin el acceso al dispositivo y a sus funciones. Usabilidad A la hora de disear el interfaz de una aplicacin para mvil, tenemos que ser mucho ms cuidadosos, si cabe, que cuando lo hacemos para una aplicacin de escritorio o web, ya que nos encontramos ante pantallas de pequeo tamao, multitctiles, con mtodos de entrada distintos a los tradiciones y en definitiva, unas limitaciones y posibilidades que pueden llevar a nuestra aplicacin al fracaso o al xito Rendimiento Un aspecto muy a tener en cuenta es como de importante es para nuestro objetivo el rendimiento que tenga la aplicacin. Est claro que si queremos desarrollar un juego de coches, el rendimiento es muy importante y por tanto seguramente deberemos pensar en aquellas arquitecturas que permiten sacar el mximo potencial de cada dispositivo. Seguridad Las aplicaciones para mviles estn dejando de ser un simple entretenimiento para convertirse en una parte importante de nuestro da a da, llegando a tener presencia en operaciones clave donde la seguridad es crucial, como emails, bancos o simples aplicaciones de compra y venta donde tenemos almacenados datos bancarios Esto hace que en nuestra eleccin sea importante valorar hasta qu punto ser necesaria una seguridad robusta con caractersticas como autenticacin, encriptacin o control de acceso. TIPOS MODELO NATIVO Como si fuera una aplicacin de escritorio, las aplicaciones nativas se construyen pensando en un nico sistema operativo o incluso un nico dispositivo. La idea de este enfoque es aprovechar todo el potencial que nos da el entorno para acceder a las caractersticas propias del dispositivo mvil y poder as llegar a sacar el mximo potencial en cuanto a rendimiento y posibilidades que un mvil nos ofrece.
La arquitectura se basa en que en el dispositivo implementaremos toda su interfaz, acceso a funcionalidades de la plataforma (cmara y dems) y lgica (al menos la que necesite ser accedida de modo offline). Si existe cierta informacin que no necesite ser accedida de modo constante y offline, sino que basta con recuperarla cada vez que haya una conexin disponible, se podra implementar una aplicacin web o servicio web que implementase parte de la lgica y recuperacin de informacin. En este enfoque, la misma funcionalidad (offline y UI) debe ser implementada desde cero para cada plataforma, ya que cada una de ellas usa su propio lenguaje de programacin, por lo que no tenemos la opcin de compartir implementaciones de funcionalidad comn. Esto puede hacer que pensemos en desechar esta alternativa inmediatamente, pero para algunos escenarios, donde el rendimiento y la experiencia de usuario cobran especial relevancia, las aplicaciones nativas son necesarias.
Modelo web En este modelo, las aplicaciones son codificadas en un lenguaje de programacin soportado por los navegadores web y es ejecutado dentro del navegador del mvil. A la hora de presentar la informacin (parte UI) se utilizan dos enfoques, uno en el que tanto la lgica como las vistas son procesadas, ejecutadas y preparadas en el servidor, y otro en el que la mayor parte de este trabajo es hecho en cliente
Para el segundo enfoque, la base es javascript
Por lo tanto podramos resumirlo en que aqu la clave es construir la aplicacin usando tecnologas web estndar como HTML (para definir texto esttico e imagines), CSS (que define el estilo y la presentacin) y JavaScript (nos servir para establecer las interacciones y animacin) que nos permiten que su apariencia y comportamiento sea cercano al de las aplicaciones nativas. Todos los frameworks que utilizan este modelo se basan en libreras JavaScript, que combinadas con HTML 5 y CSS 3 rende rizar la aplicacin web mvil en cualquier dispositivo, y esto es posible a las posibilidades que nos ofrece HTML 5 y CSS 3, que incluyen bases de datos SQL, almacenamiento local, animaciones, video Modelo hibrido Uno de los mayores inconvenientes del modelo web es las limitaciones que nos impone a la hora de acceder a algunas caractersticas del hardware de la plataforma o dispositivo sobre la que se ejecuta la aplicacin, ya que a pesar de que las ltimas versiones de los navegadores mviles propagan informacin como la orientacin de la pantalla o geo localizacin, esta es aun limitada y todava no hay forma de obtener datos del acelermetro, la cmara o subir un video. Aqu es donde el modelo hibrido entra en escena. En este, bsicamente tendremos una aplicacin nativa que slo contendr la aplicacin web embebida, de tal manera que funcionar como un wrapper que har de puente de comunicacin entre la aplicacin web embebida y las opciones propias del dispositivo, eliminando as parte de las limitaciones del modelo web. El usuario recibe una aplicacin nativa normal que muestra contenido web. La aplicacin web interna ser cacheada localmente en el dispositivo durante la instalacin, eliminando as la necesidad de una conexin activa a la red y mejorando su velocidad y sensibilidad.
La comunicacin entre la aplicacin web y la aplicacin nativa, normalmente ocurre mediante JavaScript APIs que nos dan la posibilidad de leer datos adicionales del mvil, y lanzar acciones como la vibracin, el acelermetro o acceder a ficheros de un modo estndar a travs de diferentes plataformas.
Esta habilidad de combinar aplicaciones web estndar con las nativas, puede significar una importante reduccin de tiempo y coste al minimizar el trabajo necesario de codificacin.