apuntes de moviles

12
Entornos de Dispositivos Móviles Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El desarrollo de aplicaciones móviles es el proceso por el cual se desarrolla un software para dispositivos móviles (como smartphones o tablets). La forma de distribución de estas aplicaciones puede variar, las aplicaciones pueden venir preinstaladas en los teléfonos o pueden ser descargadas por los usuarios desde app stores (tiendas de aplicaciones) y otras plataformas de distribución de software. El desarrollo de aplicaciones para dispositivos móviles requiere tener en cuenta las limitaciones de estos dispositivos. Los dispositivos móviles funcionan con batería

Upload: concepcion-gomez-hernandez

Post on 01-Oct-2015

216 views

Category:

Documents


0 download

DESCRIPTION

informaciones relevante sobre los dispositivos moviles

TRANSCRIPT

Entornos de Dispositivos Mviles

Un IDE es un entorno de programacin que ha sido empaquetado como un programa de aplicacin, es decir, consiste en un editor de cdigo, un compilador, un depurador y un constructor deinterfaz grfica(GUI). Los IDEs pueden ser aplicaciones por s solas o pueden ser parte de aplicaciones existentes.El desarrollo de aplicaciones mviles es el proceso por el cual se desarrolla un software para dispositivos mviles (como smartphones o tablets). La forma de distribucin de estas aplicaciones puede variar, las aplicaciones pueden venir preinstaladas en los telfonos o pueden ser descargadas por los usuarios desde app stores (tiendas de aplicaciones) y otras plataformas de distribucin de software.

El desarrollo de aplicaciones para dispositivos mviles requiere tener en cuenta las limitaciones de estos dispositivos. Los dispositivos mviles funcionan con batera y tienen procesadores menos poderosos que los ordenadores personales. Los desarrollos de estas aplicaciones tambin tienen que considerar una gran variedad de tamaos de pantalla, datos especficos de software y configuraciones. El desarrollo de aplicaciones mviles requiere el uso de entorno de desarrollos integrados. Las aplicaciones mviles suelen ser probadas primero usando emuladores y ms tarde se ponen en el mercado en periodo de prueba. Actualmente un gran nmero de empresas se dedica a la creacin profesional de aplicaciones. Aun as, han surgido pginas web como Mobincube3 donde un usuario comn puede crear aplicaciones de manera gratuita y sin conocimiento de programacin.

Historia y evolucin de los entornos de programacin mvilesPor la dcada de los 70 y 80 compaas comoCasio,Texas Instrumentsy Hewlett-Packardcrearoncalculadoras programables. Tal es el caso de laHP-65, la cual empaquetaba 9 registros de almacenamiento y tena espacio para 100 instrucciones por teclado. Tambin incluy una lectora/escritora detarjeta magntica, los programas usaronRPN(Notacin Polaca Inversa)para conservar la memoria. La documentacin para los programas en la calculadora era muy completa, incluyendo algoritmos para centenares de aplicaciones, soluciones de ecuaciones diferenciales, estimacin de precios, estadstica, etc. Pueden considerarse como precursores de los dispositivos mviles, ya que incluan conexin a impresora, capacidades grficas, mdulos de memoria expandibles de 1 kb e incorporacin deLenguaje Mquina, Basicy posteriormente PascalyC.

Por el ao de 1993,Applecomercializo un dispositivo llamadoNewton, que para muchos representa el primerPDA. Este aparato contaba con interesantes funciones entre ellas el reconocimiento de escritura y la sincronizacin con una computadora de escritorio, aplicaciones para notas, contactos y fechas, calculadora, conversin de unidades, zona horaria, mapas, un modem, envi de faxes, pantalla tctil, llamadas telefnicas,navegadory gestin decorreo electrnico. Usaba un sistema operativo llamadoNewton OSy funcionaba con pilas AAA. Es posible de hablar de desarrollo de aplicaciones para este dispositivo, no como las tiendas que conocemos ahora, pero si creadas por terceros para funciones muy especficas y de distribucin limitada. Sin embargo, dada las avanzadas funciones para la poca, el pblico no estaba preparado para ello, si sumamos el poco desarrollo y el impreciso reconocimiento de escritura fueron factores claves para que fuera retirado del mercado con ms pena que gloria. Actividad que le toco precisamente al hijo prodigo:Steve Jobs.

Palmcomenz como una empresa dedicada al desarrollo de software en los 90, generando aplicaciones de sincronizacin paraCasioyHP, software de reconocimiento de escritura para laNewtonentre otras; sin embargo poco despus crea el sistema operativoPalm Os, generando sus propios dispositivos y licenciando el sistema a terceros. Por espacio de ms de una dcada constituyeron equipos de gran prestigio llegando a poseer en el 2001 el 60% del mercado americano. Para el caso de lasPocket Pc, Microsoft entr en escena un par de aos despus quePalme introdujo el termino Computadora de Bolsillo, en cual tena instalado como sistema operativoWindows CE, un conjunto de aplicaciones enROM, pantalla tctil y un dispositivo apuntador ostylus. Para ese entonces la disposicin de aplicaciones ya era ms extendida, existiendo un catlogo con decenas de ellas, adems, los dispositivos se diversifican en dos ramas: losPDAy losSmartphone, diferencindose estos ltimos por las funciones de telefona como mensajes y llamadas. Precisamente fue con uniPaq de HPsimilar al mostrado en la imagen con el cual abord el barco e inicie la aventura y pasin por la tecnologa mvil, ese cacharro tecnolgico an est conmigo y me recuerda lo mucho que ha avanzado esta tecnologa en tan pocos aos.

Cuando el uso de dispositivos mviles se Cuando el uso de dispositivos mviles se hizo algo comn, tambin la programacin de aplicaciones para estos se tom ms en serio, as diversas compaas crear entornos de programacin o complementos a IDES existentes y emuladores para permitir la creacin de aplicaciones, entre ellos: Pda Toolbox, Satellite Forms, Scotbuilder, Palm Os Developer Studio, HS Pascal, Mobile Visual Basic Embedded Visual ToolsAl mencionar las caractersticas de estos entornos destacan elentorno visual, el uso de controles como botones y etiquetas, los compiladores, emuladoresy la generacin de aplicaciones con cdigo nativo para el equipo especifico. En el uso de los lenguajes de programacin se incluyenc, c++, Basic, Pascal y Java. Para la instalacin de las aplicaciones tambin existan varias opciones tales como instalacin mediante sincronizacin con una computadora, copiado hacia la memoria del dispositivo y recientemente mediante descargas de internet. Aunque el Internet ya exista en ese entonces an no era de fcil acceso por lo que capacitarse en tales actividades requera adquirir libros, buscar desesperadamente manuales ocultos en los archivos de instalacin o en caso adverso acudir a un experto con la esperanza que este compartiera su valioso conocimiento en el difcil y oscuro mundo de la programacin.

Los mvilesBlackBerryse crearon unos aos despus del surgimiento de los dispositivosPalm, para ser exacto el primero de ellos,el BlackBerry 850en 1999, el cual tan solo era un buscapersonas, es decir, no contaba con funciones de telefona.En el apartado de la programacin, pronto soporto la instalacin de aplicaciones y entornos de desarrollo basados en los lenguajes c y java, optando constantemente por crearpluginsespeciales para IDES conocidos comoVisual Studio,EclipseoNetbeans.

En 1995Sun Microsystemaspresento el lenguaje de programacinJavade la mano deJames Gosling. Desde su nacimiento java pona cierto nfasis en especificaciones esenciales para dispositivos de bajo consumo, por ello, con la llegada deJava ME(Micro Edition), se establecieron las bases para la creacin de aplicaciones enfocadas a dispositivos con memoria, pantalla y en general recursos limitados.

Appleya se estaba cocinando algo y era precisamente elIPhone. Este smarpthone surgi en enero de 2007 y aunque fue presentado como una gran revolucin en realidad careca de elementos esenciales de otras plataformas como el copiar y pegar y elbluetoothliberado entre otras cosas; pero gracias a la mercadotecnia y a factores de diseo y esttica logro tomar posicin de manera rpida y fomentar la investigacin y desarrollo que haca falta en todo el ecosistema mvil. Para el desarrollo de aplicaciones esta plataforma ha utilizado el lenguajeObjetive C, que bsicamente est basado enCcon algunas implementaciones tomadas deSmalTalk, si bien este lenguaje fue creado en los 80, hasta que Apple lo tom que comenz a ser popular; como entorno de desarrollo se ha utilizadoXcode, que incluye compiladoresGCCque no se limita a Objetive c, ya que permiteC,C++,Java,Free Pascal, Aday Lisp; adems el componenteInterface Builderse encarga de la creacin de interfaces de usuario. Aunque en ese tiempo ya existantiendas de aplicacionespara otras plataformas

Google siempre ha sido ambicioso y con gran visin, por ello desde el ao 2005 compr la compaa Android Inc. con el firme objetivo de contar con un sistema operativo y el consecuente desarrollo de dispositivos. La llegada deliPhonerepresento un cambio de planes y acelero el desarrollo, de forma que en el 2008 presento su primer telfono inteligente, elHTC Dream. Desde sus inicios la programacin se ha realizado en el IDEEclipsecon unkit de desarrolloy plugins para cada versin especfica de la API, aunque tambin es posible configura un entorno conNetBeanso IntelliJ IDEA. Como lenguaje de programacin se utiliza bsicamenteJava, Javascript,BasicyC, adicionalmente existe un entorno web llamado Android Inventor, que sin necesidad de cdigo se pueden crear aplicaciones de mediana complejidad. Por su parteMicrosoftno pudo evitar la cada y desaparicin deWindows Mobile, pero gracias a su musculo econmico, diseWindows Phoney present una versin incipiente en el 2010. Aprovechando sus tecnologas consolidadas, hoy es posible crear aplicaciones con el IDEVisual Studioque en la actualidad contiene una gran cantidad de herramientas, emuladores y ayudas que hacen del desarrollo una tarea relativamente sencilla (necesario instalar el SDK de Windows Phone para habilitar las plantillas de creacin). Los lenguajes de programacin incluyenC++,C#yVisual Basicy el uso de emuladores requiere que el equipo de cmputo admita lavirtualizacinva hardware.

Las tiendas de aplicaciones modernas existen desde el ao 2008. En la actualidad todo sistema estable y robusto cuenta con una tienda de aplicaciones que permiten al usuario funcionalidad adicional para suplir necesidades especficas, donde el desarrollador se queda con un o porcentaje de las ganancias obtenidas. Si bien al principio se tena la idea de abundantes ganancias por la venta de aplicaciones hoy en da es difcil monetizar una aplicacin basado solo en la venta y existen otras opciones como: Aplicaciones gratuitas completas con fecha de caducidad con opcin a pago al terminar el periodo Aplicaciones con pago por suscripcin Aplicaciones gratuitas completas con publicidad Aplicaciones gratuitas con funcionalidad reducida y venta de extras

Por otra parte, en los ltimos aos han surgido plataformas de desarrollo que permiten la creacin de aplicaciones multiplataforma con mnima configuracin para su implementacin en ambientes especficas: Xamarin Appcelerator Titanium PhonegapEst claro que esta modalidad de desarrollo genera ventajas ya que solo se necesita crear el cdigo una sola vez y posteriormente compilar e implementar en ms de una plataforma con el consecuente ahorro de tiempo, desarrollo estndar, etc.; tambin es cierto que presenta algunos inconvenientes segn el IDE seleccionado, tales como Complejidad del cdigo fuente, dificultad de mantenimiento, coherencia, experiencia de usuario menos enriquecida y generalmente son entornos de paga. Al final la eleccin depende de las caractersticas particulares y enfoque de cada aplicacin.

http://www.poderpda.com/editorial/programacion-para-dispositivos-moviles-una-resena-historica/http://www.exabyteinformatica.com/uoc/Informatica/Tecnologia_y_desarrollo_en_dispositivos_moviles/Tecnologia_y_desarrollo_en_dispositivos_moviles_%28Modulo_3%29.pdf

Aplicaciones web y aplicaciones nativasUna aplicacin web es, bsicamente, un sitio web especficamente optimizado para un dispositivo mvil. Las caractersticas que definen una aplicacin web son las siguientes: la interfaz de usuario se construye con tecnologas web estndar, est disponible en una URL2 (pblica, privada o protegida por una contrasea) y est optimizada para los dispositivos mviles. Una aplicacin web no est instalada en el dispositivo mvil.Las aplicaciones nativas, por el contrario, estn instaladas en el dispositivo mvil, tienen acceso al hardware (altavoces, acelermetro, cmara, etc.) y estn escritas en algn lenguaje de programacin compilado (como, por ejemplo, el Objective-C).Diferentes aplicaciones tienen diferentes requisitos. Algunas aplicaciones se adaptan mejor a las tecnologas web que otras. Conocer las ventajas e inconvenientes de cada paradigma os ayudar a decidir qu camino es el ms apropiado para cada situacin.La principal ventaja del desarrollo de aplicaciones nativas es que se puede acceder a todas las caractersticas hardware del dispositivo.A continuacin enumeramos los inconvenientes del desarrollo de aplicaciones nativas: La aplicacin solo funcionar en la plataforma escogida. Hay que desarrollarla usando el lenguaje de programacin establecido parala plataforma. Es ms complicado distribuir parches o actualizaciones que solucionenerrores. El ciclo de desarrollo es ms lento.

Las ventajas del desarrollo de aplicaciones web son las siguientes: Los desarrolladores web pueden usar sus propias herramientas. Se pueden usar los conocimientos de diseo y desarrollo web que ya setengan. La aplicacin funcionar en cualquier dispositivo que tenga un navegadorweb. Se pueden solucionar errores en tiempo real. El ciclo de desarrollo es ms rpido.

Los inconvenientes del desarrollo de aplicaciones web son los siguientes: No se puede acceder a todas las caractersticas del dispositivo mvil. Puede ser difcil conseguir efectos sofisticados en la interfaz de usuario.

La naturaleza de los dispositivos mviles, que cada vez ms estn permanentemente conectados, hace que la lnea entre aplicaciones web y aplicaciones nativas se difumine. Incluso hay varios proyectos (entre los que PhoneGap es el ms notable) que desarrollan soluciones que permiten a los desarrolladores web coger una aplicacin web y empaquetarla como una aplicacin nativa, ya sea para iPhone o para otra plataforma mvil.http://www.exabyteinformatica.com/uoc/Informatica/Tecnologia_y_desarrollo_en_dispositivos_moviles/Tecnologia_y_desarrollo_en_dispositivos_moviles_%28Modulo_3%29.pdf