Descarga la aplicación para disfrutar aún más
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
Compartir