Arquitectura de Aplicaciones

1

¡Renovaremos este curso! Te quedan unos días para concluirlo.

2

Pasos para aprender Flutter Avanzado

3

¿Qué es una Arquitectura de software?

4

Tipos de Arquitecturas para Flutter

5

Arquitectura BLoC en Flutter

6

¡Renovaremos este curso! Te quedan unos días para concluirlo.

7

BLoC + Clean Architecture en Flutter

8

Estructurando nuestro proyecto utilizando la Arquitectura BLoC

9

Haciendo BLoC Singleton en Flutter

10

Aplicando Providers al Proyecto

Firebase y Flutter

11

¡Renovaremos este curso! Te quedan unos días para concluirlo.

12

Integrando Firebase Authentication, Cloud Firestore y Firebase Storage al proyecto

13

Integrando Firebase a Flutter para iOS

14

Integrando Firebase a Flutter para Android

15

Creación de Pantalla de Login con Flutter

16

Creando botones reutilizables en Flutter

17

Autenticación de Firebase con Google

18

¡Renovaremos este curso! Te quedan unos días para concluirlo.

19

Implementando Firebase Authentication en BLoC Pattern

20

Streams en Flutter

21

Manejando una sesión con Firebase Authentication y Flutter

22

Implementando Google SignOut en BLoC

23

Implementando Google SignOut en View

24

Monitoreando y validando la conexión al Sign con Google

25

Mostrando los datos de usuario de Google en la interfaz en Flutter

Cloud Firestore de Firebase en Flutter

26

¡Renovaremos este curso! Te quedan unos días para concluirlo.

27

¿Qué es Cloud Firestore de Firebase?

28

Analizando un modelo de datos no relacional

29

Creando un Modelo de datos en Cloud Firestore

30

Enviando datos a Cloud Firestore

31

Creando un Widget gradiente personalizado

32

Manejo de Desbordamiendo de Texto de Widget Text

33

Botón de Back en un Appbar en Flutter

34

Navegación entre pantallas en Flutter

35

Widget Text Appbar personalizado en Flutter

36

¡Renovaremos este curso! Te quedan unos días para concluirlo.

37

Widget TextField personalizado en Flutter

38

Creando una Safe Area para una interfaz que tiene un AppBar

39

Widget TextField con iconos en Flutter

40

Retocando el CardView

41

Mostrando imágenes en un CardView

42

Creando un botón de Submit en Flutter

43

Envío de datos de un fórmulario en Flutter

44

Subiendo datos a Firestore de Firebase

45

Formularios en Flutter

Acceso al Hardware con Flutter

46

¡Renovaremos este curso! Te quedan unos días para concluirlo.

47

Acceso a la cámara en Flutter

48

Librerías de acceso a Hardware en Flutter

Firebase Storage en Flutter

49

¡Renovaremos este curso! Te quedan unos días para concluirlo.

50

Qué es y cómo funciona Firebase Storage en Flutter

51

Subiendo una imagen a Firebase Storage desde Flutter

Querys avanzados en Cloud Firestore de Firebase en Flutter

52

¡Renovaremos este curso! Te quedan unos días para concluirlo.

53

Manejo de imágenes en Cloud Firestore

54

Cloud Firestore insertando referencias y arrays en la base de datos

55

Descargar imágenes de Firebase Storage y mostrarlas en Flutter

56

Procesando datos con BLoC Pattern

57

Trayendo datos de Cloud Firestore

58

Persistiendo datos de un usuario logueado

59

Aplicando Filtros en Cloud Firestore

60

¡Renovaremos este curso! Te quedan unos días para concluirlo.

61

Construyendo los Places en la pantalla de Home

62

Mostrando los Places en la pantalla de Home

63

Actualizando datos en tiempo real

64

Manejando la lógica de likes, como botón toggle.

65

Insertando y obteniendo referencias en datos de Firestore.

66

Usando el caché para cargar imágenes más rápido

67

StreamController, sink, add y StreamBuilder

Conclusiones

68

¡Renovaremos este curso! Te quedan unos días para concluirlo.

69

Conclusiones

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Avanzado de Flutter

Curso Avanzado de Flutter

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Integrando Firebase a Flutter para iOS

13/69
Recursos

Ahora en esta clase configuraremos Flutter y Firebase para iOS. Cuando desarrollamos con Flutter debemos siempre tener un ojo en Android y otro en iOS, en lo que instalación de paquetes respecta, una que funciona bien en Android puede romperse en iOS o viceversa; en esta clase te mostraremos cómo implementar bien iOS.

Debemos registrar la aplicación en Firebase así como lo hicimos para registrarlo con Android.

Repasemos los puntos que irán en este vídeo:

  • No implementar Firebase con cocoapods.
  • Pegar el archivo GoogleService-Info.plist a nivel de Runner
  • Para Google Sign In:
  • Copiar el fragmento de código para el key CFBundleURLTypes que se encuentra aquí.
  • Para CloudFirestore:
  • Actualizar Firebase con el comando pod: $ pod update Firebase

Aquí puedes acceder al repositorio.

Aportes 38

Preguntas 12

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Tanto batallar para hacerla correr en android y ahora necesito una mac haha, VVLV

Estoy siguiendo los cursos y me pareció muy bueno el de dart y el de flutter. Seguí los 2 cursos a la par con los de otra plataforma (CF) y los complemente excelentemente.

Pero a pesar que el contenido de este curso (Flutter Avanzado) es interesante y me encanta firebase, de hecho lo uso en desarrollo android, me parece que no era el lugar para ponerlo.

Considero que hay otras cosas mas sobre Flutter que se puede hablar (estoy siguiendo a la par el 3er curso de la otra plataforma tambien), antes de empezar a verlo integrada con una tecnologia como Firebase, y hasta me parece que podria ir como un curso a parte.

o en su defecto tendria que ir al final de todo el curso avanzado como algo agregado, asi como hicieron con Dart , no tan atinado pero bueno, al menos lo pusieron al final de todo. Igual acabaré el curso ,la app y aprobaré el examen mas adelante como lo hice con los 2 anteriores, pero debo hacer un alto acá para ir a la otra plataforma a continuar con lo que considero el camino correcto antes de ver integracion con firebase, me parece se comieron una gran parte de temas a tratar antes de tocar Flutter con Firebase. Como digo incluso podría hacerse como un curso a parte, incluso despues de aprender a trabajar con BD, luego de aprender a consumir servicios en general, etc. Me encanto ver el tema de arquitectura, pero luego creo que se salieron del camino. Con lo cual tanto el curso de Dart y Flutter me parecieron muy ordenados, pero este desafortunadamente no. 👎 . No me afecta mucho el tema de firebase ya que ya lo he manejado en mis apps android y uso mi mac sin problemas para IOS, pero a alguien que recien empieza podria serle confuso y ni siquiera tener una mac para probar que todo lo que esta haciendo le va bien (de hecho la profesora lo comenta antes de iniciar con Firebase), de hecho lo he leido en los comentarios de algunos compañeros. Es una critica con buena onda. Volvi a Platzi despues de mucho tiempo, por una oferta de Freddy(gracias freddy 😄) y me lleve un buen sabor de boca con los 2 primeros cursos que hicieron interesarme mas en la tecnologia Flutter y aprenderlo ahora si de verdad, tanto que adquiri tambien una suscripcion en otra plataforma para complementar todo Flutter, (de hecho voy a continuar con mi suscripcion en platzi por los cursos de IOS), pero el tercer curso de Flutter (Flutter avanzado) me parece fuera de tiempo en la linea de aprendizaje de esta tecnologia, hay mas cosas que se podrian ver antes de juntarlo con Firebase.

En mi caso, para poder ejecutar el pod update Firebase tuve que ejecutar primero la aplicación en el simulador de iOS.

Con eso se crea el archivo Podfile y ya se puede ejecutar el comando para actualizar Firebase.

Hasta ahora me ha gustado el curso tanto básico como avanzado, pero lo que no veo, hasta ahora, en ningún chat por video, es que la “experta” en el tema participe aclarando dudas expuestas…

se debe ejecutar pod install antes de pod update Firebase

Yo queriendo configurar todo para iOS pero sin Mac es imposible que lastima… 😢

Hay mucho que mejorar en los cursos, el “yo ya ejecute el comando por eso no lo ejecutare” eso no lo debería decir ni hacer, es un curso para enseñar por lo tanto debería ejecutar todos los comandos para que el aprendizaje de los estudiantes sea mas fácil y fluido


Alguien pudo habilitar la opcion Fluter al hacer cllick derecho en la carpeta IOS en windows?

Esta muy cool el curso, me esta gustando mucho, yo desarrollo en iOS y bueno, creo aqui falto explicar un poco más el por qué no debe agregarse el pod

Por lo que vi es que flutter por defecto te instala el Podfile por defecto, no es que no lo ocupemos, es que realmente ya esta creado en el proyecto, en dado caso que no lo tengas si tendrías que crearlo.

MBP-de-Victor:ios victor$ ls Flutter Frameworks ->>Podfile Runner Runner.xcodeproj Runner.xcworkspace ServiceDefinitions.json

Es como un gradle pero para iOS , el update sirve para actualizar el firebase y realmente yo recomendaría en lugar de hacer el update hacer un :
pod install
posiblemente sirva mejor =)

Si tienen problemas con pod update Firebase pueden descargar los archivos “Podfile” y “Podfile.lock” del repositorio:

https://github.com/anncode1/Curso-de-Flutter-Avanzado-en-Platzi/tree/4.FirebaseiOS/ios

Después si podrán ejecutarlo.

Yo ya ejecute el comando por eso no lo ejecutaré. "Yo ya lo ejecuté, ..., yo no lo voy a ejecutar, ... este paso te lo recomiendo"

y yo que pensaba configurar todo ios desde vscode

En mi caso no tengo errores, funciona el simulador y todo, pero nunca se sincroniza con Firebase. se queda esperando eternamente que finalice el proceso

Mi consola muestra lo siguiente:

Launching lib/main.dart on iPhone 11 Pro Max in debug mode...
Running Xcode build...
Xcode build done.                                           28,2s
	path: satisfied (Path is satisfied), interface: en0
Configuring the default Firebase app...
Configured the default Firebase app __FIRAPP_DEFAULT.
Syncing files to device iPhone 11 Pro Max...
	path: satisfied (Path is satisfied), interface: en0
	path: satisfied (Path is satisfied), interface: en0
	[C1.1 1A01B709-91F1-4AD8-B133-2D5B37CC86A7 2800:300:6311:40f0::2.53518<->2800:3f0:4003:c01::5f.443]
	Connected Path: satisfied (Path is satisfied), interface: en0
	Duration: 240.202s, DNS @0.007s took 0.007s, TCP @0.021s took 0.011s, TLS took 0.126s
	bytes in/out: 0/0, packets in/out: 0/0, rtt: 0.000s, retransmitted packets: 0, out-of-order packets: 0```

Algo que falta acá es aclarar, que para implementar en iOS, sí o sí se tiene que tener un Mac. Esta parte del curso está enfocada únicamente para iOS pero no muchos tienen uno.

prueba

Curso esta demasiado desactualizado

Tal vez a alguién ayude, cuando le salga el error de
module cloud_firestore not found

colocar en el ios/podfile lo siguiente

target 'Runner' do
  pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '8.9.0'
  use_frameworks!
  use_modular_headers!

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

y en caso estuvieran trabjando con el chip M1 van a requerir previamente correr:

sudo arch -x86_64 gem install ffi

y en su archivo /users/[su_usuario]/.zshrc añadir lo siguiente

alias pod='arch -x86_64 pod'

espero ayude en algo, ya que me estuvo dando un par de horas de dolor de cabeza.

Para error al correr cocoapods me funcionó quitar el comentario en línea del podfile platform: ios, '9.0' Y cambiar la versión a 10

me sale desabilitare la opcion de fluuter con IOS CUAL SERIA EL PROBLEMA?

Este fue el log al correr la app en mi android. Aunque sí instaló la aplicación y confirmo en firebase que se conectó correctamente

Launching lib/main.dart on SM G9650 in debug mode...
Running Gradle task 'assembleDebug'...

Welcome to Gradle 4.10.2!

Here are the highlights of this release:
 - Incremental Java compilation by default
 - Periodic Gradle caches cleanup
 - Gradle Kotlin DSL 1.0-RC6
 - Nested included builds
 - SNAPSHOT plugin versions in the `plugins {}` block

For more details see https://docs.gradle.org/4.10.2/release-notes.html

ERROR: [TAG] Failed to resolve variable '${junit.version}'
ERROR: [TAG] Failed to resolve variable '${animal.sniffer.version}'
ERROR: [TAG] Failed to resolve variable '${animal.sniffer.version}'
Note: /Users/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.3.4/android/src/main/java/io/flutter/plugins/firebase/core/FirebaseCorePlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: /Users/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.9.13+1/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.9.13+1/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
✓ Built build/app/outputs/apk/debug/app-debug.apk.
Installing build/app/outputs/apk/app.apk...
Debug service listening on ws://127.0.0.1:52687/jx3pVGNV508=/ws
Syncing files to device SM G9650...

Si alguno le sale que el comando pod no ha sido encontrado,

Para MAC:

brew install cocoapods
brew cask install cocoapods-app

luego si les debe funcionar pero recuerden cerrar la terminal

pod ios

Si me toco batallar con la integracion con android jajaja pero si me esforce para no tener la excusa de dejar el curso!!! pero que batalla!

para los que les da error el install pod file, vayan al archivo Podfile y debajo de flutter_ios_podfile_setup especifican la plataforma ios del emulador con la siguiente linea.

platform :ios, '15'

en mi caso el emulador de iphone tiene la version osx 15 pueden ir a settings/generals/about/ Software Version y alli les dice que version de osx tiene el emulador

Para el id se le debe quitar el com.example por que a la hora de compilar, te regaña con un:

It appears that your application still contains the default signing identifier.
Try replacing 'com.example' with your signing id in Xcode

Y usando una Mac m1 tuve que correr primero el comando:

$ arch -x86_64 sudo gem install ffi 

Presiento que no habrá curso de Flutter con xcode, será que xcode es incompatible para dart? alguien me puede aclarar esto de una vez? porque sinceramente pensaba en aprender xcode con flutter pero veo que no será así es decir he escuchado que es el mejor entorno de desarrollo que hay, ¿existe la posibilidad de usar Dart en xcode?

Recomiendo cuando hagan estos cambios tan criticos hacer un flutter clean dentro del directorio del proyecto ya que así te puedes evitar errores del entorno de programación (En mi caso Visual Studio Code)

En mi caso me toco crear el archivo Podfile.lock a partir del repositorio de github https://github.com/anncode1/Curso-de-Flutter-Avanzado-en-Platzi/tree/4.FirebaseiOS/ios

com.google.android.apps.messaging W/InstanceID: Instance ID SDK is deprecated, com.google.android.apps.messaging should update to use Firebase Instance ID

Ayuda por favor

Costó pero salió!, iOS ya conectado a firebase, aunque android nunca conecto, pero se que mas adelante funcionara.

yo no tengo una mac, como puedo emular mi aplicación para ios.!!!

No se que es eso pero igual la pagina de firebase no dice de que se haya conectado, aun esta cargando.

2020-03-30 15:04:06.571 6831-6851/com.anncode.platzitripsapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
2020-03-30 15:04:06.580 6831-6831/com.anncode.platzitripsapp I/FirebaseInitProvider: FirebaseApp initialization successful
2020-03-30 15:04:08.363 6831-6855/com.anncode.platzitripsapp W/.platzitripsap: Verification of android.os.IInterface com.google.firebase.auth.api.internal.zzdw.createServiceInterface(android.os.IBinder) took 202.150ms
2020-03-30 15:04:08.370 6831-6855/com.anncode.platzitripsapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
2020-03-30 15:04:08.834 6831-6855/com.anncode.platzitripsapp I/FirebaseAuth: [FirebaseAuth:] Preparing to create service connection to gms implementation
2020-03-30 15:52:44.593 2601-2601/com.google.android.inputmethod.latin I/FirebaseJobDispatcher: onStartJob(): PeriodicContextualMetrics.
2020-03-30 15:52:44.603 2601-2601/com.google.android.inputmethod.latin I/FirebaseJobDispatcher: Task: PeriodicContextualMetrics successes.

En windows 10 , puedo abrir el entorno Xcode ?

si tenemos dispisitivo android este video lo omitimos? ademas me sale en gris la opción de flutter para la carpeta ios porque es eso

Ayuda! A alguien mas le pasa que ejecuta el smiluador para IOS, se abre normalmente, pero no aparece en el listado donde se selecciona en que simulador va a correr la aplicacion??

Genial! todo perfecto! 😉

Hola Estoy siguiendo el curso al pie de la letas. Hasta ahora todo al 100%, pero yo tengo Ubuntu. Como puedo identificar los datos para registrar el producto en firebase?

A alguien más le pasa que dura una eternidad en cargar la app al emulador?