1. SUBSECRETARIA
DE EDUCACION SUPERIOR
DIRECCION GENERAL DE EDUCACION SUPERIOR TECNOLOGICA
INSTITUTO TECNOLOGICO DE TAPACHULA
Nombre Del Alumno:
Martínez Ramos Sheyla Berenice
Nombre De La Carrera:
Ingeniería En Sistemas Computacionales
Nombre Del Profesor:
Nicolás Cabrera Hidalgo
Nombre De La Materia:
Tópicos Avanzados de Programación II
2. INTRODUCCION
Hace relativamente poco tiempo, las empresas que desarrollan aplicaciones móviles, buscaban
realizar un solo desarrollo multiplataforma, y que valiera para el mayor número de dispositivos
posible. El costo de desarrollar estas aplicaciones es alto ya que se necesita realizar adaptaciones
para sacar el mayor rendimiento de cada dispositivo; ahora lo que se efectúa es el desarrollo de
aplicaciones nativas para cada plataforma.
El interéspor crear aplicacionespara DispositivosMóvileshaaumentadoen la misma medidaque
estos han demostrado su funcionalidad.
Cuando se considera elaborar aplicaciones móviles, la principal dificultad es la elección de una
plataformade desarrollo,entendidacomounacombinaciónde metodologíade análisisydiseñode
sistemas, lenguaje de programación, sistema operativo, entre otros.
El mundo de la tecnología es cambiante. El pasado se hace un año, y el futuro es dentro de un
minuto. Esto se acentúa en la tecnología móvil, donde los cambios son constantes. Una empresa
dedicada al desarrollo de software para móvil, no puede permitirse el desconocer las plataformas
más importantes que envuelven el mercado.
En el primercapítulose menciona ¿Qué sonlosdispositivosmóviles?Asícomosuhistoriaylostipos
que existenesto es debidoa que si hablamos de software para móvilesdebemostener en cuenta
que no existe desarrollo si no tenemos donde aplicarlo. Los dispositivos móviles han contribuido
para que lasociedadse mantengacomunicada,nosolo porllamadasySMS,sino tambiénmediante
el acceso a internetque nospermite estarenlíneapor medioscomoel chat o mensajeros,correos
electrónicos,video-llamadasylasfamosasredessociales(twitter, Facebook,MySpace,entreotros).
Otro aspecto positivoses el accesomóvil a la información yaque ha aumentadosuimportanciaen
el entornode trabajo graciasalacapacidadde accederygestionardocumentos,ynopodemosdejar
atrás la comodidad que nos proporcionan debido a que podemos navegar por la red cuando
queramos no importando en el espacio que nos encontremos.
Cabe mencionarque losdispositivosmóvilestienenutilidadesvarias,laprincipal eslacomunicación;
sinembargoel crecimientotecnológicoylasnecesidadesbanalesdelaspersonashanincrementado
el uso de estosaparatos no solopara realizarllamadasomensajes sinotambiénparasu diversión,
entretenimiento y organización con juegos interactivos, música, calendarios, agendas, relojes,
calculadorastodosellosllamadoscomowidgets quenosonmás que mini aplicacionesoprogramas
que son diseñados para proveer información y mejorar la apariencia de los dispositivos.
SISTEMAS OPERATIVOS PARA MÓVIL
Un sistemaoperativomóviloSOmóvil esunsistemaoperativoque controlaundispositivomóvil al
igual que losPCsutilizanWindowsoLinux entreotros.Sinembargo,lossistemasoperativosmóviles
son mucho más simples y están más orientados a la conectividad inalámbrica, los formatos
multimedia para móviles y las diferentes maneras de introducir información en ellos.
Algunosde lossistemasoperativosutilizadosenlosdispositivosmóvilesestánbasadoenel modelo
de capas.
3. CAPAS
KERNEL
El núcleo o kernel proporciona el acceso a los distintos elementos del hardware del dispositivo.
Ofrece distintosserviciosalassuperiorescomosonloscontroladoresodriversparael hardware,la
gestión de procesos, el sistema de los archivos y el acceso y gestión de la memoria.
MIDDLEWARE
El middlewareesel conjuntode módulosque hacenposible lapropiaexistenciade aplicaciones
para móviles.Estotalmente transparenteparael usuarioyofrece serviciosclavescomoel motor
de mensajeríaycomunicaciones,códecsmultimedia,intérpretesde páginasweb,gestióndel
dispositivoyseguridad.
ENTORNO DE EJECUCIÓN DE APLICACIONES
El entorno de ejecución de aplicaciones consiste en un gestor de aplicaciones y un conjunto de
interfaces programables abiertas y programables por parte de los desarrolladores para facilitar la
creación de software.
INTERFAZ DE USUARIO
Las interfacesde usuariofacilitanlainteracciónconel usuarioy el diseñode lapresentaciónvisual
de laaplicación.Losserviciosque incluyesonel de componentesgráficos(botones,pantallas,listas,
etc.) y el del marco de interacción.
Aparte de estas capas también existe una familia de aplicaciones nativas del teléfono que suelen
incluir los menús, el marcador de números de teléfono etc...
MERCADO
A medida que los teléfonosmóvilescrecen en popularidad, los sistemas operativos con los que
funcionanadquierenmayorimportancia.Lacuotade mercadode sistemasoperativosmóvilesenel
segundo trimestre de 2013 era el siguiente:
Android80% (En países como España las diferenciassonmás significativas,donde Android
tiene el 90,8% de la cuota de mercado).
iOS13,2%
WindowsPhone 3%
BlackBerryOS 2,9%
Linux u otros0,8%
SymbianOS0,2%
Firefox OSDisponible
UbuntuTouch que está en desarrollo
Androidtienelamayorcuota,desde enero2011, conmás de lamitaddel mercado,experimentóun
creciente aumentoyensolodosaños(2009 a comienzosde 2011) ha pasadoa serel SO móvil más
utilizado.
4. Figura5.- Sistemasoperativosparadispositivosmóviles
En la figura 5 podemos observar la gráfica comparativa de los SO. Podemos observar, a diferencia
de los SO para PC, Windows es un sistema muy minoritario,con un 0.55% del mercado, siendo el
clarodominadorApple,consuiOS,54,27%.En segundolugartenemosaAndroid35,41% y después,
muy de lejos, Java ME y Symbian con un 3,18% y BlackBerry y Kindle con un 1,56% y 0.95%
respectivamente. La figura 6 nos muestra la gráfica de la figura 5, pero por versiones.
5. Figura 6.- Sistemas operativos más usados en dispositivos móviles (Versiones)
En este caso, podemosverque el iPadde Apple esel clarodominadordel mercado,conun31%. El
iPhone se lleva el 22,36%, y podría parecer que está en segundo lugar. Sin embargo, en segundo
lugar esta Android, Donde podemos observar el grave problema de fragmentación que tiene, algo
que perjudicatantoa usuarioscomoa desarrolladoresycompañías.La siguientetablanosmuestra
las diferentes versiones con su nombre en clave y su porcentaje de distribución (Fuente: Xakata
Android).
Tabla 1.- Diferentes SO Android en el mercado. Fuente: Xakata Android
6. SISTEMAS OPERATIVOS MÓVILES
ANDROID
El sistema operativo Android es sin duda el líder del mercado móvil en sistemas operativos, está
basado en Linux, diseñado originalmente para cámaras fotográficas profesionales, luego fue
vendido a Google y modificado para ser utilizado en dispositivos móviles como los teléfonos
inteligentes y luego en tablets como es el caso del Galaxy Tab de Samsung , actualmente se
encuentra en desarrollo para usarse en notebooks y PCs, el desarrollador de este S.O. es Google,
fue anunciadoenel 2007 y liberadoenel 2008; ademásde lacreaciónde la OpenHandsetAlliance,
compuestopor78 compañíasde hardware,software ytelecomunicacionesdedicadasal desarrollo
de estándaresabiertosparacelulares,estole haayudadomuchoa Google a masificarel S.O,hasta
el punto de ser usado por empresas como HTC, LG, Samsung, Motorola entre otros.
AndroidInc.,es la empresaque creó el sistemaoperativomóvil,se fundóen2003 y fue comprada
porGoogle enel 2005 y 2007 fue lanzadoal mercado.Sunombrese debeasuinventor,AndyRubín.
Originalmente era un sistema pensado para las cámaras digitales.
Androidestábasado enLinux,disponiendode unKernel eneste sistemay utilizandounamáquina
virtual sobre este Kernel que es la responsable de convertir el código escrito en Java de las
aplicaciones a código capaz de comprender el Kernel.
Las aplicaciones para Android se escriben y desarrollanen Java aunque con unas APIS propias por
lo que las aplicaciones escritas en Java para PC y demás plataformas ya existentes no son
compatibles con este sistema.
Una de las grandes cualidades o características de este sistema operativo es su carácter abierto.
Androidse distribuye bajodostiposde licencias,unaque abarcatodo el códigodel Kernel yque es
GNU GPLv2 ( implicaque sucódigose debe poneral alcance de todos y que todospodremoshacer
con este código lo que nos parezca oportuno, modificarlo, ampliarlo, recortarlo, pero siempre
estaremos en la obligación de volver a licenciarlo con las misma licencia) Google también por
supuestotiene otralicenciaparael restode componentesdel sistemaque se licenciabajoAPACHE
v2 (implica que este código se pueda distribuir para ser modificado y usado a antojo del que lo
utilice,peroadiferenciadel primercaso,lasmodificacionesyel códigoresultante noesobligatorio
el licenciarlo bajo las mismas condiciones en las que se encontraba).
ARQUITECTURA
Su diseño cuenta, entre otras, con las siguientes características:
Busca el desarrollo rápido de aplicaciones, que sean reutilizables y verdaderamente
portables entre diferentes dispositivos.
Los componentes básicos de las aplicaciones se pueden sustituir fácilmente por otros.
Cuenta con su propia máquina virtual, Dalvik, que interpreta y ejecutacódigoescrito
en Java.
Permite la representación de gráficos 2D y 3D.
Posibilita el uso de bases de datos.
7. Soporta un elevado número de formatos multimedia.
Servicio de localización GSM.
Controla los diferentes elementos hardware: Bluetooth, Wi-Fi, cámarafotográfica o de
vídeo, GPS, acelerómetro, infrarrojos, etc., siempre y cuando el dispositivo móvil lo
contemple.
Cuenta con un entorno de desarrollo muy cuidado mediante un SDK disponible de
forma gratuita.
Ofrece un plug-in para uno de los entornos de desarrollo más populares,Eclipse,yun
emulador integrado para ejecutar las aplicaciones.
La capa másinmediataeslacorrespondeal núcleode Android.Androidutilizael núcleode Linux2.6
como una capa de abstracción para el hardware disponible enlos dispositivos móviles. Esta capa
contiene los drivers necesarios para que cualquier componente hardware pueda ser utilizado
mediante las llamadas correspondientes.
Siempre que unfabricanteincluyaunnuevoelementode hardware,loprimeroquese deberealizar
para que puedaser utilizadodesde Android escrear laslibrerías de control o drivers necesarios
dentro de este kernel de Linux embebido en el propio Android.
La elección de Linux 2.6 se ha debido principalmente a dos razones: la primera, su naturaleza de
código abierto y libre se ajusta al tipo de distribución que se buscabaparaAndroid(cualquier
otra opción comercial disponible hoy día hubiera comprometido la licencia de Apache); la
segunda es que este kernel de Linux incluye de por sí numerosos drivers, además de
contemplar la gestión de memoria, gestión de procesos, módulos de seguridad, comunicación
en red y otras muchas responsabilidades propias de un sistemas operativo.
La siguiente capa se corresponde con las librerías utilizadas por Android. Éstas han sido escritas
utilizando C/C++ y proporcionan a Android la mayor parte de sus capacidades más características.
Junto al núcleo basado en Linux, estas librerías constituyen el corazón de Android.
Al mismonivel que laslibreríasde Androidse sitúa el entornode ejecución.Éste loconstituyenlas
CoreLibraries, que son librerías con multitud de clases de Java, y la máquina virtual Dalvik.
Los dos últimos niveles de la arquitectura de Android están escritos enteramente en Java. El
framework de aplicaciones representa fundamentalmente el conjunto de herramientas de
desarrollo de cualquier aplicación. Toda aplicación que se desarrolle paraAndroid,ya seanlas
propias del dispositivo, las desarrolladas por Google o terceras compañías, o incluso las que el
propiousuariocree,utilizanelmismoconjuntode APIyel mismoframework,representadoporeste
nivel.
El último nivel del diseño arquitectónico de Android son las aplicaciones. Éste nivel incluye tanto
las incluidas por defecto de Android como aquellas que el usuario vaya añadiendo
posteriormente, ya sean de terceras empresas o de su propio desarrollo. Todas estas
aplicaciones utilizan los servicios, las API y librerías de los niveles anteriores
8. IOS
IOS es el sistema operativo que da vida a dispositivos como el iPhone, el iPad, el iPod Touch o el
Apple TV.Su simplicidadyoptimizaciónsonsuspilarespara que millonesde usuariosse decanten
por iOSen lugarde escogerotrasplataformasque necesitanmáshardware para movercon fluidez
el sistema. Cada año, Apple lanza una gran actualización de iOS que suele trae características
exclusivas para los dispositivos más punteros que estén a la venta en ese momento.
Anteriormente denominado iPhone OS creado por Apple originalmente para el iPhone, siendo
después usado en el iPod Touch e iPad. Es un derivado de Mac OS X, se lanzó en el año 2007,
aumento el interés con el iPod Touch e iPad que son dispositivos con las capacidades multimedia
del iPhone perosinla capacidadde hacer llamadastelefónicas,ensi su principal revoluciónesuna
combinación casi perfecta entre hardware y software,el manejo de la pantalla multi-táctil que no
podía ser superadapor la competenciahastael lanzamientodel celularGalaxySI y II por parte de
Samsung.
WINDOWS PHONE
Anteriormente llamadoWindowsMobile esunS.O.móvil compactodesarrolladoporMicrosoft,se
basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto de aplicaciones
básicas,actualmente vaporla versión8. Está diseñadoparaser similaralas versionesde escritorio
de Windows estéticamente y existe una gran oferta de software de terceros disponible para
WindowsMobile,lacual se puede adquiriratravésde la tiendaenlíneaWindowsMarketplace for
MobileS
BLACKBERRY O.S
Desarrolladoporlaempresacanadiense RIM(ResearchInMotion) para sus dispositivos.El sistema
permite multitareaytiene soporte paradiferentesmétodosexclusivosde RIMparticularmenteme
refiero a sus trackwheel, TrackBall, TouchPad y pantallas táctiles.
El SO BlackBerryestáclaramente orientadoasuusoprofesional comogestorde correoelectrónico
y agenda. Desde la cuarta versión se puede sincronizar el dispositivo con el correo electrónico, el
calendario,tareas,notasycontactos de Microsoft Exchange Serverademásescompatible también
con Lotus Notes y Novell GroupWise. BlackBerry Enterprise Server (BES) proporciona el acceso y
organización del email a grandes compañías identificando a cada usuario con un único BlackBerry
PIN. Losusuariosmáspequeñoscuentanconel softwareBlackBerryInternetService,programamás
sencilloque proporcionaaccesoaInternety a correo POP3 / IMAP / OutlookWebAccesssintener
que usar BES. Al igual que en el SO Symbiandesarrolladoresindependientestambiénpuedencrear
programas para BlackBerry pero en el caso de querer tener acceso a ciertas funcionalidades
restringidas necesitan ser firmados digitalmente para poder ser asociados a una cuenta de
desarrollador de RIM.
9. BLACKBERRY 6
BlackBerry es un sistema desarrollado por Research In Motion el cual fue presentado en el WES
2010 junto con un video promocional donde se muestra algunas novedades. RIMapuesta que su
BlackBerry6 estará enfocadoenel mercadocorporativoy no-corporativo.Lamejorexperienciade
este sistema se encontrara en los equipostouchscreen (Pantalla Táctil), aunque RIMaseguro que
en los equipos que cuenten con un TouchPad o TrackPad podrán ejecutarlo ya que ejerce casi la
misma función. Así mismo todavía RIM no ha aclarado cúales son los equipos que se podrán
actualizara esta versiónaunque haymuchos rumoresal respecto.RIMen el desarrollode este OS
se enfocóenla parte multimediahaciael usuario,sindejara un lado la parte profesional,también
se muestra la integración de las redes sociales y la mensajería instantánea en este. Sin duda RIM
quiere dar al usuario una nueva experiencia en su equipo BlackBerry que nadie conocía.
BLACKBERRY 7.1
BlackBerry7.1 es laúltimaversiónestable hastael momento,estanuevaversiónesmuyparecidaa
la versión7.0aunque conalgunasnuevasfuncionesque haránmásfácil el manejodelSmartphone.
SYMBIAN
Fue productode laalianzade variasempresasde telefoníamóvil,entrelasque se encuentranNokia
como la más importante, Sony Ericsson, Samsung, Siemens, BenQ, Fujitsu, Lenovo, LG, Motorola,
esta alianza le permitió en un momento dado ser unos de los pioneros y más usados.
El objetivode Symbianfuecrearunsistemaoperativoparaterminalesmóvilesquepudieracompetir
con el de Palm o el Smartphone de Microsoft.Técnicamente,el sistemaoperativoSymbianesuna
colección compacta de código ejecutable y varios archivos, la mayoría de ellos son bibliotecas
vinculadas dinámicamente (DLL por sus siglas en inglés) y otros datos requeridos, incluyendo
archivosde configuración,de imágenesyde tipografía,entre otrosrecursosresidentes.Symbianse
almacena, generalmente, en un circuito flash dentro del dispositivo móvil. Gracias a este tipo de
tecnología,se puede conservarinformaciónaunsi el sistemanoposee cargaeléctricaenlabatería,
ademásde que le es factible reprogramarse,sinnecesidadde separarlade losdemáscircuitos.Las
aplicaciones compatibles con Symbian se desarrollan a partir de lenguajes de programación
orientados a objetos como C++, Java (con sus variantes como PJava, J2ME, etc.), Visual Basic para
dispositivos móviles, entre otros, incluyendo algunos lenguajes disponibles en versión libre.
CARACTERÍSTICAS PRINCIPALES
Uso eficiente de todos los recursos de la máquina, especialmente batería, RAMy ROM.
Acceso inmediato a los datos.
Manejo fiable de los datos incluso en caso de fallo en la comunicación o falta de
recursos, como memoria, disco o batería.
Adaptabilidad al hardware específico y a las pilas de telefonía de los fabricantes.
Consistencia en la comunicación entre los datos
10. FIREFOX O.S
Firefox OS es un sistema operativo móvil, basado en HTML5 con núcleo Linux, de código abierto,
para smartphones y tabletas. Es desarrollado por Mozilla Corporation bajo el apoyo de otras
empresas como Telefónica y una gran comunidad de voluntarios de todo el mundo. Este sistema
operativoestáenfocadoespecialmenteenlosdispositivosmóvilesincluidoslosde gamabaja. Está
diseñado para permitir a las aplicaciones HTML5 comunicarse directamente con el hardware del
dispositivo usando JavaScript y Open Web APIs. Ha sido mostrado en smartphones y Raspberry
Pi, compatibles con Android.
En febrero de 2013 Mozilla anunció planes para el lanzamiento mundial de Firefox OS. Mozilla ha
comunicado en rueda de prensa antes del inicio del Mobile World Congress en Barcelona, que la
primera ola de dispositivos con Firefox OS estará
disponible Brasil,Colombia, Hungría, México, Montenegro, Polonia, Serbia, España y Venezuela.
Firefox también ha anunciado que LG Electronics, ZTE, Huawei y TCL Corporation se han
comprometido a la fabricación de dispositivos con Firefox OS.
UBUNTU TOUCH
Ubuntu Touch es un sistema operativo móvil basado en Linux. Es desarrolladopor Canonical Ltd...
Presentadoel 2 de enerode 2013 al públicomediante unanuncioenlawebde Ubuntu,culminael
proceso de Canonical de desarrollar una interfaz que pueda utilizarse en ordenadores de
sobremesa, portátiles, notebooks, tablets y teléfonos inteligentes.
UbuntuTouch se caracterizapor serun sistemadiseñadoparaplataformasmóviles.Algunasde sus
características más destacadas son:
Pantallade iniciosinsistemade bloqueo/desbloqueo(que funcionacon un nuevosistema
de gestos, y que se aprovecha para mostrar notificaciones).
Aplicaciones en segundo plano.
Integración con Ubuntu One.
TENDENCIA DE LOS SISTEMAS OPERATIVOS PARA MÓVIL
11. Figura 7.- Tendencia de los sistemas operativos para dispositivos móviles
Como podemosobservarenlagráfica de la Figura 7, iOSse mantiene firme yconstante ensu54%
de mercado,demostrandoque sususuariosson fielesala marca. Sin embargo,podemosobservar
también como Java ME se ha desplomado desde el 12% a un 3,9%, porcentaje que se ha llevado
Android que pasa de un 25% a un 35% en un año.
Figura 8.-Tendencia de los sistemas operativos para dispositivos móviles con menor impacto
En cuanto a los SO más discretos, BlackBerry y Symbianse mantienen estables en su 1,5% y 3,1%
respectivamente, a pesar de sus altibajos anuales.
ARQUITECTURA DE UN SMARTPHONE
Bianco (2005) menciona tres componentes principales:
La unidad central de proceso (CPU, es la encargada de llevar a cabo las operacionesaritméticas
y lógicas, es decir, el procesamiento de la información.), una unidad de memoria de
almacenamiento permanente (contiene el sistema operativocontodosloselementosnecesarios
para su funcionamiento: archivos de inicio del sistema, drivers y aplicaciones que vienen desde
12. fábrica.) y una unidad de memoria RAM (s exclusivamente para la ejecución del sistema
operativo y aplicaciones). Véase la figura 1.1.
CONECTIVIDAD
La conectividad hoy en día es muy importante ya que para sacar el máximo partido a todas
las funcionalidades que ofrecen cada uno de los dispositivos móviles es indispensable contar
conacceso aInternet.Eneste sentido,se valora enormementeelhechode quecuentenconacceso
WiFi, así como conectividad 3G que permitan conectarse a internet desde cualquier lugar.
Estas sonalgunasopcionesde conectividad:
TCP/IPConcable
Cable al PC: Altavelocidad,conectividadsoncosto,(USB).
Modem:Velocidad56 kbit/s,costoporplan.
TCP/IPsincables
Wi-fi:Velocidad54 Mbits/s,Costoaplicaporel acceso a la Wi-fi
Wman: Velocidad2Mbits/s,CostoplanWiMax.
Redcelular:Velocidad28Kbits/s
Otros
Cable Serial/USB
13. Bluetooth
Infrarrojo
CONCLUSIONES
En la actualidad,el desarrollode aplicacionesmóvilesse haconvertidoenungran negocio.Debido
a lautilizaciónmasivade teléfonosmóvilesyteléfonosinteligentes,muchasempresashanpercibido
el valor de este negocio en el proceso de desarrollo de aplicaciones móviles. Estas aplicaciones
pueden ser preinstaladas en los dispositivos móviles o se pueden descargar por el usuario final de
plataformas de distribución móviles diferentes.
Se debe tenerencuentaque eldesarrollode software paradispositivosmóvilesrequierede algunas
técnicasde especialconsideracióndebidoalasrestriccionesde hardware ysoftwarequeposeenlos
dispositivosactuales.Entre esastécnicasdestacoaquellasligadasal usoeficientede losrecursosde
memoriade ejecución,de almacenamiento,usodel espaciode visualizaciónymétodosde entrada
de datos.
En la realizaciónde estamonografíaconocimosmássobre el ámbitode Tecnológicode losfamosos
hoy en día dispositivos móviles. También descubrimos los diversos sistemas operativos, sus
arquitecturas y sus sistemas gestores de bases de datos. Ahora es cuando se entiende que el
software para diseñar dichas aplicaciones móviles es muy variado tenemos opciones que nos
permitenlacreaciónde cadaunade ellasconcaracterísticaspersonalizablesyadaptadasanuestras
necesidadesparaestosolo se necesitaconocercon que herramientastrabajaremos,cual esla que
mejor se adapta, la de mayor practicidad, más utilizada y de menor complejidad.
El desarrollo de una aplicación móvil no es una tarea sencilla. Los diseñadores de aplicaciones
móvilesydesarrolladoresque enfrentanmuchosobstáculosydesafíosparadesarrollaraplicaciones
de usuario orientada a que son compatibles con cualquier dispositivo de teléfono inteligente