Introducción a las bases de datos Mobile
Clase 19 de 43 • Curso de Desarrollo de Aplicaciones iOS 2018
Contenido del curso
Autenticación
- 6

NSUserDefaults
09:12 min - 7

Configuración de Firebase
05:59 min - 8

Validación de campos
10:00 min - 9

Auth con Email
11:57 min - 10

Introducción a Model View, View Model
09:02 min - 11

Autenticación con Facebook
14:00 min - 12

Usando Facebook en nuestro proyecto
04:20 min - 13

Autenticación con Twitter
14:07 min - 14

Autenticación con AccountKit y Firebase
14:43 min - 15

Cloud functions
06:05 min - 16

Reto: Login con gmail
00:16 min - 17

Consumir Api con NSURLSession Nativo
10:39 min - 18

Initial view controller programático
04:20 min
Database
- 19

Introducción a las bases de datos Mobile
Viendo ahora - 20

Modelos a JSON
04:00 min - 21

JSON a Modelos
06:50 min - 22

Query a Firestore y almacenamiento local
07:47 min - 23

Llenado de tablas usando la data
05:47 min - 24

Agregar transacciones
06:20 min - 25

Moviendo data a MVVM
16:48 min - 26

Realtime listening
05:44 min - 27

Eliminar transacciones
06:30 min - 28

Asegurando nuestra base de datos
10:54 min
Firebase
In app purchase
App Release
Conclusiones
Las bases de datos son la parte más importante de la aplicación ya que pueden hacer que tu aplicación sea más rápida si tiene la selección correcta y, por otro lado, también puede hacer que tu aplicación sea más lenta si tiene una selección incorrecta de la base de datos de acuerdo con el requisito de solicitud.
¿Por qué las bases de datos son el elemento más importante de una aplicación?
Las bases de datos son:
-
Limitadas en tamaño.
-
Limitadas en recursos.
-
Su proceso de sincronización es diferente.
Por defecto iOS usa CoreData una base de datos relacional, pero no es querida por la comunidad de desarrolladores pues su uso se torna complejo y estricto.
Sin embargo, también existen muchas otras opciones para crear bases de datos, estas son las más populares:
- Firestore.
- Realm.
- Sqlite.
¿En qué se diferencia cada una y cuáles son sus ventajas?
Firestore
Es una base de datos reciente no relacional creada por Firebase que sustituye todo el proceso de sincronización entre dispositivos y la hace mucho más eficiente.
Pros
- Sincronización Realm Time.
- Sincronización con Android.
- Facilidad de uso.
- No es relacional.
- Mantenimiento de Google.
Contras
- Costo.
- No es open source.
Realm
Es quizás una de las opciones más usadas en el mercado, es una base de datos relacional muy robusta, ya que fue construida directamente en C++ y adoptada en cada lenguaje además de esto tiene su propio sistema de ORM (Object Relational Model)
Pros
- Sincronización Realm Time.
- Sincronización con Android.
- La forma de hacer query no es tradicional.
- Pertenece a la comunidad open source.
- Realiza mappeo automático de modelos.
Contras
- Migraciones.
- Tamaño.
- Acoplamiento con Objective C.
SQlite
Es una de las más usadas pues es básicamente una base de datos tradicional SQL tipo Mysql o Postgres metida en tu teléfono tiene limitaciones pues es una versión light, pero su sintaxis SQL no cambia.
Pros
- Curva de aprendizaje.
- Tamaño.
Contras
- No hay sincronización entre dispositivos.
- Alta complejidad de uso a grandes volúmenes.
Pero realmente ¿Cómo elegir la base de datos correcta?
He aquí algunas de las preguntas que debemos hacernos a la hora de elegir tu base de datos mobile:
- ¿Cuál es la estructura de los datos?
- ¿Necesitará una solución de modelado de datos flexible?
- ¿Qué plataformas cliente soporta?
- ¿Cuánta seguridad de datos necesitará?
- ¿Cómo resolverá los conflictos de datos?
- ¿Necesita la capacidad de controlar cómo se sincroniza el sistema?
Cada base de datos tiene ventajas y desventajas en su uso, para nuestro caso práctico vamos a usar Firestore una de las preferidas por muchos por su integración directa con Firebase.