Logo Studenta

DESARROLLO DE APLICACIONES MOVILES

¡Este material tiene más páginas!

Vista previa del material en texto

DESARROLLO DE 
APLICACIONES MOVILES)
M.A. Alex Pacheco Moya
alex.pacheco.moya@gmail.com
El Curso permitirá construir aplicaciones móviles multiplataforma 
según los requerimientos del negocio, considerando los estándares y 
la normatividad vigente que demanda la empresa tecnológica que 
mejore su competitividad.
Logro del Curso
20/09/2023 Alex Pacheco 3
Producto y/o resultado
Desarrolla de forma coherente Apps móviles, haciendo uso de lógica de 
programación. 
Desarrolla Apps moviles empleando las herramientas Visual Studio Code, con 
Node js y tecnología React Native y Framework Expo.
20/09/2023 Alex Pacheco 4
Porcentaje de capacidades
Las unidades 
didácticas van a 
tener el siguiente 
porcentaje 
según el número 
de capacidades.
Número de 
capacidades.
% en EC1 % en 
E.Parcial
% en EC2 % en E.Final
Evaluación 10% 30% 20% 40%
Cronograma de evaluación
Semana 5 Semana 9 Semana 13 Semana 16
Evaluación Continua 1
Evaluación Parcial
Evaluación Continua 2
Evaluación Final
20/09/2023 Alex Pacheco 6
¿Qué es el desarrollo de 
aplicaciones móviles?
• El desarrollo de 
aplicaciones móviles es el 
conjunto de procesos y 
procedimientos 
involucrados en la escritura 
de software para 
dispositivos informáticos 
pequeños e inalámbricos, 
como teléfonos inteligentes 
y otros dispositivos 
portátiles.
https://www.computerweekly.com/es/definicion/Desarrollo-de-aplicaciones-moviles
Tipos de aplicaciones móviles
• Antes de desarrollar una 
aplicación, debe determinar qué 
tipo creará. A continuación, se 
muestra un desglose de varios 
tipos de tecnologías de 
desarrollo de aplicaciones 
móviles con información sobre 
cada una.
https://www.goltratec.com/que-tipos-de-apps-moviles-existen/
1. APLICACIONES NATIVAS
• Estas son las que se desarrollan 
para un determinado sistema 
operativo como es Software 
Development Kit o SDK. 
Dependiendo del sistema operativo 
del dispositivo móvil (Android, 
iOS…) deberás crear diferentes 
tipos de aplicaciones cada una con 
el lenguaje correspondiente a su 
sistema operativo.
https://www.goltratec.com/que-tipos-de-apps-moviles-existen/
Ventajas de las Apps Nativas
• Su descarga e instalación es muy sencilla y se realiza a través 
de la tienda de tu móvil. 
• Las nativas se actualizan constantemente.
• Tienen un completo acceso al dispositivo del usuario (cámara, 
GPS, datos almacenados, agenda, etc.). Esto se traduce en 
una mejora de la experiencia del usuario al facilitarse las 
gestiones con la app. 
• Una de las ventajas que más aprecian los usuarios de este tipo 
de aplicaciones es que no necesitan internet para que 
funcionen.
Desventajas de las App Nativas
• Se necesitará habilitar las diferentes 
herramientas y funciones para las 
distintas plataformas.
• Tienden a ser más costosas. El principal 
reto para los proveedores de 
aplicaciones es proporcionar soluciones 
para todas las plataformas, pero esto 
conlleva un alto costo.
• No es posible reusar el código fuente 
entre plataformas diferentes, 
multiplicando esfuerzos y elevando los 
costos de desarrollo, actualización y 
distribución de nuevas versiones.
2. APLICACIONES WEB
• En este caso la app web ha sido desarrollada 
y programada para ejecutarla en cualquier 
dispositivo o navegador independientemente 
de su sistema operativo. 
• El lenguaje utilizado es el HTML y CSS. Una 
vez el usuario acceda a ella, la aplicación se 
adaptará al dispositivo y sistema que se esté 
utilizando. 
• Estas se ejecutan a través del navegador 
web y mediante una URL como es el caso de 
Google Chrome en Android.
Ventajas de una app Web
• Una sola app y un mismo código para todos los sistemas. Esto 
hace que sea mucho más económica y fácil de desarrollar. 
• Si desarrollas una aplicación web optimizada, los usuarios 
podrán acceder desde cualquier dispositivo: laptop, tablet, 
smartphone, computadora de escritorio, etc. 
• Los usuarios siempre dispondrán de la última versión de esta.
• Funcionan utilizando una conexión de internet y no dependen 
del sistema operativo.
• Están diseñadas para que no tengas que instalar el software de 
aplicación en un dispositivo. 
https://amarilio.com.mx/desarrollo-aplicaciones-web-para-empresas/
Ventajas de 
una app Web
Desventajas de una App Web
• Las aplicaciones web sí necesitan 
internet para funcionar.
• Tienen un acceso muy limitado al 
hardware del dispositivo móvil. 
• A menudo, la experiencia del 
usuario es más negativa que con 
las apps nativas.
• Su tiempo de respuesta es 
menor.
3. APLICACIONES HÍBRIDAS
• Estas son aplicaciones web 
que actúan como aplicaciones 
nativas. Se desarrollan 
utilizando tecnologías como 
HTML, JavaScript y Hojas de 
estilo en cascada (CSS).
• Permiten a las apps móviles 
acceder al hardware de la 
mayoría de los dispositivos.
Ventajas y Desventajas de las 
App Hibridas
https://cl.abstracta.us/blog/pruebas-software-aplicacion-movil/
4. Aplicaciones web progresivas.
• Una PWA es un sitio web que se ve 
y se comporta como si fuera una 
aplicación móvil. Estas aplicaciones 
se desarrollan con tecnologías web 
como Facebook React.
• Las PWA están diseñadas para 
aprovechar las funciones nativas de 
los dispositivos móviles, sin 
necesidad de que el usuario final 
visite una tienda de aplicaciones, 
realice una compra y descargue el 
software localmente.
¿Qué es una Aplicación Web 
Progresiva?
• Como no podía ser de otra forma, Google es el impulsor de este 
tipo de aplicaciones. En la página de Google sobre PWAs nos 
ofrece una definición breve pero concisa.
¿Qué tecnologías utilizan las 
Aplicaciones Webs Progresivas?
• Responsive Web Design o diseño web Responsive.
• Animaciones CSS.
• Frameworks.
• Sevice Workers.
• App Shell.
• Manifiesto de aplicación.
Ventajas de las PWA 
• Diseño Responsive para Todos
PWA es el rey de los diseños sensibles, pero esa no es la única ventaja 
de PWA. La mejor naturaleza del diseño PWA es que responde a todos 
los usuarios
• Responder como Aplicación Móvil
En PWA, todo se almacena en caché de las «aplicaciones», por eso se 
siente más como una aplicación.
• Disponible en Modo Sin Conexión
Una vez que abra un PWA en su navegador web, la memoria caché del 
sitio web se guardará automáticamente en su navegador web. 
https://www.openinnova.es/ventajas-y-desventajas-de-progressive-web-apps-pwa/
Desventajas de las PWA 
• Por el momento, la mayoría de las 
técnicas necesarias para las Aplicaciones 
Web Progresivas están únicamente 
disponibles en Chrome (Android. En iOS 
todavía no funcionan) por lo que su 
audiencia es limitada. Pero, teniendo en 
cuenta que un altísimo porcentaje del 
mercado de móviles en Android, es muy 
posible que a medio plazo se logre 
alcanzar a más gente.
https://nubeser.com/aplicaciones-web-progresivas-sirven/
5. Aplicaciones encapsuladas
• Una aplicación encapsulada se ejecuta 
dentro de una aplicación de contenedor. 
• Productos como la herramienta de creación 
de aplicaciones de arrastrar y soltar Microsoft 
Power App permiten a los desarrolladores 
menos experimentados crear una aplicación 
móvil rápidamente. Pero la falta de 
aislamiento del sistema operativo central, el 
bloqueo del sistema operativo y la novedad 
relativa podrían plantear problemas.
Apps Multiplataforma
Apps multiplataforma. Qué son
• Las aplicaciones multiplataforma son aquellas 
aplicaciones que se caracterizan por ser creadas 
bajo un único lenguaje de programación que 
facilita su exportación y su visualización en 
cualquier tipo de dispositivo independientemente 
de su sistema operativo (iOS o Android).
Tipos
Por un lado, a través del uso de un lenguaje de desarrollo web 
como puede ser HTML5, CSS o JavaScript. De esta forma se 
estaría desarrollando una aplicación como si fuera una web con 
capacidad para adaptarse a cualquier dispositivo. 
Por otro lado, la creación de aplicaciones móviles multiplataforma 
también se puede realizar con herramientas de rendering a nativo. 
En este caso, herramientascomo Flutter o React Native que son 
frameworks que generan código nativo para cada sistema 
operativo. Esto hace que la experiencia de usuario sea igual que 
una app nativa.
Ventajas de las apps 
multiplataforma
La principal ventaja es que son compatibles con todo tipo de
dispositivos y cualquier sistema operativo. Da igual que se
visualice en un smartphone, tablet o pc o que sea para
sistemas Android o iOS. Las aplicaciones multiplataforma se
adaptan a todo sin necesidad de crear diferentes apps.
Al ser desarrolladas bajo un mismo lenguaje, el ahorro de
tiempo, de costes y de recursos es una realidad. A pesar de
esto, su calidad y prestaciones no disminuyen. Las apps
multiplataforma tienen un gran rendimiento que no tiene nada
que envidiar a las aplicaciones nativas.
Desventajas de las aplicaciones 
multiplataforma
A pesar de que las apps multiplataforma se adaptan a todos los
dispositivos, las pruebas y los test no pueden faltar nunca. Por eso,
igualmente hay que comprobar que la app se visualiza correctamente.
Además, cuando se realice cualquier cambio se tiene que volver a
comprobar que todo funciona bien en el resto de dispositivos.
Aunque las aplicaciones sean multiplataforma, hay que generar una
APK (Android) e IPA (iOS) para que funcione bien, por lo que los SDK
para cada plataforma serán necesarios.
Ventajas y 
Desventajas
Diferencias entre web apps y 
apps multiplataforma
Las aplicaciones web no necesitan ser descargadas, se accede a 
ellas a través de una url y el navegador como si fueran una página 
web. Esto hace que el almacenamiento de datos se produzca en la 
nube. Mientras que para acceder a las aplicaciones móviles 
multiplataforma sí que necesitan ser descargadas para acceder a 
ellas.
En cuanto a diseño y a funcionalidades, las web apps están algo más 
limitadas. Por eso, si se necesita un diseño más complejo o un nivel 
de personalización mayor, se recomienda desarrollar aplicaciones 
multiplataforma que se ajusten mejor a las necesidades de cada 
proyecto.
Frameworks multiplataforma 
para desarrollo móvil
• Son:
• 1. Flutter
• 2. Ionic
• 3. React Native
• 4. Xamarin
1. Flutter
• Flutter es un SDK de código 
abierto propiedad de Google 
que permite el desarrollo de 
aplicaciones iOS y Android de 
alto rendimiento a través del 
desarrollo multiplataforma.
• Esta herramienta cuenta con 
muchas funciones, con diseño 
de material, una interfaz de 
usuario flexible y SDK listos para 
usar.
https://keepcoding.io/blog/desarrollo-de-apps-con-flutter/
2. IONIC 
• Ionic es un SDK de código abierto que viene con 
componentes JavaScript y CSS por defecto. Se 
trata de una buena herramienta para crear 
aplicaciones móviles multiplataforma utilizando 
tecnologías web como SASS, HTML5 y CSS.
• Ionic Framework cuenta con más de 120 
características de dispositivos 
nativos, incluyendo Autentificación de huella 
dactilar, HealthKit y Bluetooth. Además, incluye 
extensiones TypeScript y plugins de 
Cordova/PhoneGap.
https://ionicframework.com/
3. React Native
• Fue creado por Facebok en 2015 y sirve para 
crear aplicaciones híbridas. Es una de las 
plataformas más populares entre las empresas 
para construir aplicaciones Android e iOS. Está 
basado en JavaScript y en un conjunto de 
componentes de ReactJS. Proporciona a los 
desarrolladores la posibilidad de escribir módulos 
en lenguajes Objective-C, Swift o Java.
• Fácil de mantener: los desarrolladores y 
empresarios no necesitan mantener dos códigos 
separados haciendo el proceso mucho más 
sencillo.
• Reutilización del código: los desarrolladores 
pueden reutilizar el código escrito para una 
plataforma mientras crean la aplicación para otra.
4. Xamarin
• Xamarin es una plataforma de desarrollo de 
aplicaciones móviles multiplataforma, 
basada en C # y .NET que simplifica la 
ingeniería, el desarrollo y la implementación 
de aplicaciones de Android, iOS y Windows 
Mobile.
• Existen varias características destacadas 
de Xamarin que lo convierten en una opción 
popular entre los desarrolladores de 
aplicaciones, son las siguientes:
Xamarin..
• Está escrito en C #, que es altamente compatible con Visual Studio.
• Admite la verificación de tipo.
• Hace uso de PCL para interacciones de backend.
• Colabora con los SDK móviles para crear aplicaciones móviles (en sistemas de 
escritorio) que responden a los dispositivos móviles.
• Frameworks: Xamarin usa Visual Studio como un marco de desarrollo móvil 
robusto a nivel empresarial para permitir a los desarrolladores implementar 
procesos de diseño y desarrollo complejos usando C # y .NET.
VS Code
Es un editor de código fuente 
desarrollado por Microsoft. Es software 
libre y multiplataforma, está disponible 
para Windows, GNU/Linux y macOS. 
VS Code tiene una buena integración 
con Git, cuenta con soporte para 
depuración de código, y dispone de un 
sinnúmero de extensiones, que 
básicamente te da la posibilidad de 
escribir y ejecutar código en cualquier 
lenguaje de programación
Node js
• Node.js es un entorno en 
tiempo de ejecución 
multiplataforma, de código 
abierto, para la capa del 
servidor basado en el lenguaje 
de programación JavaScript, 
asíncrono, con E/S de datos en 
una arquitectura orientada a 
eventos y basado en el motor 
V8 de Google. Wikipedia
Expo
• Expo es un marco y una plataforma 
para aplicaciones universales de 
React. Es un conjunto de 
herramientas y servicios creados en 
torno a React Native y plataformas 
nativas que lo ayudan a desarrollar, 
construir, implementar e iterar 
rápidamente en iOS, Android y 
aplicaciones web desde la misma 
base de código JavaScript 
/TypeScript..
http://expo.io/
Java Script
• JavaScript es un lenguaje de 
programación o de secuencias de 
comandos que te permite implementar 
funciones complejas en páginas web, 
cada vez que una página web hace 
algo más que sentarse allí y mostrar 
información estática para que la veas, 
muestra oportunas actualizaciones de 
contenido, mapas interactivos, 
animación de Gráficos 2D/3D, 
desplazamiento de máquinas 
reproductoras de vídeo, etc., 
JavaScript está involucrado
Android
• Android es un sistema operativo móvil basado en el núcleo 
Linux y otros software de código abierto. Fue diseñado para 
dispositivos móviles con pantalla táctil, como teléfonos 
inteligentes, tabletas, relojes inteligentes Wear OS, automóviles 
con otros sistemas a través de Android Auto, al igual los 
automóviles con el sistema Android Automotive y televisores 
Android TV.
Android Studio
• Android Studio es el entorno de 
desarrollo integrado oficial para la 
plataforma Android. Fue anunciado 
el 16 de mayo de 2013 en la 
conferencia Google I/O, y reemplazó 
a Eclipse como el IDE oficial para el 
desarrollo de aplicaciones para 
Android. La primera versión estable 
fue publicada en diciembre de 2014. 
Wikipedia.
IOS
• iOS (en inglés “iPhone 
Operating System”) es un 
sistema operativo propietario de 
la empresa Apple Inc utilizado 
en dispositivos como 
smartphones, tablets y otros 
dispositivos como televisiones o 
reproductores mp4, entre ellos 
los famosos iPhone, iPad y 
iPod.
Lenguajes para 
Apps Moviles
REFERENCIAS BIBLIOGRÁFICAS
Referencias electrónicas
Las 10 mejores herramientas de desarrollo de React Native
https://blog.back4app.com/es/las-10-mejores-herramientas-de-desarrollo-de-react-native/
Expo o no: creación de aplicaciones nativas de React
https://es.quish.tv/expo-not-building-react-native-apps
https://blog.back4app.com/es/las-10-mejores-herramientas-de-desarrollo-de-react-native/
	Diapositiva 1
	Diapositiva 2: DESARROLLO DE APLICACIONES MOVILES)
	Diapositiva 3: Logro del Curso
	Diapositiva 4: Producto y/o resultado
	Diapositiva 5: Porcentaje de capacidades
	Diapositiva 6: Cronograma de evaluación
	Diapositiva 7: ¿Qué es el desarrollo de aplicaciones móviles?
	Diapositiva 8: Tipos de aplicaciones móviles
	Diapositiva 9: 1. APLICACIONES NATIVAS
	Diapositiva 10: Ventajas de las Apps Nativas
	Diapositiva 11: Desventajasde las App Nativas
	Diapositiva 12: 2. APLICACIONES WEB
	Diapositiva 13: Ventajas de una app Web
	Diapositiva 14
	Diapositiva 15: Desventajas de una App Web
	Diapositiva 16: 3. APLICACIONES HÍBRIDAS
	Diapositiva 17: Ventajas y Desventajas de las App Hibridas
	Diapositiva 18: 4. Aplicaciones web progresivas.
	Diapositiva 19: ¿Qué es una Aplicación Web Progresiva?
	Diapositiva 20: ¿Qué tecnologías utilizan las Aplicaciones Webs Progresivas?
	Diapositiva 21: Ventajas de las PWA 
	Diapositiva 22: Desventajas de las PWA 
	Diapositiva 23: 5. Aplicaciones encapsuladas
	Diapositiva 24: Apps Multiplataforma
	Diapositiva 25: Apps multiplataforma. Qué son
	Diapositiva 26: Tipos
	Diapositiva 27: Ventajas de las apps multiplataforma
	Diapositiva 28: Desventajas de las aplicaciones multiplataforma
	Diapositiva 29: Ventajas y Desventajas
	Diapositiva 30: Diferencias entre web apps y apps multiplataforma
	Diapositiva 31: Frameworks multiplataforma para desarrollo móvil
	Diapositiva 32: 1. Flutter
	Diapositiva 33: 2. IONIC 
	Diapositiva 34: 3. React Native
	Diapositiva 35: 4. Xamarin
	Diapositiva 36: Xamarin..
	Diapositiva 37: VS Code
	Diapositiva 38: Node js
	Diapositiva 39: Expo
	Diapositiva 40: Java Script
	Diapositiva 41: Android
	Diapositiva 42: Android Studio
	Diapositiva 43: IOS
	Diapositiva 44: Lenguajes para Apps Moviles
	Diapositiva 45: REFERENCIAS BIBLIOGRÁFICAS
	Diapositiva 46

Continuar navegando