Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 74

1

INSTITUTO TECNOLÓGICO DE
ORIZABA

Tópicos Avanzados de Programación

Ing. En Sistemas Computacionales

INVESTIGACIÓN UNIDAD 5.
Programación de dispositivos móviles.

INTEGRANTES:

Castillo Solis Luis Angel


Mata Hermenegildo José Eduardo
Flores Dominguez Angel Gabriel
Jiménez de los Santos Luis
Bello Lezama Manuel - 21010924
Gonzalo Rey Hernández Saucedo – 19011366
Fecha de entrega: 08/05/2023

CATEDRÁTICO: MARCO ANTONIO VAZQUEZ ROMERO


INDICE

4g2C – Horario de clase: Lunes a Viernes de


Unidad 5 Programación de dispositivos móviles.

2 6:00-7:00 pm.
TEMA PAGINA

Introducción………………………………………………………………………….....3

antecedentes……………………………………………………………………..…….4

5.1. Introducción a las tecnologías y herramientas móviles…..… …………........6

5.2 Clasificación y aplicaciones de los dispositivos móviles. .……………....…. 23

5.3 Entorno operativo de las aplicaciones móviles.……………..…………......…36

5.4 Desarrollo de aplicaciones móviles. …..……………………….……..…….….44

5.5. Aspectos de seguridad. .……………………….……………… ………………..…..56

Glosario……………………………………………………………………….…….....63

Conclusión……………………………………………………………………………..67

Bibliografía……………………………………………………………………………..68

INTRODUCCIÒN

3
La tecnología móvil ha tenido un impacto significativo en nuestra vida diaria en las
últimas décadas. La capacidad de conectarnos y comunicarnos con otros desde
cualquier lugar en cualquier momento ha cambiado la forma en que trabajamos,
socializamos y nos entretenemos. La programación de dispositivos móviles es una
habilidad vital en el mundo actual de la tecnología y la información.

Este documento de investigación explorará los antecedentes históricos de la


programación de dispositivos móviles y examinará las tecnologías y herramientas
móviles actuales, la clasificación y las aplicaciones de los dispositivos móviles, el
entorno operativo de las aplicaciones móviles, el desarrollo de aplicaciones móviles
y los aspectos de seguridad.

En la actualidad, los dispositivos móviles se han convertido en una parte


fundamental de nuestras vidas.

Estos dispositivos nos permiten estar conectados con el mundo, realizar tareas,
jugar juegos y mucho más, todo desde la comodidad de nuestras manos. Como
resultado, el desarrollo de aplicaciones móviles se ha convertido en una industria en
constante crecimiento.

Este trabajo tiene como objetivo proporcionar una investigación en profundidad


sobre la programación de dispositivos móviles.

Se examinarán los antecedentes históricos de la programación móvil y se


proporcionará información detallada sobre las tecnologías y herramientas utilizadas
en el desarrollo de aplicaciones móviles. También se discutirá la clasificación y las
aplicaciones de los dispositivos móviles, el entorno operativo de las aplicaciones
móviles, el desarrollo de aplicaciones móviles y los aspectos de seguridad que
deben tenerse en cuenta.

El objetivo de este trabajo es proporcionar una comprensión completa de la


programación de dispositivos móviles, desde la conceptualización hasta la

4
implementación, para que los lectores puedan estar al tanto de las últimas
tendencias en esta industria en constante evolución.

 Es un programa en ejecución, tiene su propio estado independiente del


estado de Proceso es una actividad asíncrona susceptible de ser asignada a

ANTECEDENTES

Los dispositivos móviles han evolucionado significativamente desde su creación en


la década de 1970. Los primeros teléfonos móviles eran grandes y voluminosos,
con una batería de corta duración y limitadas capacidades de comunicación.

Fue a mediados de la década de 1990 cuando los teléfonos móviles comenzaron a


ser más accesibles para el consumidor promedio. El primer teléfono inteligente fue
el IBM Simon, que se lanzó en 1993 y contaba con capacidades de correo
electrónico, fax y navegación web básica.

A medida que los teléfonos móviles se volvieron más populares, también lo hicieron
las aplicaciones móviles.

En la década de 2000, se desarrollaron los primeros sistemas operativos móviles,


como Symbian y Windows Mobile, lo que permitió a los desarrolladores crear
aplicaciones móviles más avanzadas. Con el lanzamiento del iPhone en 2007 y la
creación del sistema operativo iOS de Apple, se inició una revolución en las
aplicaciones móviles.

Hoy en día, los dispositivos móviles se han convertido en una parte integral de la
vida diaria, con una amplia variedad de aplicaciones disponibles para realizar
tareas como la comunicación, el entretenimiento, el comercio electrónico y la
productividad.

La historia de la programación de dispositivos móviles se remonta a la década de


1990, cuando los primeros dispositivos móviles empezaron a aparecer en el
mercado. En ese momento, la programación móvil estaba limitada a la creación de
aplicaciones para dispositivos como el Palm Pilot y el BlackBerry.

5
Sin embargo, con la introducción del iPhone de Apple en 2007, la programación
móvil cambió para siempre.

El iPhone introdujo el concepto de aplicaciones móviles, lo que permitió a los


desarrolladores crear aplicaciones para dispositivos móviles que podían ser
descargadas y utilizadas por los usuarios.

Desde entonces, la programación móvil se ha expandido a una variedad de


dispositivos, incluyendo tabletas, relojes inteligentes y televisores inteligentes.

Hoy en día, la programación móvil es una industria en constante crecimiento. Se


espera que el número de dispositivos móviles alcance los 9.000 millones en todo el
mundo para 2022, lo que significa que la demanda de aplicaciones móviles seguirá
siendo alta.

La programación de dispositivos móviles es un tema relativamente nuevo en la


historia de la informática, ya que los dispositivos móviles y las aplicaciones móviles
se han vuelto populares solo en las últimas décadas.

Sin embargo, hay algunos antecedentes históricos importantes que han contribuido
al desarrollo de la programación de dispositivos móviles, los cuales incluyen:

 Desarrollo de dispositivos móviles: El primer dispositivo móvil fue creado por


Motorola en 1973, llamado DynaTAC 8000X, pero no fue hasta la década de
1990 que los dispositivos móviles comenzaron a popularizarse. En 2007, el
iPhone de Apple revolucionó la industria y estableció las bases para los
dispositivos móviles modernos.

 Desarrollo de lenguajes de programación: Los lenguajes de programación


para dispositivos móviles se han desarrollado a lo largo de las últimas
décadas. Uno de los primeros fue el lenguaje WML (Wireless Markup
Language) que se usaba para crear páginas web para dispositivos móviles.
Luego surgieron lenguajes como J2ME (Java 2 Micro Edition) y BREW
(Binary Runtime Environment for Wireless) que permitían a los
desarrolladores crear aplicaciones móviles.

 Desarrollo de plataformas móviles: A medida que los dispositivos móviles se

6
volvían más populares, surgieron diferentes plataformas móviles, como
Android, iOS y Windows Mobile. Cada plataforma requería diferentes
lenguajes de programación y herramientas de desarrollo.

 Auge de las aplicaciones móviles: Con el auge de las aplicaciones móviles


en la década de 2010, la programación de dispositivos móviles se volvió
cada vez más importante. Las aplicaciones móviles se convirtieron en una
forma popular de consumir contenido y realizar transacciones, lo que llevó a
un aumento en la demanda de desarrolladores móviles.

En resumen, la programación de dispositivos móviles es un campo que ha


evolucionado rápidamente en las últimas décadas, gracias al desarrollo de
dispositivos móviles, lenguajes de programación, plataformas móviles y la
popularidad de las aplicaciones móviles.

5.1. Introducción a las tecnologías y herramientas móviles.

La creciente popularidad de los dispositivos móviles, como teléfonos inteligentes y


tabletas, ha llevado a un aumento en la demanda de aplicaciones móviles y ha
impulsado el desarrollo de nuevas tecnologías y herramientas para crearlas.

En este sentido, la programación de dispositivos móviles implica el uso de lenguajes


de programación, marcos de trabajo, SDKs y APIs específicos para crear
aplicaciones que se ejecutan en dispositivos móviles. Además, existen diferentes
enfoques para el desarrollo de aplicaciones móviles, como el desarrollo nativo, el
desarrollo híbrido y el desarrollo web.

El desarrollo nativo implica la creación de aplicaciones utilizando lenguajes de


programación específicos de la plataforma, como Java para Android o Swift para
iOS. Este enfoque ofrece un alto rendimiento y una mayor integración con las
funciones del dispositivo, pero puede ser costoso y requiere desarrollar diferentes
versiones de la aplicación para cada plataforma.

El desarrollo híbrido combina tecnologías web y nativas para crear aplicaciones que
pueden ser ejecutadas en múltiples plataformas. Las herramientas de desarrollo
híbridas, como PhoneGap y Xamarin, permiten que los desarrolladores creen una
sola base de código que se pueda utilizar en múltiples plataformas.

7
El desarrollo web, por otro lado, implica la creación de aplicaciones que se ejecutan
en un navegador móvil. Esto puede ser más fácil y más económico que el desarrollo
nativo, pero puede tener limitaciones en términos de funcionalidad y rendimiento.

En cuanto a las herramientas de desarrollo móvil, existen varias opciones


disponibles. Por ejemplo, Android Studio es una herramienta de desarrollo para
Android que incluye un editor de código, un depurador y un emulador de
dispositivos. Xcode es una herramienta de desarrollo para iOS que incluye un editor
de código, un depurador y un simulador de dispositivos.

Otras herramientas y tecnologías importantes en el desarrollo de aplicaciones


móviles incluyen APIs para la integración de servicios web y bases de datos, marcos
de trabajo como React Native para el desarrollo híbrido, y herramientas de pruebas
automatizadas para garantizar la calidad y el rendimiento de las aplicaciones
móviles.

En conclusión, la introducción a las tecnologías y herramientas móviles es esencial


para cualquier persona interesada en el desarrollo de aplicaciones móviles. Con la
creciente demanda de aplicaciones móviles, se espera que las tecnologías y
herramientas móviles continúen evolucionando y mejorando en el futuro.

Dispositivo móvil (mobile device), también conocido como computadora de bolsillo o


computadora de mano (palmtop o handheld), es un tipo de computadora de tamaño
pequeño, con capacidades de procesamiento, con conexión a Internet ,
con memoria, diseñado específicamente para una función, pero que pueden llevar a
cabo otras funciones más generales.

8
Hoy en día podemos encontrar una multitud de dispositivos móviles, donde los
teléfonos móviles y los PDAs son los tipos de dispositivos más utilizados y conocidos
en la actualidad, los que ofrecen mayor variedad de aplicaciones multimedia y los
que más posibilidades de evolución presentan en este sentido.
Una característica importante es el concepto de movilidad, los dispositivos móviles
son pequeños para poder portarse y ser fácilmente empleados durante su
transporte. En muchas ocasiones pueden ser sincronizados con algún sistema de la
computadora para actualizar aplicaciones y datos con algunas capacidades de
procesamiento, con conexión permanente o intermitente a una red, con memoria
limitada, diseñados específicamente para una función pero que pueden llevar a cabo
otras más generales. La mayoría de estos aparatos pueden ser transportados en el
bolsillo del propietario y otros están integrados dentro de otros mayores, controlando
su funcionalidad (como puede ser el ordenador integrado en una lavadora). un
dispositivo móvil no solamente son celulares.

La generalización en los últimos años de teléfonos móviles, smartphones, PDs,


etc. ha generado una importante necesidad de aplicaciones para este tipo de
dispositivos.

Las prestaciones de los dispositivos móviles se incrementan día a día, posibilit


ando la implementación de aplicaciones muy interesantes tales como:

* Acceso a Internet y conectividad mediante Bluetooth


* Envío de mensajes cortos

9
Es el conjunto de conocimientos técnicos, ordenados científicamente, que permiten
diseñar y crear bienes y servicios que facilitan la adaptación al medio ambiente y
satisfacer tanto las necesidades esenciales como los deseos de las personas.

En 1983, aparecieron en el mercado los primeros teléfonos celulares que podían


llevarse a todos lados.

Hace una década aproximadamente los teléfonos celulares se caracterizaban sólo


por la función de llamada.

La evolución que ha tenido es la de poder hablar de equipos Multimedia que puede


llamar y ejecutar aplicaciones, jugar juegos 3D, ver videos, ver televisión y muchas
cosas más.

Todos los celulares cuentan con protocolos, software, sistemas operativos y


tecnologías diferentes.

Los dispositivos móviles son aparatos de pequeño tamaño, con algunas


capacidades de procesamiento, móviles o no, con conexión permanente o
intermitente a una red, con memoria limitada, diseñados específicamente para una
función.

Algunas de las aplicaciones más representativas son:

Coins
Aplicación que permite llevar la cuenta de las monedas de cada denominación
almacenadas en una alcancía, así como el total acumulado.

Books.
Aplicación que permite registrar los libros de una biblioteca personal.

Music.
Aplicación que permite registrar los discos de una colección personal

Categorías de dispositivos móviles

10
Dispositivo Móvil de Datos Limitados
Dispositivos que tienen una pantalla pequeña, principalmente basada en pantalla de
tipo texto con servicios de datos generalmente limitados a SMS.

Dispositivo Móvil de Datos Básicos


Dispositivos que tienen una pantalla de mediano tamaño, menú o navegación
basada en íconos por medio de una "rueda" o cursor, y que ofrecen acceso a e-
mails, lista de direcciones, SMS, y un navegador web básico.

Dispositivo Móvil de Datos Mejorados


Dispositivos que tienen pantallas de medianas a grandes más aplicaciones nativas
como
aplicaciones de Microsoft Office internet entre otras mas.

11
Los recientes avances de las tecnologías de hardware, software y
telecomunicaciones, están alimentando una nueva generación de sistemas o
herramientas tecnológicas que están generando un gran impacto dentro del sector
empresarial. Estas nuevas herramientas permiten a usuarios con dispositivos
móviles conectarse a Internet a gran velocidad a través de la propia red de
comunicación móvil o a través de redes locales inalámbricas.

Dentro de este nuevo escenario, el término “Tecnología móvil” hace referencia al


conjunto de dispositivos y herramientas que nos dan la posibilidad de realizar una
actividad determinada de manera ubicua, que normalmente se refiere a un espacio
físico, en otro lugar.

Estos avances tecnológicos han impulsado a la Sociedad actual a inclinarse con una
confianza creciente hacia las distintas posibilidades de explotar servicios antes
desconocidos, como puede ser el comercio electrónico, el cual está demostrando las
innumerables ventajas que este puede aportar al crecimiento económico. El
requerimiento de la población de la sociedad en cuanto al acceso remoto a la
información contenida en bases de datos también ha mostrado una evolución
creciente, por lo tanto es de interés estudiar y aportar soluciones a medida para
brindar servicios que permitan satisfacer estos requerimientos de información.

La utilización del teléfono móvil ha traspasado fronteras inimaginables hace unos


años atrás. Aportando la libertad de la “no dependencia” de cables para que las
personas puedan comunicarse o acceder a Internet en casi cualquier lugar.

Dentro de un escenario corporativo, las tecnologías móviles permiten llevar a cabo


tareas sin estar en la oficina, y poder efectuar múltiples actividades, favoreciendo el
teletrabajo y dando solución a uno de los mayores ‘canceres’ de esta sociedad, la
baja productividad.

12
Existen muchas herramientas y tipos de dispositivos móviles que permiten el acceso
a la web:

Los teléfonos móviles cada vez incluyen más funciones, además de la telefonía y el
envío de mensajes de texto, como juegos, aplicaciones, cámara de fotos,
conectividad web, música. Se caracterizan, de forma general, por tener pantallas
pequeñas y teclados no qwerty, aunque las diferencias entre unos aparatos y otros
pueden llegar a ser muy grandes.

Smartphones (móviles con sistema operativo, lo que les habilita para ejecutar
programas) y PDAs (pequeños ordenadores que funcionan a modo de agenda)
ofrecen mayores prestaciones que los anteriores: pantallas táctiles y de mayor
tamaño, algunos incorporan teclado alfanumérico y conectividad WiFi. La aparición
del iPhone de Apple en el mercado supuso una revolución para esta familia de
dispositivos, que se han popularizado enormemente en los últimos años. Muchos de
los nuevos smartphones tienen un diseño similar al iPhone, incorporan pantalla táctil
y la posibilidad de incorporar aplicaciones.

MID (Mobile Internet Device) y PC ultra-móvil son los términos más frecuentes para
designar a los pequeños ordenadores de mano pensados para la navegación. Las
nuevas tablets o tabletas, de las que tanto se está hablando este año con el
lanzamiento del iPad de Apple y otros aparatos muy similares de otras compañías,
prometen popularizar estos dispositivos y dotarlos de más funcionalidades.

Videoconsolas portátiles como la PSP (PlayStation Portable) de Sony, incorporan


conexión a internet WiFi y navegación. Sin embargo, las dificultades para la
navegación hacen que la conexión web desde estos dispositivos sea muy residual.

13
Algunos lectores de libros electrónicos incorporan conectividad WiFi con la finalidad
principal de descargar libros, RSS o noticias.

Otros dispositivos, como el iPod Touch de Apple, similar al iPhone pero sin opciones
de telefonía.

EVOLUCIÓN DE LOS IVOS MÓVILESDISPOSIT


La generación 0G se desarrollo a finales de los años 40 en Estados Unidos esta
generación es la que fue previa a la del celular. Los sistemas de radio que se
utilizaban eran de modulación en amplitud (AM) y la de frecuencia modulada
(FM).Los sistemas de FM tenían mayor calidad de audio y resistencia a las
interferenciasel servicio se daba en las bandas de HF (high frecuency) y VHF (very
high frecuency).
Ahora pasaremos a hablar sobre la telefonía móvil 1G, es tecnología analógica
desde 1970 y entro en servicio en 1981, fue basada solo en el trafico de voz pero
se usa sistemas digitales para conectar a las Radio bases. En 1981 el fabricante
Ericsson lanza el sistema NMT 450 (Nordic Mobile Telephony 450 MHZ) utilizaba
canales de radio analógicos con modulación en frecuencia (FM) fue un gran avance
ya que podían ser trasladado y utilizados por una única persona. Generación 2G
fue el cambio de protocolos de telefonía móvil analógica a digital. Llego en 1990
con la necesidad de tener un mayor manejo de llamadas que contaba con los
mismos espectros de radiofrecuencia. A partir de aquí fue que apareció el servicio
de los SMS el cual poseía una mayor capacidad de envío de datos desde
dispositivo fax o módem.
En el año 2008 llega a Ecuador la generación 3G la cual fue basada en la
transmisión de voz y de datos esta generación tuvo su origen en la Unión
Internacional de telecomunicaciones su principal función era la de prestar el
servicio de Internet por medio de un módem USB o ultra portátiles pero tuvo
problemas con el coste para adquirir las licencias de transmisión y su base
tecnológica no era compatible con los teléfonos móviles.
14
La generación 4G está basada en el protocolo IP, su velocidad era mayor a 300
Mbps.

INTRODUCCIÓN A LAS TECNOLOGÍAS Y HERRAMIENTAS MÓVILES

El término“Tecnología móvil” hace referencia al conjunto de dispositivos y


herramientas que nos dan la posibilidad de realizar una actividad determinada de
manera ubicua, que normalmente se inscribe en un espacio físico, en otro lugar.
Estos avances tecnológicos han impulsado a la Sociedad actual a inclinarse con
una confianza creciente hacia las distintas posibilidades de explotar servicios antes
desconocidos, como puede ser el comercio electrónico, el cual está demostrando
las innumerables ventajas que este puede aportar al crecimiento económico. Los
requerimientos de la población de la sociedad en cuanto al acceso remoto a la
información contenida en bases de datos también ha mostrado una evolución
creciente, por lo tanto es de interés estudiar y aportar soluciones a medida para
brindar servicios que permitan satisfacer estos requerimientos de información.
La utilización del teléfono móvil ha traspasado fronteras inimaginables hace unos
años atrás. Aportando la libertad de la ”no dependencia” de cables para que las
personas puedan comunicarse o acceder a Internet en casi cualquier lugar.
Dentro de un escenario corporativo, las tecnologías móviles permiten llevar a cabo
tareas sin estar en la oficina, y poder efectuar múltiples actividades, favoreciendo el
teletrabajo y dando solución a uno de los mayores ‘canceres’ de esta sociedad, la
baja productividad.

TECNOLOGÍAS EMERGENTES

Tecnologías emergentes o tecnologías convergentes son términos usados


indistintamente para señalar la emergencia y convergencia de nuevas tecnologías,
con potencial de demostrarse como tecnologías disruptivas. Entre ellas, se
encuentran nanotecnología, la biotecnología , las tecnologías de la información y la
comunicación, la ciencia cognitiva, la robótica, y la inteligencia artificial.
Quienes abogan por los beneficios del cambio tecnológico usualmente ven a las
tecnologías emergentes y convergentes como una esperanza que ofrecerá la
mejora de la condición humana. Sin embargo, algunos críticos de los riesgos del
cambio tecnológico, e incluso algunos activistas del transhumanismo como Nick
Bostrom, han advertido que algunas de estas tecnologías podrían significar un
peligro, incluso al punto de amenazar la supervivencia de la humanidad.
15
La tecnología evoluciona y se transforma, el campo de las ciencias de la
información es por ende uno dinámico y en constante cambio. Es necesario
conocer las tendencias y usos de las herramientas tecnológicas para ofrecer
servicios adecuados a la comunidad que servimos.
La Comunidad de Práctica para la Integración de Tecnologías Emergentes ofrecerá
una ventana a algunos de los términos y tecnologías principales que se vislumbran
en los servicios de información para la nueva década.

TECNOLOGÍA DE CLIENTES LIGEROS: TECNOLOGÍA INALAMBRICA, REDES


DE DATOS DE RADIO, TECNOLOGÍA DE MICROONDAS, REDES DE RADIO
MÓVIL ASISTENTES PERSONALES DIGITALES, TARJETAS INTELIGENTES

Tecnología De Clientes Ligeros


Tecnologías móviles permitiendo a la gente a sentir lo que es comodidad.
estos días, usted puede encontrar una respuesta enorme entre la gente acerca de
las tecnologías móviles.Estos avances tecnológicos han logrado que nuestra vida
mucho más fácil, cómodo y suave.
En términos de comunicación con los demás, gente utiliza dependiendo de los
teléfonos fijos antes y había un montón de molestias en ese procedimiento.
Pero la invención de las tecnologías móviles han logrado eliminar estos problemas
con éxito y se han vuelto tan populares en todo el mundo en un tiempo muy inferior.
Estos días, usted puede encontrar varios teléfonos móviles con personas que se
utilizan para facilitar el nivel de comunicación para las personas.
pero estas son las tecnologías utilizadas por diferentes empresas móviles ahora
que están haciendo cosas mirar más fácil para las personas cuando están tratando
de conectarse con otros, incluso cuando se encuentran en la otra parte del mundo.
por lo tanto, ahora puede aprovechar estas tecnologías móviles y mejorar su estilo
de vida.
Programación a través de windows live en teléfono móvil.
Windows live es un programa que se hace para ayudar en la programación.
A través de este programa los usuarios son capaces de entrar en sus apretadas
agendas y actuar sobre ellas.
Las fechas y acciones pudieran ser grabadas para uso futuro en el móvil.
Actividad anterior puede almacenarse en windows live y revisado en el futuro.
De esta manera es fácil de supervisar las actividades de rutinarias a través de este
programa.
Los usuarios entrar en detalles de su rutina en este programa y consultarse para
obtener buenos resultados.
16
Los usuarios son capaces de mantenerse a salvo de saltar cualquier acción
importante cuando están utilizando windows live para la programación.
Temas están disponibles en este programa a través del cual los horarios podrían
hacerse para acciones fáciles.
Android, una mayor ayuda de los desarrolladores para escribir los programas de
aplicación, que se ha utilizado para la mejor funcionalidad de los dispositivos
móviles.
Sin embargo, ¿cómo la tecnología móvil cambia este mundo?
En general, permanecer en el contacto con la oficina, la familia y amigos es muy
muy sencillo.
Esto ahora es muy simple ser actualizada con nueva información, compartir las
fotos así como comunicarse con los seres queridos de los rincones de este mundo.
Requisitos de los individuos fueron nuevamente menor que los individuos del siglo.
Ahora, es una época de los dispositivos electrónicos que operan mediante códigos
y micro chips.
Tecnología Inalambrica
Tecnologías móviles :cargadas de ventajas y características incontables.
Ahora, usted puede encontrar innumerables características y ventajas dentro de las
tecnologías móviles a través del cual puede administrar definitivamente cualquiera
de su necesidad de ion forma más suave.
Estas características están haciendo sus operaciones cada requisitos tan simples y
eficaces, que pueden obtener ayuda rápida y cualquiera de sus necesidades
fácilmente.
También, puede obtener la oportunidad de acceder a cualquier operación de forma
asequible dentro de su inversión.
Wi-Fi es una de las características más reciente y avanzada a través del cual
puede acceder a cualquier sitio web de internet mediante el uso de este pequeño
gadget.
Sin embargo, la demanda de teléfonos inteligentes también está haciendo varios
cambios vitales en tecnologías móviles a través del cual puede acceder a cualquier
tipo de operación de forma más suave utilizando este pequeño gadget.
Es también cambiar el concepto de dispositivo móvil que puede desarrollar para
facilidad de transporte y acceso fácil con comparación a cualquier dispositivo de
teléfono de la tierra.
En este sentido, sólo necesita hacer buena investigación para escoger el mejor de
gran disponibilidad.
Apoyo a través de windows live en teléfono móvil.
Con la ayuda de windows live programa cualquier persona es capaz de obtener el
17
apoyo necesario en su teléfono.
Los pasos están indicados en la pantalla a través de este programa de asistencia
de los usuarios.
Mucha gente utiliza este programa para diferentes propósitos.
Es el programa vivo de windows fácil de usar para la programación y envío de
mensajes a destinatarios distintos.
Muchos usuarios pueden conectarse a través de este programa en internet.
Este programa proporciona servicios en línea como sin conexión.
A través de diferentes características de windows los usuarios del programa en vivo
son capaces de conseguir todo el apoyo necesario.
Debido al aumento de los beneficios de este programa también está aumentando
su demanda en el mundo.
En el mundo de los negocios, uno varios:
• Usar su teléfono celular para actualizar detalles del cliente aunque están lejos de
la Oficina.
• Los clientes están habilitados para hacer los pagos sin tener que ir en una caja.
Se pagará el buen ejemplo para la cena de las tablas sin tener que ir en escritorio
de cajero.
• El dueño del negocio puede configurar las nuevas cuentas de cliente y verificar
stocks costos de artículo y de accesibilidad.
• El cliente puede realizar los pedidos en internet mediante el uso de teléfonos
móviles con la ayuda de la conectividad a internet.
• Flexibilidad para trabajar desde casa y en carretera se hace simple.
Redes De Datos De Radio
Tecnologías móviles: hay siempre una necesidad de esto.
Si usted está buscando a uno de los mejores y las tecnologías más aceptadas que
ha cambiado la función para todo el mundo, entonces deberías considerar recoger
más detalles acerca de las tecnologías móviles.
Esto ha sido considerado como una de las mejores tecnologías en este mundo que
ha permitido recibir tantas comodidades que incluso ha hecho una gran diferencia
para nuestro estilo de vida y cómo la utilizamos para comunicarse con otros.
Es las tecnologías móviles que han pasado por varias modificaciones y cambios, y
realmente ha avanzado mucho.
Y el factor más importante asociado a las tecnologías móviles es que esto nos ha
ofrecido algo que podemos utilizar durante mucho tiempo.
Las tecnologías móviles no se pierda tan fácilmente, que más bien es cada vez
más avanzada con el tiempo.
Si se busca la etapa inicial, entonces usted puede encontrar que las tecnologías
18
móviles han avanzado mucho y parecen ser más avanzado hoy en día.
Diferentes versiones del reproductor multimedia en el móvil.
Media player está disponible en diferentes versiones de los teléfonos móviles.
Diferentes versiones están disponibles para este programa para que los usuarios
pueden obtener los resultados deseados.
Muchos formatos de archivos pueden ser operados a través de este programa.
Usuario es capaz de establecer este programa como reproductor predeterminado
para muchos tipos de archivos. Media player es fácil de ser utilizado y disponible
para los usuarios.
Es posible utilizar modos online para la descarga de este programa.
A través de este programa cualquier persona es capaz de reproducir archivos de
audio y video.
Los usuarios son capaces de hacer una selección de un gran número de versiones
de media player e instalar este programa en cualquier momento.
La tecnología móvil ha cambiado internet sólo por contribuir al importante
crecimiento del mundo de la internet en un montón de diferentes métodos.
Los dispositivos móviles hoy en día son muy diferentes de los que se utilizan
décadas antes.
También presentan el aspecto creativo e inducida por la comunicación entre
dispositivos, la gestión de datos.
La tecnología móvil también está mejorando altamente debido a la premisa básica,
los teléfonos celulares son sólo los dispositivos que nos sentimos muy cómodos
para llevar dondequiera que realmente vamos consiguiendo comunicados con otros
todos los tiempos.
Tecnología De Microondas
Hay muchas tecnologías avanzadas que ofrece a este mundo de la actualidad
inventos y mejoras técnicas.
Pero el tipo de tecnologías móviles de respuesta han logrado recibir desde sus
inicios parece ser realmente increíble.
Desde el principio, las tecnologías móviles han logrado mantener la atención del
resto del mundo y en un tiempo muy inferior.
¿Por qué?
Así, la cantidad de connivencias ofrecidas por las tecnologías móviles ha hecho
esto posible.
Ha logrado que el nivel de comunicación todo mejor, más conveniente y eficaz en
todo el mundo.
Todo lo que necesita para mantener un teléfono móvil y son para llamar a
cualquiera a pesar de que él o ella vive en este mundo.
19
Esto es tan simple y esto es lo que hace a las tecnologías móviles más aceptado y
admirado en todo el mundo.
Parece que la gente no puede permanecer o vivir sin las tecnologías móviles.
Rendimiento de calidad a través de media player.
Media player es útil para obtener los mejores resultados en un período de tiempo
corto.
Rendimiento de este programa está mejorando con el tiempo debido a diferentes
tipos de actualizaciones en nuestro teléfono móvil.
Insignia de este programa es reconocida por muchas personas.
Esto es debido a aumento en la demanda de media player.
Los usuarios de este programa se están extendiendo en el mundo y están
contentos con los resultados.
Lista de archivos está presente en este programa y se pudieran guardar muchos
archivos en la lista de reproducción.
Usuario es capaz de cargar los tipos de archivo que son compatibles con windows
media player para facilitar las operaciones y funciones con un rendimiento de
calidad.
Las tecnologías emergentes son:
Wi-Fi:
La fidelidad inalámbrica es todo en el dispositivo móvil desde hace varios años y es
la demanda de tecnologías móviles en los teléfonos inteligentes.
Al principio, portadores de operador eran una única opción para acceder a internet
desde los dispositivos móviles.
Era costoso y lento para usuario y después de la introducción de la tecnología Wi-Fi
en dispositivos de teléfono celular, los usuarios pueden muy fácilmente conectar a
las redes del hogar y la oficina, así como tener acceso a internet muy rápido e
ininterrumpido.
Esto elimina costo para red de acceso, así como es más rápido que hacer uso de
signos de portador del operador.
Redes De Radio Movil
Tecnologías móviles: ofrece aumento de oportunidad en cuanto a la salud.
La combinación de tecnologías móviles, así como aplicaciones es una oportunidad
de aumento con respecto a la salud.
No hay niega la faceta innata de la tecnología móvil contemporánea.
De una investigación se encontró que uso neto móvil está creciendo más
rápidamente que los usos de la web de escritorio.
Los fundamentos de este aumento en el uso de la web móvil pueden parecer
manifiesto en la primera.
20
Entre la tecnología informática, herramientas de informática móvil suelen ser de
fácil acceso que los hacen muy útiles.
La gran cantidad de aplicaciones descargables dedicados, a menudo accesibles a
bajo costo, mejora la eficacia de este dispositivo aún más.
De hecho, las tecnologías móviles tienen capacidad masiva como una herramienta
para apoyar la transformación de comportamiento saludable, para mejorar la
afiliación de cuidador-paciente, y remodelar el salud de enfoque se entrega en
diferentes naciones del mundo.
Tecnología móvil se ha utilizado ya para apoyar cambios de estilo de vida, motivar
la participación activa del paciente en su tratamiento, así como disminuir los
tiempos de espera en el consultorio del médico con o objetivo mejorar los
resultados sanitarios.
Pieles en media player.
Media player está disponible en muchos aspectos para su teléfono móvil.
Estos aspectos son útiles para obtener las funciones deseadas y visibilidad.
Muchos skins se construyen en los usuarios y también puede descargar desde
internet.
Con la ayuda de medios de comunicación los usuarios player son capaces de
reproducir muchos tipos de archivos.
Icono de este programa se puede guardar en el escritorio después de la instalación.
Ubicación de este programa puede seleccionarse durante la instalación.
Configuración de este programa se podría controlar y supervisar en cualquier
momento para obtener los resultados deseados en forma de rendimiento de
primera clase de archivos que se pueden reproducir a través de windows media
player.
NFC: Near Field Communication, permite a los dispositivos similares para
comunicarse en caso de que, son cerca de otros.
La tecnología también permite a la rápida transferencia de datos entre los
dispositivos.
Esto se utiliza en los servicios de comercio como Google Wallet que se utiliza para
las transacciones en línea. Se supone que el suplemento de los pagos móviles.
Códigos QR: códigos de respuesta rápida pueden ser 2 matrices dimensionales del
patrón que asemejan el crucigrama.
Los patrones tienen información incrustada que se descodifica usando el
decodificador de QR que está presente en todos los teléfonos inteligentes
accesibles en un mercado.
Toda esta información sólo flota en la pantalla del navegador del dispositivo
mediante el análisis de un código.
21
Asistentes Personales Digitales
Tecnologías móviles: hechas a nivel de comunicación más fácil y mejor.
En cuanto a las tecnologías móviles, realmente han logrado llamar la atención de la
mayoría en todo el mundo.
Con compasión a los otros desarrollos tecnológicos ocurriendo o ha ocurrido en
todo el mundo, las tecnologías móviles han logrado ser realmente muy popular en
un tiempo muy inferior.
¿Por qué? ¿Has probado alguna vez a entender la verdadera razón detrás de tal
ración de aceptación de las tecnologías móviles?
Bien, estas tecnologías ofrecieron nosotros algo que nos podemos animar un
tiempo largo en nuestra vida.
Incluso nuestras generaciones más tendrá la ayuda de esta plataforma única para
mantenerse conectados entre sí.
Debido a esta gente ahora siente los convenientes modos de estar conectados
entre sí y con sus familiares.
Ahora están conectados de una mejor manera con sus seres queridos y habrá casi
nadie en esta tierra que vivirá para ignorar este nivel de comunicación.
Características de los medios de comunicación.
Windows media es un programa que se hace para el funcionamiento de distintos
tipos de archivos en nuestro teléfono móvil.
Hay muchos formatos de archivos que son compatibles con este software.
Los usuarios son capaces de cargar los archivos deseados y operar con ellos
fácilmente en este programa.
Instalación de windows media tiene un período de tiempo corto y los usuarios son
capaces de empezar a usarlo.
Se proporcionan instrucciones en línea para la asistencia de los usuarios.
A través de estas instrucciones es posible realizar las acciones necesarias y
obtener los resultados para entretenimiento y disfrute.
Windows media se puede definir como un reproductor predeterminado para
archivos de audio y vídeo.
Esto ayudará a los usuarios para reproducir los archivos fácilmente y con diversión.
Bluetooth 3.0:

Se ha introducido la tecnología aumentando la transferencia de datos a la velocidad


entre los dispositivos móviles y otros dispositivos para tener la facilidad de
Bluetooth. V2.0 convencionales que envía los datos a la velocidad de 3 Mbps, el
Bluetooth 3.0 puede transferir los datos de 480 Mbps en las inmediaciones, así
como 100 Mbps en un rango de 8 a 10 metros.
22
Ya que es al revés compatible, por lo tanto los dispositivos con la versión inferior
del Bluetooth puede comunicarse con dispositivos con la versión actualizada que es
3.0.
Así, para dar el sentido de los botones en el touch dispositivo sensible también da
la sensación natural de usuario escriba prácticamente.
Las aplicaciones de iOS y dispositivos son buen ejemplo de la misma.
Tarjetas Inteligentes

Tecnologías móviles: creación de empleos en todo el mundo.


En cuanto a las tecnologías móviles, han logrado hacer nuestra vida más sencilla
que nunca.

Estos días, usted puede encontrar muchas empresas móviles entra en la imagen
que utilizan estas tecnologías móviles en conseguir de orden más clientes y
haciendo nuestro nivel de comunicación más fácil y menos molestia.
Una de las principales ventajas ofrecidas por estas tecnologías móviles es que ha
conseguido que nuestros medios de comunicación más fácil que nunca y no lo ha
permanecido como intenta ponerse en contacto con alguien a través de teléfonos
fijos.
Esto también ha creado muchas oportunidades de empleo para este mundo.
debido a la creciente demanda de tecnologías móviles, muchas empresas están
uniendo ahora a este negocio y esto es lo que propulsa para contratar personas
calificadas y con experiencia para mantener todo el sistema mejor.
Debido a esto también se crean muchas oportunidades de empleo por las
tecnologías móviles.
Windows media para archivos de vídeo.
Archivos de vídeo de diferentes tipos podrían ser escuchados a través de windows
media.
Este programa es capaz de soportar muchos tipos de formatos para que los
usuarios pueden disfrutar de los vídeos de su elección.
Usuario es capaz de detener la película, para tomar un descanso.
Reenvío y backwarding también están disponibles a través de windows media para
obtener resultados eficaces.
Todas las funciones básicas y avanzadas están disponibles para los usuarios de
este programa.

Muchos temas están disponibles en este programa para que los amantes del cine
podrían utilizar los atractivos temas de su elección.
23
Windows media es útil para la reproducción de un lote de archivos de vídeo que se
puede disfrutar cuando sea necesario sin ningún tipo de problemas.

Tecnología háptica: Esto da la sensación de tacto real a los usuarios mediante el


uso de los dispositivos de pantalla táctil por vibraciones o bien movimientos en un
dispositivo.

Las personas parecen tener la percepción de la capacidad de escribir mediante


botones reales.

Identificación de ubicación: comprenden los nuevos dispositivos también se


introdujo en el mercado de GPS que permite localizar el dispositivo y permite
encontrar direcciones, ubicación, distancia y así sucesivamente utilizando
diferentes aplicaciones.

También, hay algo muy nuevo y chocante conseguir desarrollado y será la gama de
anticipado “Google Glass” a la manera de montar más procesadores en el
dispositivo móvil.

Ventajas:

 La introducción a las tecnologías y herramientas móviles permite a los


desarrolladores comprender mejor cómo funcionan los dispositivos móviles y
cómo crear aplicaciones optimizadas para ellos.
 La introducción a estas tecnologías también puede ser útil para las personas
que quieren aprender a utilizar mejor sus dispositivos móviles y sacar el
máximo provecho de ellos.

Desventajas:

 La introducción a estas tecnologías puede ser un poco técnica y complicada


para los principiantes, lo que puede desanimarlos de aprender más sobre el
tema.
 Las tecnologías y herramientas móviles están en constante evolución, por lo
que es importante mantenerse actualizado para poder aprovechar al máximo
las nuevas funcionalidades.

24
5.2 Clasificación y aplicaciones de los dispositivos móviles.

Los dispositivos móviles son una categoría amplia que incluye una variedad de
dispositivos electrónicos portátiles, como teléfonos inteligentes, tabletas, relojes
inteligentes y dispositivos de realidad aumentada. Estos dispositivos están
diseñados para permitir a los usuarios acceder a la información, comunicarse,
realizar transacciones y llevar a cabo una amplia gama de tareas mientras se
mueven.

Clasificación de los dispositivos móviles

Los dispositivos móviles se pueden clasificar en diferentes categorías según su


tamaño, características y funcionalidad. A continuación, se describen algunas de
las categorías más comunes de dispositivos móviles:

Teléfonos inteligentes: los teléfonos inteligentes son dispositivos móviles que


combinan funciones de un teléfono con las de una computadora. Los teléfonos
inteligentes suelen tener una pantalla táctil, cámara, conectividad inalámbrica y un
sistema operativo que permite a los usuarios instalar y ejecutar aplicaciones.

Tabletas: las tabletas son dispositivos móviles más grandes que los teléfonos
inteligentes y se utilizan principalmente para la lectura, la navegación por internet,
la visualización de medios y la realización de tareas ligeras. Las tabletas tienen una
pantalla más grande y un procesador más rápido que los teléfonos inteligentes.

Relojes inteligentes: los relojes inteligentes son dispositivos portátiles que se


utilizan principalmente para la comunicación y el seguimiento de la salud y la forma
física. Los relojes inteligentes suelen tener una pantalla pequeña y se utilizan con
frecuencia como una extensión de un teléfono inteligente.

Dispositivos de realidad aumentada: los dispositivos de realidad aumentada son


dispositivos portátiles que permiten a los usuarios ver imágenes y objetos virtuales
en el mundo real. Estos dispositivos incluyen gafas de realidad aumentada y
dispositivos de mano.

Aplicaciones de los dispositivos móviles

25
Los dispositivos móviles se utilizan en una amplia variedad de aplicaciones, desde
la comunicación y el entretenimiento hasta la salud y la educación. Algunas de las
aplicaciones más comunes de los dispositivos móviles incluyen:

Comunicación: los dispositivos móviles se utilizan principalmente para la


comunicación, ya sea a través de llamadas telefónicas, mensajes de texto, correo
electrónico o redes sociales.

Entretenimiento: los dispositivos móviles también se utilizan para el


entretenimiento, como la visualización de videos, la escucha de música y la lectura
de libros electrónicos.

Salud y forma física: los dispositivos móviles se utilizan cada vez más para el
seguimiento de la salud y la forma física, como la medición de la frecuencia
cardíaca, el seguimiento de la actividad física y el monitoreo del sueño.

Educación: los dispositivos móviles también se utilizan en el ámbito educativo,


desde la enseñanza en línea hasta la creación de aplicaciones educativas.

Productividad: los dispositivos móviles también se utilizan para mejorar la


productividad, como el acceso a correo electrónico y documentos en línea, la
realización de reuniones virtuales y la gestión de tareas y proyectos.

Existen diferentes formas y criterios para clasificar los distintos dispositivos móviles
que existen, una de estas formas de clasificación, es la de agruparlos según la
función que desempeñan. La clasificación es la siguiente:

o Dispositivos de comunicación:

son aquellos cuya principal función es ofrecer la infraestructura para la


comunicación, generalmente telefónica. Tienen además servicios para mensajes.
Incluye Smartphones.

o Dispositivos de Computación:

26
Tienen mayor capacidad de procesamiento de datos y tienen una pantalla y un
teclado más parecido al de una computadora tradicional. En esta categoría entran
los PDA, laptops y netbooks.

o Reproductores Multimedia:

Diseñado para que el usuario pueda reproducir una gran cantidad de formatos
multimedia. Son los de más reducido tamaño. En esta categoría entran los
reproductores mp3, DVD portátiles, eBooks, entre otros.

o Grabador multimedia consola portátil:

Aquel que facilita la grabación de datos en un formato digital ya sea generalmente


de audio o de video. Ejemplos de esta categoría son las cámaras tanto fotográficas y
de video.

o Consola Portátil:

Dispositivo móvil cuya función es proporcionar al usuario una plataforma de juego.


Aunque en tiempo recientes también reproducen multimedia. Otra forma de definir
los tipos de dispositivos móviles es la siguiente:

27
o Dispositivo Móvil de Datos Limitados:

Tienen una pantalla pequeña generalmente solo de texto, los servicios de datos se
limitan a SMS y WAP.

o Dispositivo Móvil de Datos Básicos:

Tienen una pantalla de tamaño mediano, un menú para la navegación. Servicios


tales como correo, Contactos, navegador web básico.

o Dispositivo Móvil de Datos Mejorados:

28
Pantallas grandes, navegación por medio de pantalla táctil, mismos servicios que el
de datos básicos pero con más aplicaciones nativas y corporativas.

Los dispositivos móviles (también conocidos como computadora de mano, palmtop


o simplemente handheld) son aparatos de pequeño tamaño, con algunas
capacidades de procesamiento, con conexión permanente o intermitente a una red,
con memoria limitada, diseñados específicamente para una función, pero que
pueden llevar a cabo otras funciones más generales.

Debido a la gran variedad existente de dispositivos móviles, estos han sido


clasificados de la siguiente manera:

DISPOSITIVOS DE PROPOSITO GENERAL DE TRABAJO.


Actualmente dominado por las computadoras de escritorio, computadoras
portátiles, tablets y similares. Estos dispositivos pueden trabajar una gran variedad
de información centradas en las tareas generales. Estos dispositivos pueden ser
usados por usuarios para un propósito general de trabajo, como un ejemplo de un
joven común, puede usar estos dispositivos para casi cualquier cosa que necesite,
como realizar reportes y tareas, o entretenimiento, etc.

DISPOSITIVOS CON PROPÓSITO DE ENTRETENIMIENTO.


29
Tales como como el iPod, PlayStation Portable, Nintendo 3DS entre otros. Estos
dispositivos tienen el principal propósito de entretenimiento, (especialmente por
medio de videojuegos), pero tienen como objetivo apoyar fácilmente el uso de otros
medios de entretenimiento, como el escuchar música o incluso pueden tener
servicio de comunicaciones.

COMUNICACIONES O DISPOSITIVOS DE CONTROL.

En el cual entran teléfonos móviles, teléfonos fijos, PDAs, Blackberries, entre otros.
y muchos más dispositivos en un futuro. Estos dispositivos que permiten al usuario
comunicarse con otras personas a través de voz, texto, y otros métodos.

DISPOSITIVOS ESPECIALIZADOS DE INFORMACIÓN.

Estos son los relojes, iPods, Gameboys, cajeros automáticos, etc. Estos
dispositivos se centran en ofrecer una experiencia específica para el usuario, y si
tiene funciones adicionales, los elementos son muy secundarios. Por ejemplo, un
iPod tiene un calendario en ella, pero de ningún modo interfiere con el uso del
dispositivo como un reproductor de música.

NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el


lenguaje de programación Java. Existe además un número importante de módulos
para extenderlo. NetBeans IDE es un producto libre y gratuito sin restricciones de
uso.

30
NetBeans es un proyecto de código abierto de gran éxito con una gran base de
usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en
todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en
junio de 2000 y continúa siendo el patrocinador principal de los proyectos
(Actualmente Sun Microsystems es administrado por Oracle Corporation).
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de
un conjunto de componentes de software llamados módulos. Un módulo es un
archivo Java que contiene clases de java escritas para interactuar con las APIs de
NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las
aplicaciones construidas a partir de módulos pueden ser extendidas agregándole
nuevos módulos. Debido a que los módulos pueden ser desarrollados
independientemente, las aplicaciones basadas en la plataforma NetBeans pueden
ser extendidas fácilmente por otros desarrolladores de software.
El NetBeans IDE soporta el desarrollo de todos los tipos de aplicación Java (J2SE,
web, EJB y aplicaciones móviles). Entre sus características se encuentra un sistema
de proyectos basado en Ant, control de versiones y refactoring.

El NetBeans IDE soporta el desarrollo de todos los tipos de aplicación Java (J2SE,
web, EJB y aplicaciones móviles). Entre sus características se encuentra un sistema
de proyectos basado en Ant, control de versiones y refactoring.
NetBeans IDE 6.5.2, la cual fue publicada el 19 de noviembre de 2008, extiende las
características existentes del Java EE (incluyendo Soporte a Persistencia, EJB 3 y
JAX-WS). Adicionalmente, el NetBeans Enterprise Pack soporta el desarrollo de
Aplicaciones empresariales con Java EE 5, incluyendo herramientas de desarrollo
visuales de SOA, herramientas de esquemas XML, orientación a web servicies (for

31
BPEL), y modelado UML. El NetBeans C/C++ Pack soporta proyectos de C/C++,
mientras el PHP Pack, soporta PHP

Modularidad. Todas las funciones del IDE son provistas por módulos. Cada módulo
provee una función bien definida, tales como el soporte de Java, edición, o soporte
para el sistema de control de versiones. NetBeans contiene todos los módulos
necesarios para el desarrollo de aplicaciones Java en una sola descarga,
permitiéndole al usuario comenzar a trabajar inmediatamente.

Sun Studio, Sun Java Studio Enterprise, y Sun Java Studio Creator de Sun
Microsystems han sido todos basados en el IDE NetBeans.
Desde julio de 2006, NetBeans IDE es licenciado bajo la Common Development and
Distribution License (CDDL), una licencia basada en la Mozilla Public License (MPL).
En octubre de 2007, Sun anunció que NetBeans desde entonces se ofrecerá bajo
licenciamiento dual de Licencia CDDL y la GPL versión 2.

Eclipse es una plataforma de software compuesto por un conjunto de herramientas


de programación de código abierto multiplataforma para desarrollar lo que el
proyecto llama “Aplicaciones de Cliente Enriquecido”, opuesto a las aplicaciones
“Cliente-liviano” basadas en navegadores.

Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo


integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit
(JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son
usados también para desarrollar el mismo Eclipse). Sin embargo, también se puede
usar para otros tipos de aplicaciones cliente, como BitTorrent o Azureus.
Eclipse es también una comunidad de usuarios, extendiendo constantemente las
áreas de aplicación cubiertas. Un ejemplo es el recientemente creado Eclipse
Modeling Project, cubriendo casi todas las áreas de Model Driven Engineering.

32
Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de
herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación
Eclipse, una organización independiente sin ánimo de lucro que fomenta una
comunidad de código abierto y un conjunto de productos complementarios,
capacidades y servicios.
Eclipse fue liberado originalmente bajo la Common Public License, pero después fue
re-licenciado bajo la Eclipse Public License. La Free Software Foundation ha dicho
que ambas licencias son licencias de software libre, pero son incompatibles con
Licencia pública general de GNU (GNU GPL).
ArquitecturaLa base para Eclipse es la Plataforma de cliente enriquecido (del inglés
Rich Client Platform RCP). Los siguientes componentes constituyen la plataforma de
cliente enriquecido:

Pantalla de carga de Eclipse Luna


Plataforma principal – inicio de Eclipse, ejecución de plugins
OSGi – una plataforma para bundling estándar.

33
El Standard Widget Toolkit (SWT) – Un widget toolkit portable.
JFace – manejo de archivos, manejo de texto, editores de texto
El Workbench de Eclipse – vistas, editores, perspectivas, asistentes
Los widgets de Eclipse están implementados por una herramienta de widget para
Java llamada Standard Widget Toolkit, a diferencia de la mayoría de las aplicaciones
Java, que usan las opciones estándar Abstract Window Toolkit (AWT) o Swing.
La interfaz de usuario de Eclipse también tiene una capa GUI intermedia llamada
JFace, la cual simplifica la construcción de aplicaciones basadas en SWT.

El entorno de desarrollo integrado (IDE) de Eclipse emplea módulos (en inglés plug-
in) para proporcionar toda su funcionalidad al frente de la plataforma de cliente
enriquecido, a diferencia de otros entornos monolíticos donde las funcionalidades
están todas incluidas, las necesite el usuario o no.

Este mecanismo de módulos es una plataforma ligera para componentes de


software. Adicionalmente a permitirle a Eclipse extenderse usando otros lenguajes
de programación como son C/C++ y Python, permite a Eclipse trabajar con
lenguajes para procesado de texto como LaTeX, aplicaciones en red como Telnet y
Sistema de gestión de base de datos. La arquitectura plugin permite escribir
cualquier extensión deseada en el ambiente, como sería Gestión de la
configuración. Se provee soporte para Java y CVS en el SDK de Eclipse. Y no tiene
por qué ser usado únicamente con estos lenguajes, ya que soporta otros lenguajes
de programación.

La definición que da el proyecto Eclipse acerca de su software es: “una especie de


herramienta universal – un IDE abierto y extensible para todo y nada en particular”.
Imagen de Eclipse trabajando con el lenguaje de programación Python
En cuanto a las aplicaciones clientes, Eclipse provee al programador con
frameworks muy ricos para el desarrollo de aplicaciones gráficas, definición y
manipulación de modelos de software, aplicaciones web, etc. Por ejemplo, GEF
(Graphic Editing Framework – Framework para la edición gráfica) es un plugin de
Eclipse para el desarrollo de editores visuales que pueden ir desde procesadores de
texto wysiwyg hasta editores de diagramas UML, interfaces gráficas para el usuario
(GUI), etc. Dado que los editores realizados con GEF “viven” dentro de Eclipse,
además de poder ser usados conjuntamente con otros plugins, hacen uso de su
interfaz gráfica personalizable y profesional.

El SDK de Eclipse incluye las herramientas de desarrollo de Java, ofreciendo un IDE


con un compilador de Java interno y un modelo completo de los archivos fuente de
Java. Esto permite técnicas avanzadas de refactorización y análisis de código.
Mediante diversos plugins estas herramientas están también disponibles para otros
lenguajes como C/C++ (Eclipse CDT) y en la medida de lo posible para lenguajes de
34
script no tipados como PHP o Javascript. El IDE también hace uso de un espacio de
trabajo, en este caso un grupo de metadatos en un espacio para archivos planos,
permitiendo modificaciones externas a los archivos en tanto.
Spring es un framework para el desarrollo de aplicaciones y contenedor de inversión
de control, de código abierto para la plataforma Java.

Los primeros componentes de lo que se ha convertido en Spring Framework fueron


escritos por Rod Johnson en el año 2000, mientras trabajaba como consultor
independiente para sus clientes en la industria financiera en Londres. Mientras
escribía el libro Expert One-on-one J2EE Design And Development (Programmer to
programmer), Rod amplió su código para sintetizar su visión acerca de cómo las
aplicaciones que trabajan con varias partes de la plataforma J2EE podían llegar a
ser más simples y más consistentes que aquellas que los desarrolladores y
compañías estaban usando por aquel entonces.

En el año 2001 los modelos dominantes de programación para aplicaciones basadas


en web eran ofrecidas por el API Java Servlet y los Enterprise JavaBeans, ambas
especificaciones creadas por Sun Microsystems en colaboración con otros
distribuidores y partes interesadas que disfrutaban de gran popularidad en la
comunidad Java. Las aplicaciones que no eran basadas en web, como las
aplicaciones basadas en cliente o aplicaciones en batch, podían ser escritas con
base en herramientas y proyectos de código abierto o comerciales que proveyeran
las características requeridas para aquellos desarrollos.

Se formó un pequeño equipo de desarrolladores que esperaba trabajar en extender


el framework y un proyecto fue creado en Sourceforge en febrero de 2003. Después
de trabajar en su desarrollo durante más de un año lanzaron una primera versión
(1.0) en marzo de 2004. Después de este lanzamiento Spring ganó mucha
popularidad en la comunidad Java, debido en parte al uso de Javadoc y de una
documentación de referencia por encima del promedio de un proyecto de código
abierto.

35
Sin embargo, Spring Framework también fue duramente criticado en 2004 y sigue
siendo el tema de acalorados debates. Al tiempo en que se daba su primer gran
lanzamiento muchos desarrolladores y líderes de opinión vieron a Spring como un
gran paso con respecto al modelo de programación tradicional; esto era
especialmente cierto con respecto a Enterprise JavaBeans. Una de las metas de
diseño de Spring Framework es su facilidad de integración con los estándares J2EE
y herramientas comerciales existentes. Esto quita en parte la necesidad de definir
sus características en un documento de especificación elaborado por un comité
oficial y que podría ser criticado.
Spring Framework comprende diversos módulos que proveen un rango de servicios:
Contenedor de inversión de control: permite la configuración de los componentes de
aplicación y la administración del ciclo de vida de los objetos Java, se lleva a cabo
principalmente a través de la inyección de dependencias.
Programación orientada a aspectos: habilita la implementación de rutinas
transversales.
Acceso a datos: se trabaja con RDBMS en la plataforma java, usando Java
Database Connectivity y herramientas de Mapeo objeto relacional con bases de
datos NoSQL.
Gestión de transacciones: unifica distintas APIs de gestión y coordina las
transacciones para los objetos Java.
Modelo visto controlador: Un framework basado en HTTP y servlets, que provee
herramientas para la extensión y personalización de aplicaciones web y servicios
web REST.
Framework de acceso remoto: Permite la importación y exportación estilo RPC, de
objetos Java a través de redes que soporten RMI, CORBA y protocolos basados en
HTTP incluyendo servicios web (SOAP).
Convención sobre Configuración: el módulo Spring Roo ofrece una solución rápida
para el desarrollo de aplicaciones basadas en Spring Framework, privilegiando la
simplicidad sin perder flexibilidad.

Procesamiento por lotes: un framework para procesamiento de mucho volumen que


como características incluye funciones de registro/trazado, manejo de transacciones,
estadísticas de procesamiento de tareas, reinicio de tareas, y manejo de recursos.
Autenticación y Autorización: procesos de seguridad configurables que soportan un
rango de estándares, protocolos, herramientas y prácticas a través del subproyecto
Spring Security (antiguamente Acegi).

Administración Remota: Configuración de visibilidad y gestión de objetos Java para


la configuración local o remota vía JMX.

36
Mensajes: Registro configurable de objetos receptores de mensajes, para el
consumo transparente desde la a través de JMS, una mejora del envío de mensajes
sobre las API JMS estándar.

Intel XDK Es un kit de desarrollo creada por Intel para crear aplicaciones nativas
para los teléfonos celulares y las tabletas que utilizan tecnologías de la web como
HTML5, CSS y Javascript.Las aplicaciones están compiladas vía on-line en la
plataforma Cordova para hacer aplicaciones cross-platform. Está disponible para
descargarse gratuitamente para Windows, OS X y Linux (32-bit y 64-bit).
Las aplicaciones están compiladas vía on-line en la plataforma Cordova para hacer
aplicaciones cross-platform. Está disponible para descargarse gratuitamente para
Windows, OS X y Linux (32-bit y 64-bit).

Características
Pistas de código
Conclusión de código
Emulador
Pruebas de dispositivo móvil vía Intel App Preview
Soporte de plugins Third Party
Soporte de plantillas
Drag-nDrop UI
Soporte para APIs de expansión de dispositivo
Soporte de plataforma móvil
iOS
Windows 8
Windows Phone 8
Chrome OS
Firefox OS
Tizen OS

Ventajas:
37
 La clasificación de los dispositivos móviles puede ayudar a los
desarrolladores a entender mejor las especificaciones técnicas de los
dispositivos y cómo optimizar sus aplicaciones para ellos.
 La comprensión de las diferentes aplicaciones de los dispositivos móviles
puede ayudar a las empresas a desarrollar estrategias de marketing y
publicidad más efectivas.

Desventajas:

 La clasificación de los dispositivos móviles puede ser complicada y confusa


para los principiantes, lo que puede dificultar la comprensión de cómo
optimizar sus aplicaciones para diferentes dispositivos.
 La comprensión de las diferentes aplicaciones de los dispositivos móviles
puede requerir un conocimiento previo de los diferentes mercados y
audiencias, lo que puede ser difícil para algunas empresas.

5.3 Entorno operativo de las aplicaciones móviles.

El entorno operativo de las aplicaciones móviles se refiere al conjunto de software y


hardware que permite a las aplicaciones móviles funcionar en los dispositivos
móviles. El entorno operativo se compone de múltiples componentes, como el
sistema operativo, la capa de abstracción de hardware, las bibliotecas de software
y las herramientas de desarrollo.

Sistema operativo móvil

El sistema operativo móvil es uno de los componentes más importantes del entorno
operativo de las aplicaciones móviles. Los sistemas operativos móviles son
específicos para dispositivos móviles y se utilizan para controlar el hardware y
permitir a las aplicaciones móviles acceder a los recursos del dispositivo, como la
pantalla, la cámara, el micrófono y la conectividad inalámbrica. Algunos de los
sistemas operativos móviles más populares incluyen Android, iOS, Windows Mobile
y BlackBerry OS.

Capa de abstracción de hardware

38
La capa de abstracción de hardware es una capa de software que se encuentra
entre el sistema operativo y el hardware del dispositivo móvil. La capa de
abstracción de hardware proporciona una interfaz de programación de aplicaciones
(API) unificada que permite a las aplicaciones móviles acceder a los recursos de
hardware del dispositivo, independientemente del fabricante o modelo del
dispositivo. La capa de abstracción de hardware también se utiliza para mejorar el
rendimiento de las aplicaciones móviles y la duración de la batería del dispositivo.

Bibliotecas de software

Las bibliotecas de software son componentes de software reutilizables que se


utilizan para proporcionar funcionalidad específica en las aplicaciones móviles. Las
bibliotecas de software se utilizan para acelerar el desarrollo de aplicaciones
móviles y reducir la cantidad de código necesario para desarrollar una aplicación.
Las bibliotecas de software comunes para el desarrollo de aplicaciones móviles
incluyen bibliotecas de gráficos, bibliotecas de redes, bibliotecas de bases de datos
y bibliotecas de seguridad.

Herramientas de desarrollo

Las herramientas de desarrollo son software utilizado por los desarrolladores para
crear y depurar aplicaciones móviles. Las herramientas de desarrollo incluyen IDEs
(entornos de desarrollo integrados), editores de código, depuradores y emuladores
de dispositivos móviles. Las herramientas de desarrollo también se utilizan para la
compilación de código y la gestión de versiones.

En conclusión, el entorno operativo de las aplicaciones móviles es un conjunto


complejo de componentes de hardware y software que permiten a las aplicaciones
móviles funcionar en los dispositivos móviles. El sistema operativo móvil, la capa de
abstracción de hardware, las bibliotecas de software y las herramientas de
desarrollo son los componentes clave del entorno operativo de las aplicaciones
móviles. El conocimiento de estos componentes es fundamental para el desarrollo
de aplicaciones móviles eficaces y eficientes.

Un ambiente de programación de una aplicación es el medio por el cual se


desarrolla software de aplicación para distintos dispositivos móviles a través de
varias plataformas.

39
A la hora de diseñar estas aplicaciones se deben tomar en cuenta una serie de
parámetros para el buen funcionamiento de la aplicación. Como parte del modelo de
desarrollo, una parte esencial en este proceso es el diseño de ciertos protocolos que
ayudan a la estandarización de las aplicaciones y algo mucho más importante, Una
interfaz para el usuario. Esta es la responsable de la interacción del usuario con la
aplicación.

Cada plataforma tiene su propio ambiente de desarrollo, ya sea oficial o de terceras


personas. Para esta investigación nos enfocaremos en los ambientes de Android y
Windows Phone, Sistemas de los más usados actualmente y los más accesibles en
cuanto a su modelo de desarrollo de aplicaciones. Para Resumir la información,
tenemos el siguiente cuadro comparativo

Interfaz de Programación de aplicaciones

Es el conjunto de funciones y procedimientos que ofrece cierta biblioteca para ser


utilizado por otro software como una capa de abstracción. Son usadas generalmente
en las bibliotecas. Una interfaz de programación representa la capacidad de
comunicación entre componentes de software. Se trata del conjunto de llamadas a
ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y
representa un método para conseguir abstracción en la programación, generalmente
(aunque no necesariamente) entre los niveles o capas inferiores y los superiores del
software. Uno de los principales propósitos de una API consiste en proporcionar un
conjunto de funciones de uso general, por ejemplo, para dibujar ventanas o iconos
en la pantalla. De esta forma, los programadores se benefician de las ventajas de la
40
API haciendo uso de su funcionalidad, evitándose el trabajo de programar todo
desde el principio. Las APIs asimismo son abstractas: el software que proporciona
una cierta API generalmente es llamado la implementación de esa API.

Los conceptos de móvil y sin cables muchas veces se confunden. Por ejemplo, un
PDA con datos en él y aplicaciones para gestionarlos puede ser móvil, pero no
tiene por qué ser wireless, ya que puede necesitar un cable para conectarse al
ordenador y obtener o enviar datos y aplicaciones. Veamos otro ejemplo. Un
teléfono móvil equipado con un pequeño navegador puede navegar por Internet. En
este caso, se considera wireless, pero no se considerará móvil si no dispone de un
valor añadido en forma de aplicaciones que aporte alguna función cuando no está
conectado a otros sistemas. Si el PDA es capaz de conectarse a una red para
obtener datos "en medio de la calle", entonces también será wireless. Algunas de
las características que hacen que estos dispositivos sean diferentes de los
ordenadores de sobremesa son los siguientes:

 Funcionalidad limitada.
 No necesariamente extensible y actualizable.
 En pocos años el usuario deberá cambiarlo.
 Más barato.
 Menos complicado en su manejo.
 Fácil de aprender su operación.
 No se requieren usuarios expertos.

Algunos de estos dispositivos son los siguientes:

 Paginadores.
 Comunicadores de bolsillo.
 Teléfonos con pantalla para Internet (Internet Screen Phones).
 Sistemas de navegación de automóviles.
 Sistemas de entretenimiento.
 Sistemas de televisión e Internet (WebTV).
 Teléfonos móviles.

41
Al igual que Java, C# es un lenguaje influenciado por C++ pero con una sintaxis más
clara. Anunciado en el año 2000, C# es un lenguaje relativamente nuevo en
comparación con Objective-C y Java.

Desde su concepción, C# ha estado estrechamente asociado con el Microsoft .NET


Framework. A nivel bajo, .NET proporciona una infraestructura para los tipos básicos
de C# (int, double, string, decimal, etc.). La biblioteca de clases del .NET Framework
proporciona el soporte para la funcionalidad que podemos encontrar en diferentes
lenguajes de programación. Esto incluye entre otros lo siguiente:

Funciones matemáticas (Math).


Herramientas para depuración (Debugging).
Herramientas para análisis de metadatos (Reflection)
Colecciones (Collection).
Globalización (Globalization).
Operaciones con archivos.
Redes (Networking).
Seguridad.
Manejo de Hilos (Threading).
Servicios Web.
Manejo de datos.
Lectura y escritura de XML y JSON

Poco después de que Microsoft anunciara el .NET Framework en junio del año 2000,
la empresa Ximian fundada por Miguel de Icaza y Nat Friedman, inició un proyecto
de código abierto llamado Mono para crear una implementación alternativa del
compilador de C# y el .NET Framework que pudiera correr sobre Linux.

Una década después, en 2011, los fundadores de Ximian, que fue adquirida por
Novell, fundaron Xamarin. Xamarin aun contribuye a la versión de código abierto de
Mono y lo ha adaptado para formar la base de las soluciones móviles
multiplataforma.
42
En mayo 28 de 2014, Xamarin introdujo Xamarin.Forms que permite a los
desarrolladores escribir código de interfaz de usuario que puede ser compilado para
dispositivos iOS, Android y Windows.

En marzo de 2016, Microsoft adquirió Xamarin con el fin de proporcionar una opción
de desarrollo móvil multiplataforma a la extensa comunidad de desarrolladores
Microsoft. Xamarin.Forms se encuentra ahora disponible de forma gratuita a todos
los usuarios de Visual Studio.

Un solo lenguaje para todas las plataformas


Durante los 3 primeros años de su existencia, Xamarin se enfocó principalmente en
tecnologías de compilación y en 3 conjuntos básicos de bibliotecas .NET:

Xamarin.Mac, que es una evolución del proyecto MonoMac.


Xamarin.iOS, que es una evolución de MonoTouch.
Xamarin.Android, que es una evolución de Mono para Android también conocido
como MonoDroid.

Colectivamente, esas bibliotecas son conocidas como la plataforma Xamarin. Las


bibliotecas contienen versiones .NET de las APIs nativas Mac, iOS y Android. Los
programadores que utilicen esas bibliotecas pueden escribir aplicaciones en C# para
acceder a las APIs nativas de esas 3 plataformas, pero, además como un bono
adicional, pueden acceder a la biblioteca de clases del .NET Framework.

43
Los desarrolladores pueden utilizar Visual Studio para construir aplicaciones
Xamarin para iOS y Android, así como para las distintas plataformas Windows. Sin
embargo, el desarrollo para iPhone y iPad también requiere de una Mac conectada a
la PC a través de la red. La Mac debe tener Xcode instalado, así como Xamarin
Studio. Xamarin Studio es un IDE basado en OS X que permite desarrollar
aplicaciones iPhone, iPad, Mac OS X y Android en la Mac. Xamarin Studio no
permite desarrollar aplicaciones para la plataforma Windows.

Compartiendo código
La ventaja de desarrollar para múltiples plataformas con un solo lenguaje de
programación radica en la habilidad de compartir código entre las aplicaciones.

Antes de que el código pueda ser compartido, la aplicación debe ser estructurada
para ese propósito. De forma particular, debido al amplio espectro de interfaces de
usuario gráficas disponibles, los programadores han entendido la importancia de
dividir el código de la aplicación en diferentes capas. Probablemente, la división más
útil es la separación del código de la interfaz de usuario, la lógica de negocios y la
lógica de acceso a datos. El patrón de arquitectura de software MVC (Model-View-
Controller) originado en 1980, formaliza esa separación de código en el Model
(lógica de acceso a datos y lógica de negocios), View (la representación visual de
los datos) y el Controller (encargado de interactuar con el usuario).

Más recientemente, la arquitectura MVVM (Model-View-ViewModel) ha modernizado


a MVC basado en interfaces de usuario modernas. MVVM separa el código en el
Model (lógica de acceso a datos y lógica de negocios), View (la interfaz de usuario,
incluyendo elementos visuales y de entrada de datos) y el ViewModel (encargado de
administrar el paso de datos entre el Model y View).

Cuando un programador desarrolla una aplicación para múltiples plataformas


móviles, la arquitectura MVVM sirve de guía al programador para la separación del
código en dos capas:

View. Código especifico de la plataforma que requiere interactuar con las APIs de la
plataforma.
Model y ViewModel. Código independiente de la plataforma.
Frecuentemente, el código independiente de la plataforma necesita utilizar
colecciones, acceder a archivos, acceder a la red o utilizar Threads. Normalmente
estas tareas podrían ser consideradas como parte de la API de un sistema
operativo, sin embargo, también son tareas que pueden hacer uso de la biblioteca
de clases del .NET Framework. Y si además el .NET Framework está disponible en
cada plataforma, entonces ese código es efectivamente independiente de la
plataforma.

44
La parte de la aplicación que es independiente de la plataforma puede ser entonces
aislada y – en el contexto de Visual Studio o Xamarin Studio – puesta en un proyecto
separado. El proyecto puede ser alguno de los siguientes:

Shared Asset Project (SAP). Este tipo de proyecto consiste de código y de otros
archivos que pueden ser accesibles directamente desde otros proyectos y que se
combinan en tiempo de compilación.
Portable Class Library (PCL). Este tipo de proyecto encapsula en una biblioteca
DLL todo el código común que después puede ser referenciado desde otros
proyectos.
Independientemente del método que utilicemos para compartir código, el código
común tiene acceso a la biblioteca de clases del .NET Framework, por lo que
podemos realizar operaciones con archivos, acceder a la red, manejar globalización,
acceder a servicios Web, trabajar con XML, trabajar con JSON, utilizar Threads y
muchas otras tareas.

Cuando la aplicación iOS es compilada, el compilador C# de Xamarin genera código


intermedio (IL) como es usual, pero además hace uso del compilador Apple en la
Mac para generar código de máquina iOS nativo de la misma forma en que lo hace
el compilador de Objective-C. Las llamadas que la aplicación hace hacia las APIs
iOS, son similares a las que hace una aplicación escrita directamente con Objective-
C.

45
Para la aplicación Android, el compilador C# de Xamarin genera código IL que se
ejecuta sobre una versión de Mono en el dispositivo junto con el motor de Java, pero
las llamadas a las APIS desde la aplicación son similares a las que hace una
aplicación escrita en Java.

Para aplicaciones móviles que tienen necesidades muy específicas de la plataforma,


pero también una cantidad importante de código compartido independiente de la
plataforma, Xamarin.iOS y Xamarin.Android proporcionan excelentes soluciones.
Los desarrolladores tienen acceso a la API completa de la plataforma con todo el
poder y responsabilidad que implica.

Para aplicaciones que no necesiten mucho código especifico de la plataforma, existe


una alternativa que simplifica un poco más la vida del programador: Xamarin.Forms.
Enviar esto por correo electrónicoBlogThis!Compartir en TwitterCompartir en
FacebookCompartir en Pinterest.

Ventajas:

 La comprensión del entorno operativo de las aplicaciones móviles puede


ayudar a los desarrolladores a crear aplicaciones más eficientes y de mejor
calidad.
 La comprensión del entorno operativo también puede ayudar a las empresas
a tomar decisiones informadas sobre qué dispositivos móviles y sistemas
operativos deben utilizar para sus aplicaciones.

Desventajas:

 La comprensión del entorno operativo puede ser complicada y técnica, lo que


puede desanimar a algunos desarrolladores.
 El entorno operativo está en constante evolución, lo que significa que los
desarrolladores y las empresas deben mantenerse actualizados sobre las
nuevas versiones y actualizaciones.

46
5.4 Desarrollo de aplicaciones móviles.

El desarrollo de aplicaciones móviles se refiere al proceso de creación de


aplicaciones que se ejecutan en dispositivos móviles, como smartphones y tabletas.
El desarrollo de aplicaciones móviles implica varios pasos, desde la planificación y
el diseño hasta la implementación y la publicación. A continuación, se describen
algunos de los aspectos clave del desarrollo de aplicaciones móviles.

Plataformas de desarrollo de aplicaciones móviles

Existen varias plataformas de desarrollo de aplicaciones móviles disponibles en el


mercado, cada una con sus propias ventajas y desventajas. Algunas de las
plataformas de desarrollo de aplicaciones móviles más populares incluyen:

Android: es una plataforma de código abierto desarrollada por Google. Es una de


las plataformas de desarrollo de aplicaciones móviles más populares y cuenta con
una gran cantidad de desarrolladores y usuarios.

iOS: es una plataforma de desarrollo de aplicaciones móviles desarrollada por


Apple. Es conocida por su facilidad de uso y seguridad.

Xamarin: es una plataforma de desarrollo de aplicaciones móviles de Microsoft que


permite a los desarrolladores crear aplicaciones nativas para iOS, Android y
Windows Phone utilizando un único código base.

React Native: es una plataforma de desarrollo de aplicaciones móviles de código


abierto desarrollada por Facebook que permite a los desarrolladores crear
aplicaciones nativas para iOS y Android utilizando JavaScript y React.

Planificación y diseño de la aplicación

Antes de comenzar a desarrollar una aplicación móvil, es importante realizar una


planificación y diseño adecuados. Esto incluye identificar los requisitos de la
aplicación, definir las funcionalidades y características, y crear un diseño de la
interfaz de usuario. Es importante tener en cuenta las restricciones de hardware y
software de los dispositivos móviles, así como las limitaciones de la conectividad y
la batería.

47
Implementación de la aplicación

Una vez que se ha completado la planificación y el diseño, se puede proceder a la


implementación de la aplicación. Esto incluye la codificación de la aplicación
utilizando el lenguaje de programación y la plataforma seleccionada. Es importante
utilizar las mejores prácticas de programación y asegurarse de que la aplicación
sea compatible con múltiples dispositivos y versiones de sistema operativo.

Pruebas y depuración de la aplicación

Después de la implementación, es importante realizar pruebas y depuración de la


aplicación. Esto incluye la identificación y corrección de errores y la optimización
del rendimiento de la aplicación. Las pruebas de la aplicación deben realizarse en
múltiples dispositivos y configuraciones para garantizar que la aplicación funcione
correctamente en todos ellos.

Publicación y mantenimiento de la aplicación

Una vez que la aplicación ha sido probada y depurada, se puede proceder a la


publicación en tiendas de aplicaciones, como Google Play y App Store. Es
importante realizar actualizaciones y mejoras de manera regular para mantener la
aplicación relevante y actualizada con las últimas características y tendencias.

Puede crear aplicaciones para dispositivos Android, iOS y Windows con Visual
Studio. Al diseñar la aplicación, use las herramientas de Visual Studio para agregar
fácilmente servicios conectados, como Office 365, Azure App Service y Application
Insights.

48
Crear aplicaciones mediante C# y .NET Framework, HTML y JavaScript o C++.
Comparta código, cadenas, imágenes y, en algunos casos, incluso la interfaz de
usuario.
Si quiere compilar un juego o una aplicación gráfica inmersiva, instale Visual Studio
Tools para Unity y disfrute de las eficaces características de productividad de Visual
Studio con Unity, el popular entorno de desarrollo y motor multiplataforma de juegos
y gráficos para aplicaciones que se ejecuta en iOS, Android, Windows y otras
plataformas.

La creación de aplicaciones móviles puede ser tan fácil como abrir el IDE, juntar
algunos elementos, realizar unas pruebas rápidas y enviar el resultado al App Store,
todo ello en una misma tarde. O puede ser un proceso muy complicado que conlleva
el diseño riguroso por adelantado, pruebas de facilidad de uso, pruebas de control
de calidad en miles de dispositivos, un ciclo de vida completo de versión beta y la
implementación de varias maneras diferentes.

El objetivo de este documento es presentar la plataforma Xamarin. Para obtener


más información sobre el proceso de compilación de aplicaciones móviles desde el
diseño hasta la realización de pruebas, consulte el documento Introduction to the
Mobile Software Development Lifecycle (Introducción al ciclo de vida del desarrollo
de software móvil).
Consulte nuestros requisitos del sistema para confirmar que puede instalar Xamarin.

49
A continuacion se presenta un video donde se explica el entorno de la primer
aplicacion en Xamarin Forms:

PDA, del inglés personal digital assistant, asistente digital personal, computadora de
bolsillo, organizador personal o agenda electrónica de bolsillo, es
una computadora de mano originalmente diseñada como agenda
personal electrónica (para tener uso de calendario, lista de contactos, bloc de notas,
recordatorios, dibujar, etc.) con un sistema de reconocimiento de escritura.
Estos dispositivos fueron sustituidos por los teléfonos móviles que pueden realizar
muchas de las funciones que hace una computadora de escritorio (ver películas,
crear documentos, juegos casuales, correo electrónico, navegar por Internet,
reproducir archivos de audio, etc.) con la ventaja de ser un objeto del que se dispone
constantemente.

50
En 1989, el Atari Portfolio, aunque técnicamente clasificado como palmtop fue una
muestra temprana de algunos de los más modernos dispositivos electrónicos. Otros
dispositivos como los Psion Organiser II (1986), el Sharp Wizard o la Amstrad
Penpad (1993) fueron sentando la base de las funcionalidades de las PDAs.

La primera mención formal del término y concepto de PDA (Personal Digital


Assistant) es del 7 de enero de 1992 por John Sculley al presentar el Apple Newton,
en el Consumer Electronics Show (Muestra de electrónica de consumo) de Las
Vegas (EE.UU.). Sin embargo fue un sonoro fracaso financiero para la
compañía Apple, dejando de venderse en 1998.

La tecnología estaba aún poco desarrollada y elreconocimiento de escritura en la


versión original era bastante impreciso, entre otros problemas. Aun así, este aparato
ya contaba con todas las características de la PDA moderna: pantalla sensible al
tacto, conexión a una computadora para sincronización, interfaz de usuario
especialmente diseñada para el tipo de máquina, conectividad a redes vía módem y
reconocimiento de escritura.

En 1995 con la aparición de la empresa Palm, Inc. comenzó una nueva etapa de
crecimiento y desarrollo tecnológico para el mercado de estos dispositivos. Tal fue el
éxito que los ordenadores de bolsillo o agendas electrónicas son a veces
llamadas Palm o Palm Pilot, lo cual constituye un caso de una marca registrada que
se transforma en el nombre genérico del producto.

La irrupción de los sistemas operativos Microsoft Windows CE (1997) y Windows


Mobile (2003) en el sector los dotó de mayores
capacidadesmultimedia y conectividad, y sobre todo incorporó a un público ya
acostumbrado al uso de sus programas y que se los encontraban en versión
reducida.

La llegada de los teléfonos inteligentes o Comunicadores (híbridos entre


ordenadores de bolsillo y teléfono móvil) supuso para el mercado, por un lado, la
51
entrada de nuevos competidores y, por otro, la incorporación a éste de usuarios
avanzados de móviles. De paso supuso la vuelta de un sistema operativo que había
abandonado el mercado de las PDAs y ordenadores de mano en favor de los
móviles: el Symbian OS.
Las PDAs de hoy en día traen multitud de comunicaciones inalámbricas
(Bluetooth, Wi-Fi, IrDA (infrarrojos), GPS...) que los hace tremendamente atractivos
hasta para cosas tan inverosímiles como su uso para domótica o como navegadores
GPS. Hoy en día la mayoría de los PDAs son teléfonos inteligentes.

Características

Actualmente un ordenador de bolsillo(PDA) típico tiene al menos una pantalla


táctil para ingresar información, una tarjeta de memoria para almacenarla y al menos
un sistema de conexión inalámbrica, ya sea infrarrojo, Bluetooth o WiFi.
El software requerido por una computadora de bolsillo incluye por lo general un
calendario, un directorio de contactos y algún programa para agregar notas. Algunos
organizadores digitales también contienen soporte para navegar por la red y para
revisar elcorreo electrónico.

Pantalla tácTIL
Las agendas digitales suelen llevar pantalla táctil para la navegación.

Muchas agendas digitales como el Apple Newton y el Palm Pilot, tienen pantallas
táctiles para interactuar con el usuario, por lo que tienen muy pocos botones
reservados para abrir los programas más utilizados. Por lo general las agendas
digitales con esta pantalla tienen un lápiz desmontable, con el cual se realizan todas
las tareas. Para agregar texto por lo general se usan uno de los siguientes métodos:

o Se usa un teclado virtual, y para agregar las letras hay que tocar cada una de
ellas.
o Se puede conectar un teclado externo conectado vía USB o Bluetooth.
o Usando el reconocimiento de letras o palabras, y luego traduciéndolas a letras
dentro de la caja texto seleccionada.

52
o Usando un reconocimiento de símbolos, donde cierto grupo de estos representa
una letra. Por lo general estos símbolos son fáciles de recordar.

Los ordenadores de bolsillo diseñados para el uso en negocios, como


el BlackBerry o el Treo tienen teclados completos y barras de desplazamiento para
facilitar el ingreso de información, en vez de usar una pantalla táctil. Los PDA más
nuevos como el iPhone o el iPod Touch incluyen una nueva interfaz de usuario con
otros medios de entrada. Estos PDAs usan una tecnología llamada Multi-touch.

En resumen, el desarrollo de aplicaciones móviles es un proceso complejo que


implica la planificación, el diseño, la implementación, las pruebas y la publicación
de una aplicación móvil. Los desarrolladores deben considerar las limitaciones de
hardware y software de los dispositivos móviles y utilizar las mejores prácticas de
programación para garantizar una aplicación eficiente y efectiva.

Parece que con solamente chasquear los dedos vamos a conseguir alguien que se
encargue del desarrollo de aplicaciones móviles y en un periquete vamos a tener
nuestro proyecto hecho realidad. Pero hacer aplicaciones no es tan fácil, por eso si
tienes una idea de app en mente antes de ponerte manos a la obra, mejor que
conozcas lo más básico sobre los dos sistemas operativos dominantes, Android e
iOS.
En este artículo queremos exponer las bases técnicas o más básicas al hacer una
app Android o una app iOS, conocer las peculiaridades de cada sistema operativo y
como afecta a los desarrolladores de aplicaciones que trabajan con cada uno de
ellos.

53
Desarrollo de aplicaciones móviles para Android

Comenzamos con el sistema operativo con mayor cuota de mercado y con más apps
móviles desarrolladas. Y también con más número de aplicaciones en las stores. Un
vistazo rápido a las características del SO y cómo se configura el desarrollo de apps
móviles Android.

Características básicas

Atendiendo al propio Google, creador de Android, las características técnicas de


este sistema operativo y que lo configuran son las siguientes:

 Es un sistema operativo de Código abierto. Esto significa que puedes


adaptarlo a tus necesidades. Existen pues muchos más desarrolladores y
mucha mas documentación para los profesionales.
 Núcleo basado en el Kernel de Linux.
 Adaptable a muchas pantallas y resoluciones. Excelente para poder
adaptarse a la infinita cantidad de terminales que existen en el mercado.
 Utiliza SQLite para el almacenamiento de datos.
 Navegador web basado en WebKit incluido.
 Soporte de HTML, HTML5, Adobe Flash Player, etc.
 Incluye un emulador de dispositivos, herramientas para depuración de
memoria y análisis del rendimiento del software.
 Google Talk desde su versión HoneyComb, para realizar videollamadas.
 Multitarea real de aplicaciones.

Terminales y dispositivos móviles

La mayoría de smartphones y tablets que no son Apple, corren con alguna de las
versiones del sistema operativo de Android. Desde KitKat, pasando por Lollipop y la
más reciente Marshmallow. Los dispositivos más conocidos que utilizan Android son
los siguientes:

 Nexus
 Samsung
 Sony
 Huawei
 Etc.

54
Al desarrollar apps móviles para este sistema operativo debemos tener en
cuenta todos estos dispositivos. Es posible que cada uno tenga unas dimensiones
distintas. Tendremos que ajustar nuestro desarrollo de apps móviles al standard.
Sólo así aseguraremos que la app sea visible y usable.

Herramientas necesarias

La forma más fácil y directa para empezar a desarrollar apps móviles para Android
es descargando el Android SDK y el IDE de Eclipse (vea los Recursos). El desarrollo
Android puede realizarse desde ordenadores Microsoft® Windows®, Mac OS X o
Linux, dada su naturaleza de código abierto.

Las aplicaciones Android se ejecutan en un framework Java de aplicaciones


orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina
virtual Dalvik con compilación en tiempo de ejecución.
Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica
(surface manager), un framework OpenCore, una base de datos relacional SQLite,
una Interfaz de programación de API gráfica OpenGL ES 2.0 3D, un motor de
renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C
Bionic. Aunque también existen otras opciones para programar apps para
Android sin recurrir a Java y de las que ya hablamos en un artículo sobre programar
apps sin Java.
Emulador Android: Es muy recomendable tener cerca un emulador Android si nos
dedicamos al desarrollo de apps móviles para este sistema operativo. Con él

55
podremos ir viendo los progresos que vamos haciendo en desarrollo, los errores,
correcciones.

Coste para el desarrollador

Teniendo en cuenta el coste base para un desarrollador Android que va a empezar a


trabajar.
Licencia de desarrollador Android: 25 dólares. Esta cuota se paga una vez en la
vida.
Dispositivo móvil estándar: Nexus 6 (nuevo libre 459 euros)
Ordenador para poder desarrollar: 300 euros de media. Aunque sirve cualquier
ordenador.
Coste total aproximado: 869 euros

Desarrollo de aplicaciones móviles para iOS

El sistema operativo que se lleva la plata es el creado por Steve Jobs en Apple.
Aunque nació antes que Android, y tenía mucha más cuota de mercado que este,
iOS ha ido perdiendo potencia y usuarios.

56
Características básicas

El segundo de la carrera por el mercado móvil sigue luchando por hacerse un hueco.
Algunos datos del SO móvil de Cupertino:

 Es un sistema operativo móvil de la multinacional Apple Inc.


 iOS es una variante del Mac OS X, que es el sistema operativo para
computadoras de la marca Apple y, al igual que él, está basado en Unix.
 No permite la instalación de iOS en hardware de terceros.
 Aunque sea un sistema operativo privado y exclusivo para sus dispositivos,
Apple libera su SDK para que este pueda ser mejorado por desarrolladores
de apps.
 Multitarea real de aplicaciones.
 Es necesarios hacer Jailbreak para poder instalar aplicaciones de terceros

Las versiones anteriores a iOS 8 no permiten el uso de la Plataforma Java y Adobe


Flash. En cambio iOS usa HTML5 como una alternativa a Flash. No obstante a partir
de iOS 8 ya se permite el uso de Adobe Flash, pero los usuarios de un iPhone, iPod
Touch o iPad con una versión anterior a iOS 8 se quedan fuera de esta
actualización. Debes tenerlo en cuenta para los casos de desarrollo de apps para
iOS.

Terminales y dispositivos móviles

Solamente los dispositivos móviles de Apple pueden ejecutar el sistema operativo


iOS. Entre ellos se encuentran el iPhone, el iPad y las distintas versiones de iPod.

 iPhone 4, 5, 6, etc.
 iPad, iPad Mini
 iPod nano, iPod shuffle

57
Herramientas necesarias

El Kit de desarrollo de software o SDK esta disponible para terceros y


desarrolladores desde marzo del 2008, permitiendo así a los desarrolladores hacer
aplicaciones para el iPhone y iPod Touch, así como probarlas en el iPhone
simulator» Aunque solo es posible utilizar el app en los dispositivos después de
pagar la cuota del iPhone Developer Program.
Xcode es el programa utilizado en el iPhone SDK. Estas aplicaciones, como las de
Mac OS X, están escritas en Objective-C.

Los desarrolladores pueden poner un precio por encima del mínimo ($0.99 dólares)
a sus aplicaciones para distribuirlas y venderlas en el App Store, de donde recibirán
el 70 % del dinero que ingrese la aplicación. Por otro lado, el desarrollador puede
lanzar la aplicación gratis, y así no obtendría ni pagaría nada, excepto por la cuota
de miembro/desarrollador.

Coste para el desarrollador

El coste de desarrollo de apps móviles no se limita al tiempo invertido por el


programador, si no que debemos tener en cuenta que para encontrar trabajo y que
te contraten para desarrollo de aplicaciones móviles, debemos tener un equipo para
poder llevarlo a cabo. Esto es lo que necesitamos y su coste final:

58
Licencia de desarrollador iOS: 99 euros al año.
Dispositivo móvil estándar: iPhone (nuevo libre 639 euros)
Ordenador para poder desarrollar: Hace falta usar un ordenador Mac, la gama más
baja es Mac mini (nuevo 549 euros)
Coste total aproximado: 1.287 euros iniciales
A final de cuentas, el coste final del desarrollo de aplicaciones móviles para
Android e iOS por lo general es muy similar a ojos del que encarga el desarrollo.
Las posibles diferencias residirán en el exceso o escasez de demanda. Ante la gran
cantidad de desarrolladores Android el precio final puede ser más competitivo.
Siempre habrá algún desarrollador que rebaje un poco más el precio, mientras que
en el caso del desarrollo iOS será siempre más estable.

Ventajas:

 El desarrollo de aplicaciones móviles permite a las empresas llegar a más


clientes y mejorar la experiencia del usuario.
 El desarrollo de aplicaciones móviles también puede ser una fuente de
ingresos para las empresas, ya que pueden vender sus aplicaciones en las
tiendas de aplicaciones.

Desventajas:

 El desarrollo de aplicaciones móviles puede ser costoso, especialmente si se


contrata a un equipo de desarrolladores externos.
 La competencia en las tiendas de aplicaciones es alta, lo que significa que

59
las empresas deben desarrollar aplicaciones de alta calidad para destacar
en el mercado.

5.5. Aspectos de seguridad.

Las aplicaciones móviles son cada vez más populares en todo el mundo, pero
también son vulnerables a diversas amenazas de seguridad. Los dispositivos
móviles son objeto de robos y pérdidas, y la información personal que se almacena
en ellos puede ser objeto de hackeos. Por lo tanto, es crucial que las aplicaciones
móviles cuenten con medidas de seguridad adecuadas para proteger la información
y los dispositivos móviles de los usuarios. A continuación, se describen algunos de
los aspectos clave de la seguridad en las aplicaciones móviles.

Autenticación y autorización

La autenticación y la autorización son dos aspectos clave de la seguridad en las


aplicaciones móviles. La autenticación es el proceso de verificar la identidad de un
usuario, mientras que la autorización es el proceso de determinar qué acciones y
datos puede acceder el usuario después de la autenticación. Las aplicaciones
móviles deben utilizar métodos de autenticación seguros, como la autenticación
multifactorial, para proteger las cuentas de los usuarios. También deben
implementar medidas de autorización adecuadas para limitar el acceso a los datos
y funcionalidades de la aplicación.

Cifrado de datos

El cifrado de datos es una medida de seguridad crítica para proteger la información


personal de los usuarios en las aplicaciones móviles. Los datos deben cifrarse tanto
en reposo como en tránsito para evitar que sean interceptados o robados. Las
aplicaciones móviles deben utilizar protocolos de cifrado seguros, como SSL y TLS,
para proteger los datos que se transfieren entre el dispositivo móvil y el servidor de
la aplicación.

Prevención de ataques de fuerza bruta

Los ataques de fuerza bruta son comunes en las aplicaciones móviles, y se utilizan
para intentar adivinar contraseñas y otras credenciales de usuario mediante la

60
repetición de intentos de inicio de sesión. Las aplicaciones móviles deben
implementar medidas de prevención de ataques de fuerza bruta, como la
implementación de temporizadores de bloqueo de cuenta después de un número
determinado de intentos de inicio de sesión fallidos.

Protección de datos de usuario

Las aplicaciones móviles deben proteger los datos personales de los usuarios,
como la información de la tarjeta de crédito y la información de la cuenta, contra
posibles hackeos. Las aplicaciones móviles deben cumplir con las regulaciones de
privacidad y seguridad de datos de los usuarios, como la Ley de Protección de
Datos Personales de la Unión Europea (GDPR), y utilizar medidas de seguridad
adecuadas, como la encriptación y el almacenamiento seguro de datos.

Actualizaciones de seguridad

Las aplicaciones móviles deben ser actualizadas regularmente para corregir errores
y vulnerabilidades de seguridad. Los desarrolladores deben mantenerse
actualizados sobre las últimas amenazas de seguridad y trabajar en la actualización
de sus aplicaciones en consecuencia. Además, las aplicaciones móviles deben ser
diseñadas para permitir actualizaciones fáciles y automáticas para garantizar la
seguridad continua de los usuarios.

El desarrollo de aplicaciones móviles es un nuevo animal, y los CIO no deben


pensar en domarlo usando las mismas viejas tretas. Las compañías, impulsadas
por el creciente número de smartphones y tablets, junto con redes móviles más
capaces, buscan cómo emplear las herramientas móviles para transformar sus
procesos core y sus modelos de negocio. Para obtener esos beneficios, las IT
tienen que idear un enfoque de gestión del ciclo de vida de las aplicaciones,
dedicado exclusivamente a los problemas que genera la movilidad. El
departamento IT necesita una gestión del ciclo de vida de las aplicaciones móviles
que tome en cuenta el desarrollo, distribución, seguridad, soporte y mejora. Estas
son áreas que dicho departamento tiene que planear antes de iniciar el proceso de
desarrollo, porque impactarán el enfoque en el desarrollo de aplicaciones que la
organización adopte.

Y los equipos IT deben entregar esas nuevas capacidades móviles tomando en


cuenta la rapidez con que cambia el ambiente. Mientras los operadores móviles
61
despliegan servicios con mayor rapidez, también están recortando los planes de
datos ilimitados. Muchos negocios dejan de comprar dispositivos móviles y se
avienen a los que los empleados poseen.

Este modelo BYOD (Bring Your Own Device) significa que el departamento IT tiene
que dar soporte a más plataformas y proveer seguridad y gestión en este nuevo
ambiente tan variopinto.

El principal reto será soportar aplicaciones empresariales en iOS, Android,


Windows Mobile y otros sistemas operativos, en un ambiente donde el usuario –no
el área IT– es quien decide cuándo actualizar el sistema operativo.

Una encuesta de Nokia reveló que los usuarios de apps miramos nuestro
smartphone una media de 150 veces al día, lo que indica el valor y potencial al que
ha llegado el sector del desarrollo de aplicaciones móviles. Sin embargo, el
desarrollo de aplicaciones para Android y iOS va mucho más allá de crear una
interfaz atractiva o resolver un simple problema de usuario.

La seguridad en el desarrollo de aplicaciones móviles y la protección de datos debe


ser uno de los elementos más importante de los profesionales que buscan el
crecimiento a largo plazo y la consolidación de su trabajo en esta industria. Mientras
que el mundo móvil experimenta un crecimiento espectacular, se expone a
importantes problemas de seguridad.

Estos son los 5 mayores peligros y riesgos para la seguridad en el desarrollo de


aplicaciones móviles.

Almacenamiento inseguro de datos


62
Los desarrolladores son responsables de proteger los datos de las personas que
utilizan sus aplicaciones. Se recomienda que los datos no se almacenen durante
mucho tiempo y sean anónimos siempre que sea posible, de lo contrario podrán
acabar generando problemas.

Si tu almacenamiento de datos no es seguro, los datos confidenciales como


contraseñas y números de tarjetas de crédito pueden ser vulnerables a los hacks
debido a la falta de conocimiento del comportamiento del dispositivo, la
sincronización sin protección de datos confidenciales en la nube o los datos
almacenados en lugares inseguros, como en una tarjeta SD.

En este sentido y para mantener la seguridad, desarrolla tu aplicación de tal manera


que no almacene ninguna información crítica directamente en el dispositivo. Si es
necesario almacenarla, deberá hacerse de forma segura.

Para proteger las contraseñas en iOS, deben almacenarse dentro de una sección de
datos cifrados en la cadena de claves de iOS. Para Android, deben residir en el
almacenamiento cifrado en el directorio de datos de la aplicación interna y la
aplicación debe estar marcada para no permitir la copia de seguridad.

Controles frágiles en el servidor

63
Actualmente no se puede confiar únicamente en la protección que implementan los
fabricantes en el dispositivo para hacer cumplir los controles de seguridad. Las
aplicaciones móviles también están expuestas a ataques de otras aplicaciones o a
través del uso de una conexión de Internet móvil. Durante el desarrollo de una app, y
con el objetivo de mantener su seguridad, es importante validar los datos de entrada
para evitar varios tipos de ataques.

Las vulnerabilidades de los controles de servidor son influidas por factores como:

Prisa por sacar la app al mercado.


Falta de conocimientos de seguridad debido a los nuevos lenguajes de
programación.
Fácil acceso a estructuras que no priorizan la seguridad.
Destinar menores presupuestos de seguridad para aplicaciones móviles.
Asunción de que el sistema operativo móvil asume la plena responsabilidad de la
seguridad.
Debilidad debido al desarrollo y compilación multiplataforma.

Fuga de datos involuntaria

64
Sucede cuando la información confidencial es colocada por error en una ubicación
fácilmente accesible en el dispositivo móvil por parte de aplicaciones maliciosas. En
esta situación, los datos corren un grave riesgo de ser filtrados.

El uso de Internet móvil ha superado con creces el uso de Internet de escritorio, lo


que hace que los dispositivos móviles sean aún más atractivos para los estafadores
y los ciberdelincuentes. Por esta razón, los desarrolladores tienen que incrementar
aún más la seguridad de las aplicaciones móviles durante su desarrollo. La forma
más efectiva de lograrlo es considerando los siguientes puntos:

Validar todas las entradas, tipo, sintaxis, antes de que se muestren o almacenen los
datos.
Rechazar la entrada no válida en lugar de intentar comprobar datos potencialmente
hostiles.
Ten cuidado con los mensajes de error, también pueden incluir datos no válidos.
Presta atención al conectarte a la base de datos u otros sistemas de soporte.
Evita los mensajes de error detallados que puedan ser útiles para los hackers.
Utiliza procedimientos almacenados ya que generalmente son seguros contra la
inyección de SQL.
No utilices interfaces de consulta dinámicas.
No utilices funciones simples de escape, son débiles y pueden haber sido
hackeadas.
Asegúrate de que tu aplicación no decodifique la misma entrada dos veces.

Encriptación rota

Los gigantes de la tecnología más grande han prestado especial atención a la


criptografía. Apple, por ejemplo, utiliza el cifrado de hardware (concepto que utiliza el
algoritmo AES256) en el desarrollo de todos sus smartphones y iPads con la versión
65
5 o superior de iOS, lo que garantiza una protección robusta contra cualquier intento
de interceptación de datos almacenados en el dispositivo.

¿Quieres que tu aplicación se encuentre entre las más prestigiosas del mercado?
Entonces no olvides que los algoritmos de encriptación se vuelven obsoletos con
relativa rapidez. Además, la mayoría de las aplicaciones requieren la inserción de
datos personales para comprar características. Si tu aplicación no utiliza un
algoritmo de encriptación o utiliza claves débiles, millones de usuarios de tu producto
pueden convertirse en víctimas de los hackers.

Códigos fuente desconocidos

Desarrollar una aplicación móvil desde cero puede consumir mucho tiempo, por lo
que los desarrolladores a menudo intentan utilizar la enorme cantidad de código en
la web. Sin embargo, ten mucho cuidado, pues tomar este atajo puede salirte caro:
muchos hackers crean código y lo hacen disponible esperando que sea utilizado
por algún desarrollador. Esto les da libre acceso a toda la información que necesita
después de lanzar la aplicación. Asegúrate de comprobar las fuentes del código
que está utilizando.

En conclusión, los aspectos de seguridad en las aplicaciones móviles son críticos


para proteger la información personal de los usuarios y los dispositivos móviles en
sí. Las aplicaciones móviles deben utilizar medidas de seguridad adecuadas, como
la autenticación y autorización seguras.

66
GLOSARIO

 Aplicación nativa: Una aplicación móvil diseñada para ejecutarse en una


plataforma específica, como Android o iOS, utilizando lenguajes de
programación nativos.

 Aplicación híbrida: Una aplicación móvil que combina tecnologías web y


nativas, lo que permite que una sola aplicación sea compatible con múltiples
plataformas.

 API: Interfaz de programación de aplicaciones. Es un conjunto de reglas,


protocolos y herramientas para crear software y aplicaciones.

 SDK: Kit de desarrollo de software. Es un conjunto de herramientas y


recursos que se utilizan para desarrollar aplicaciones para una plataforma
específica.

 IDE: Entorno de desarrollo integrado. Es un software que proporciona


herramientas para escribir, depurar y compilar código.

 Framework: Un conjunto de bibliotecas y herramientas de software que se


utilizan para facilitar el desarrollo de aplicaciones.

 XML: Lenguaje de marcado extensible. Se utiliza para describir datos y


estructuras de datos de una manera legible para las personas y las
máquinas.

 JSON: Notación de objetos de JavaScript. Se utiliza para transmitir datos en


formato de texto plano entre aplicaciones y servidores.

 MVC: Modelo-Vista-Controlador. Un patrón de diseño arquitectónico que


separa el modelo de datos, la vista de la interfaz de usuario y el controlador
de la lógica de la aplicación.

 API REST: Interfaz de programación de aplicaciones basada en la


arquitectura REST. Permite a las aplicaciones acceder y manipular recursos
en un servidor web a través de HTTP.
67
 SQLite: Un motor de base de datos relacional ligero que se utiliza para
almacenar y gestionar datos en aplicaciones móviles.

 WebView: Un componente de la plataforma Android que permite mostrar


contenido web dentro de una aplicación móvil.

 Notificación push: Un mensaje que se envía a un dispositivo móvil desde un


servidor, incluso cuando la aplicación no está en uso, para informar al
usuario sobre una actividad o evento.

 Autenticación: Proceso de verificar la identidad del usuario antes de permitir


el acceso a la aplicación o servicio.

 Geolocalización: Proceso de determinar la ubicación del dispositivo móvil


mediante el uso de sensores como GPS o redes celulares.

 Sensibilidad al contexto: Capacidad de una aplicación móvil para adaptarse


a diferentes situaciones y contextos, como la ubicación del usuario o el nivel
de batería del dispositivo.

 Interfaz de usuario: El diseño y la disposición de elementos de la interfaz de


usuario en una aplicación móvil.

 Depuración: Proceso de encontrar y solucionar errores y problemas en una


aplicación móvil durante el desarrollo y la prueba.

 Despliegue: Proceso de hacer que una aplicación móvil esté disponible para
su descarga e instalación en tiendas de aplicaciones o en un sitio web.

 Monetización: Proceso de ganar dinero a través de una aplicación móvil, por


ejemplo, mediante la publicidad o la venta de productos o servicios dentro de
la aplicación.

 acumulador: registro interno de la CPU que recoge los resultados


intermedios de las operaciones que se realizan en la ALU.

68
 asíncrono: término utilizado para especificar la ejecución de distintos
procesos de forma independiente unos de los otros respecto al tiempo. En
Hardware este concepto es aplicable a dispositivos físicos como la memoria
y la CPU, etc ... .

 cita (rendezvous): del inglés 'rendezvous', en informática conocido por 'cita'.


Tipo de sincronización doble, en el que los dos procesos se sincronizan en
un determinado punto de cada uno de los procesos afectados. Uno espera al
otro para poder avanzar.

 descriptor de fichero: número que representa a un fichero lógico con el que


se trabaja en lenguaje C. Se obtiene a partir de la asociación que se realiza
en una operación de apertura del fichero con su correspondiente nombre
físico.

 espera bloqueada: tipo de 'espera' en primitivas para solucionar el problema


de la exclusión mutua y sincronización mediante el mantenimiento de colas
de procesos bloqueados hasta que se de una cierta condición y pasen al
estado de listos. Se da en mecanismos software como los semáforos y
monitores.

 hilo: cada una de las unidades de asignación de un proceso, de esta forma


cada proeso ( elemento que posee recursos ), puede mantener varias
unidades de asignación de CPU en una misma ejecución. Este concepto se
conoce tambien como 'thread', hebra o proceso ligero.

 multiprocesador: sistema informático basado en la ejecución de programas


mediante la utilización de varios procesadores trabajando de forma
simultánea. Pueden disponerse físicamente de varias formas: en serie,
paralelo, ... .

 llamadas por referencia: llamada a un procedimiento de forma que, mediante


parámetros el objeto que se envía al mismo es el espacio de direcciones del
objeto original, el cual guarda el procedimiento llamador. De esta forma
cualquier cambio sobre el mismo será más difícil de implementar debido al
cruce de direcciones.

69
 llamada por valor: llamada a un procedimiento de forma que, con la ayuda
de parámetros el objeto que se envía al mismo es una copia del original que
guarda el procedimiento llamador. De esta forma cualquier cambio sobre el
mismo afectará solo a la copia.

 protocolos: estándar de comunicación entre distintos dispositivos físicos o


procesos mediante el cual se regulan los mecanismos y políticas a seguir
para llevar a cabo una transmisión perfecta de datos.

 recurso: objetos o dispositivos que son utilizados por una computadora, para
poder realizar todos los trabajos y tareas que se requieren a partir de las
peticiones que van realizando los procesos del sistema. Entre otros en una
computadora tenemos como recursos los siguientes: memoria principal,
dispositivos de memoria secundaria, y cualquier dispositivo periférico
direccionable. Además estos pueden ser o no compartibles.

 red de máquinas heterogéneas: conjunto de ordenadores de distinta


naturaleza o composición interna debido a sus distintas arquitecturas.

 semáforo: Un semáforo es un mecanismo software mediante el cual consigo


la sincronización entre procesos concurrentes. Su implementación estará
basada en dos elementos: un entero y un puntero asociado a una cola (que
puede ser nulo). Está controlado mediante una serie de señales conocidas
como WAIT y SIGNAL.

 tubo o tubería: mecanismo software para solucionar problemas de


comunicación y sincronización entre distintos procesos, mediante la
implementación de un canal software de comunicación asíncrono.

 Programa: Conjunto de sentencias/instrucciones que se ejecutan


secuencialmente. Se asemeja al concepto de clase dentro de la POO. Es por
tanto un concepto estático.

 Proceso: Básicamente, se puede definir como un programa en ejecución.


Líneas de código en ejecución de manera dinámica. Se asemeja al concepto
de objeto en POO.

70
 Programa concurrente: Ejecución de acciones simultáneamente.

 Programa paralelo: Programa que se ejecuta en un sistema multi-


procesador.

 Programa distribuido: Programa paralelo para ejecutarse en sistemas


distribuidos.

 Orden de ejecución: A diferencia de los programas secuenciales


el flujo del programa sigue un orden parcial. Ante una misma entrada no se
sabe cuál va a ser el orden seguido.

 Indeterminismo: El orden parcial produce consecuentemente un


comportamiento indeterminista. Es decir, repetidas ejecuciones sobre un
mismo conjunto de datos resultan “diferentes resultados”.

 Exclusión mutua: Como lo que realmente se ejecuta concurrentemente son


las instrucciones de ensamblador, cuando se comparten variables se
excluyen los valores. Por ejemplo, dos bucles que hacen x=x+1.

 Threads: entidades ligeras en el espacio de usuario. Cambios de contexto


poco costosos.

CONCLUSIÓN

En conclusión, la programación de dispositivos móviles es una disciplina crucial en


la actualidad, debido al creciente uso de dispositivos móviles en todo el mundo. La
programación de aplicaciones móviles implica la creación de aplicaciones para
teléfonos móviles y tabletas, que ofrecen funcionalidades y servicios a los usuarios
en tiempo real.

Para poder desarrollar aplicaciones móviles, se requiere una amplia gama de


habilidades y conocimientos, que incluyen programación, diseño de interfaces de
usuario, gestión de bases de datos, seguridad y optimización de rendimiento, entre
otros. Los lenguajes de programación más utilizados en el desarrollo de
aplicaciones móviles son Java, Swift y Kotlin, entre otros. Además, existen muchas

71
herramientas y plataformas que se pueden utilizar para facilitar el proceso de
desarrollo, como Android Studio, Xcode, Xamarin y React Native, entre otros.

La programación de dispositivos móviles ofrece muchas oportunidades para los


desarrolladores de software, ya que existe una gran demanda de aplicaciones
móviles en todo el mundo. Los desarrolladores pueden trabajar en proyectos
independientes o para empresas especializadas en el desarrollo de aplicaciones
móviles. Además, también pueden publicar sus propias aplicaciones en tiendas de
aplicaciones como Google Play y Apple Store, lo que les permite generar ingresos y
llegar a un público global.

Es importante tener en cuenta que, aunque la programación de dispositivos móviles


ofrece muchas ventajas y oportunidades, también presenta desafíos y problemas,
como la seguridad de los datos, la optimización del rendimiento y la compatibilidad
con diferentes dispositivos y sistemas operativos. Por lo tanto, es necesario estar
actualizado en las últimas tendencias y tecnologías, y seguir buenas prácticas de
desarrollo para garantizar la calidad y seguridad de las aplicaciones móviles.

En resumen, la programación de dispositivos móviles es un campo emocionante y


en constante evolución que ofrece muchas oportunidades para los desarrolladores
de software. Con la demanda creciente de aplicaciones móviles en todo el mundo,
es un campo en el que se puede crecer y desarrollar habilidades y conocimientos
para enfrentar los desafíos del futuro.

BIBLIOGRAFÍA

 Perfil, V. (2019, May 8). 5.4 DESARROLLO DE APLLICACIONES MOVILES.

https://dispositivosmivilesuni5tap.blogspot.com/2019/05/53-entorno-operativo-

de-las.html

 Unknown. (n.d.). UNIDAD 1.

http://desaplidenniscasas.blogspot.com/2014/05/1.html

72
 Jiménez, G. (n.d.). 5.1 Introducción a las tecnologías y herramientas móviles.

https://programacionenxamarin.blogspot.com/p/51-introduccion-las-

tecnologias-y.html

 Jiménez, G. (n.d.-b). 5. 2 Clasificación y aplicaciones de los dispositivos

móviles. https://programacionenxamarin.blogspot.com/p/5-2.html

 Jiménez, G. (n.d.-d). 5.3 Entorno operativo de las aplicaciones móviles.

https://programacionenxamarin.blogspot.com/p/53-entorno-operativo-de-

las.html

 Jiménez, G. (n.d.-c). 5. 4 Desarrollo de aplicaciones móviles.

https://programacionenxamarin.blogspot.com/p/5-4-desarrollo-de-

aplicaciones-moviles.html

 Jiménez, G. (n.d.-d). 5. 5 Aspectos de seguridad.

https://programacionenxamarin.blogspot.com/p/5-5.html

 AMBIENTES DE LAS APLICACIONES - Tópicos Avanzados de

Programación. (n.d.).

https://sites.google.com/site/topicos341m/home/ambientes-de-las-

aplicaicones

 Clasificación y aplicaciones de dispositivos moviles - Tópicos Avanzados de

Programación. (n.d.).

https://sites.google.com/site/topicos341m/home/clasificacion-y-aplicaciones-

de-dispositivos-moviles

73
 DISPOSITIVOS MOVILES - Tópicos Avanzados de Programación. (n.d.).

https://sites.google.com/site/topicos341m/home/dispositivos-moviles

 INTRODUCCIÓN - Tópicos Avanzados de Programación. (n.d.).

https://sites.google.com/site/topicos341m/home/introduccion

 PROGRAMACIÓN DE TELEFONOS MOVILES - Tópicos Avanzados de

Programación. (n.d.).

https://sites.google.com/site/topicos341m/home/programacion-de-telefonos-

moviles

 (S/f). Recuperado el 8 de mayo de 2023, de

http://file:///C:/Users/52271/Downloads/scribd.vdownloaders.com_unidad-5-

topicos-avanzados-de-programacion.pdf

74

También podría gustarte