Uploaded by robe.inostroza

PGY4221 Exp2 guia de aprendizaje S6

advertisement
Programación Aplicaciones Móviles (PGY4221)
Experiencia 2
Semana 6: Aplicar datos a Mi App
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Temáticas
INTRODUCCIÓN A LA SEMANA ....................................................................................................................... 3
RESULTADO DE APRENDIZAJE (RA) – INDICADOR DE LOGRO (IL)....................................................................... 3
PALABRAS CLAVES ......................................................................................................................................... 4
ROUTE GUARDS (GUARDIANES DE RUTAS) ...................................................................................................... 5
ANGULAR ROUTE GUARDS .................................................................................................................................... 5
CREACIÓN DE ROUTE GUARDS ............................................................................................................................... 6
ADJUNTAR LOS ROUTE GUARDS A UNA RUTA ........................................................................................................... 8
PERSISTENCIA ............................................................................................................................................... 9
CIERRE DE LA SEMANA ................................................................................................................................ 10
REFERENCIAS .............................................................................................................................................. 11
APUNTES .................................................................................................................................................... 12
2
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Introducción a la semana
En esta semana realizarás la actividad sumativa de la Experiencia 2 que consiste en una actividad
con encargo llamada “Aplicar datos a mi App”, en donde deberás integrar la aplicación semestral
iniciado la experiencia anterior con una Persistencia de datos y a un servicio API Rest mediante
peticiones Http, junto con programar una navegación compleja siguiendo los estándares de la
industria y lineamientos de la documentación oficial. Una vez desarrollada la solución, deberás
comprimir el proyecto en un ZIP o RAR, excluyendo las carpetas e2e y node_modules y enviarlo de
forma digital al AVA, igualmente deberás presentar tu proyecto.
Resultado de Aprendizaje (RA) – Indicador de Logro (IL)
Resultado de Aprendizaje (RA)
Indicador de Logro (IL)
RA 2. Desarrolla una nueva versión híbrida de la IL4. Mejora la usabilidad y las prestaciones del
aplicación móvil, considerando el uso de
equipo a través del enrutamiento en la
prestaciones, el manejo de interfaces y API's que navegación de la aplicación conforme a los
permitan la optimización de códigos y un
requerimientos del cliente.
correcto desarrollo de sus funciones.
IL5. Añade API's para la programación de
consultas síncronas.
IL6. Programa, consultas asíncronas con
persistencia de datos.
IL7. Añade plugins a la aplicación, considerando
la documentación del desarrollador del plugin.
IL8. Considera la performance en el uso de los
componentes del dispositivo, modelando el
estado y los datos de la aplicación.
3
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Palabras claves

Persistencia

SQLite

LocalStorage

Native Storage

APIs

Plugins Native Camara

Plugins Native Geolocalizacion
4
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Route Guards (Guardianes de Rutas)
Veamos cómo usar protectores de ruta con enrutamiento angular para evitar el acceso a ciertas
rutas si no se cumplen ciertas condiciones. Un ejemplo común de esto es impedir el acceso a
ciertas páginas si el usuario no está logueado, y en eso nos estaremos enfocando.
Angular Route Guards
La idea básica detrás de un guardián de ruta es que usted adjunta un servicio que actúa como
"route Guards" a una ruta en particular. Ese servicio tiene un método canActivate que regresará
dependiendo de si se le debe permitir al usuario ir a esa ruta o no. Si el método canActivate
devuelve falso, el usuario no podrá acceder a la ruta.
Los route guards (protectores de ruta) hacen que el proceso de proteger ciertas rutas y redirigir al
usuario sea bastante simple y, en mi opinión, más manejable que usar protectores de navegación
como ionViewCanEnter en componentes individuales. El resultado final se parece a esto:
Figura 1: Routes
Nota. Microsoft. (s.f.). Visual Studio Code (1.74). [Software]. VS Code
https://code.visualstudio.com/
Todo lo que tenemos que hacer es agregar una propiedad adicional a las definiciones de ruta para
determinar si la ruta se puede activar. Dado que las rutas en el ejemplo anterior tienen carga
diferida, también podríamos usar canLoad en lugar de canActivate para evitar por completo la
carga de los children para esa ruta (en lugar de solo evitar el acceso).
5
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Es importante tener en cuenta que la mayoría de las cosas que implementamos en el lado del
cliente (es decir, no en un servidor) son más para la experiencia del usuario que para la seguridad.
El código del lado del cliente es accesible/modificable por el usuario, por lo que nunca debe usar
guardias de ruta para proteger la información que no desea que el usuario vea (al igual que no
debe usar únicamente el código del lado del cliente para validar/desinfectar el código del usuario
de datos introducidos). Piense en los route guards como un guardia de seguridad amigable que
dirige el tráfico: pueden mantener a las personas alejadas de donde se supone que no deben estar
y dirigirlas a donde deben ir, pero cualquier persona con intenciones maliciosas podría pasar
fácilmente junto al guardia. Cualquier cosa en su aplicación que deba mantenerse segura solo
debe ser accesible a través de un servidor con el que se comunica su aplicación.
Creación de Route Guards
Crear un route guards es tan simple como crear un servicio que implemente un método
canActivate. Por ejemplo, podríamos generar un servicio AuthGuard con el siguiente comando:
Figura 2: AuthGuard
Nota. Microsoft. (s.f.). Visual Studio Code (1.74). [Software]. VS Code https://code.visualstudio.com/
Luego, todo lo que necesita hacer es hacer que este método canActivate regrese verdadero o falso
puedes hacer lo que quiera para determinar ese valor:
6
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Figura 3: Método canActivate
Nota. Microsoft. (s.f.). Visual Studio Code (1.74). [Software]. VS Code
https://code.visualstudio.com/
En este ejemplo, acabamos de configurar un objeto ficticio llamado authInfo que tiene un
authenticated valor falso. En una situación de la vida real, simplemente extraeríamos esta
información de autenticación de lo que sea responsable de autenticar al usuario. Luego
verificamos ese valor, y si el usuario no está autenticado, lo enviamos de regreso a la página de
inicio de sesión y regresamos false; de lo contrario, simplemente regresamos, lo true que
permitirá que la navegación continúe.
Aunque no lo estamos usando, también lo hemos inyectado ActivatedRouteSnapshot, lo que le
permitirá acceder a detalles sobre la ruta por la que navega el usuario. Es posible que necesite
detalles sobre la ruta, como los parámetros que se proporcionaron, para determinar si permite o
no que un usuario continúe.
7
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Adjuntar los Route Guards a una Ruta
Todo lo que queda por hacer una vez que crea el protector de ruta es importarlo al archivo que
contiene sus rutas y adjuntarlo a cualquier ruta que desee proteger con él:
Figura 4: Importar rutas
Nota. Microsoft. (s.f.). Visual Studio Code (1.74). [Software]. VS Code
https://code.visualstudio.com/
El enfoque que utiliza el enrutamiento angular para los protectores de ruta/navegación es
bastante similar al final a la forma en que lo habría hecho ionViewCanEnter; en última instancia, es
solo una función que devuelve true o false. Sin embargo, creo que el beneficio de este enfoque es
que está un poco más organizado y es más fácil aplicar protecciones a varias rutas.
8
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Persistencia
Hay ocasiones en las que la aplicación requiere que los datos que hubiera resultado de la historia
de previas ejecuciones, se mantengan, es decir que sean persistentes (por ejemplo que fotos
añadidas en anteriores ejecuciones se vean en los listados de futuras ejecuciones del programa),
mientras que hay otras ocasiones en las que la aplicación requiere que los datos de anteriores
ejecuciones no se mantengan y se empiece desde cero tras cada nueva ejecución, es decir los datos
no sean persistentes (por ejemplo que al principio el listado de fotos esté vacío y se muestren sólo
las fotos que se han tomado en la última sesión).
Una buena forma de practicar un paso a paso de cómo generar persistencia en Ionic es revisar la
guía de la semana 4, pues ahí te encontrarás con los comandos de instalación de SQLite en tu
proyecto y además el código que debes implementar para generar persistencia de datos.
9
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Cierre de la semana
En esta semana podrás demostrar lo aprendido en la semana 4 y 5, donde te darás cuenta que
pudiste agregar seguridad a tu aplicación a través de los route guards, impidiendo que los usuarios
no autorizados puedan acceder a información de tu aplicación, también pudiste desplegar y
consumir una APIs desde tu aplicación móvil, esto abre un sinfín de posibilidades para generar los
CRUD de tu aplicación en una base de datos fuera de tu dispositivo y así desde tu aplicación móvil
acceder a los datos del backend.
Los recursos nativos de Cámaras y Geolocalización de tu dispositivo pueden ser incorporados en la
usabilidad de las reglas de negocio de tu aplicación si así lo requiriere.
10
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Referencias
Eliteionic (s.f.). Guardias de ruta Angular. https://eliteionic-com.translate.goog/tutorials/preventaccess-to-pages-in-ionic-with-angular-routeguards/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc
Ionic framework (s.f.). Install camera. https://ionicframework.com/docs/native/camera
11
Programación Aplicaciones Móviles (PGY4221)
Semana 6: Aplicar datos a Mi App
Apuntes
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
12
Facilitador disciplinar: Sergio Fuentes
Asesor par: Victor Rosendo
Reservados todos los derechos Fundación Instituto Profesional Duoc UC. No se permite copiar, reproducir, reeditar,
descargar, publicar, emitir, difundir, de forma total o parcial la presente obra, ni su incorporación a un sistema
informático, ni su transmisión en cualquier forma o por cualquier medio (electrónico, mecánico, fotocopia, grabación
u otros) sin autorización previa y por escrito de Fundación Instituto Profesional Duoc UC La infracción de dichos
derechos puede constituir un delito contra la propiedad intelectual.
13
Related documents
Download