{_ /}
( • •) No puedo dar más galletas, pero, ten una estrellita viajero
/>★>
Arquitectura de Aplicaciones
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Pasos para aprender Flutter Avanzado
¿Qué es una Arquitectura de software?
Tipos de Arquitecturas para Flutter
Arquitectura BLoC en Flutter
BLoC + Clean Architecture en Flutter
Estructurando nuestro proyecto utilizando la Arquitectura BLoC
Haciendo BLoC Singleton en Flutter
Aplicando Providers al Proyecto
Firebase y Flutter
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Integrando Firebase Authentication, Cloud Firestore y Firebase Storage al proyecto
Integrando Firebase a Flutter para iOS
Integrando Firebase a Flutter para Android
Creación de Pantalla de Login con Flutter
Creando botones reutilizables en Flutter
Autenticación de Firebase con Google
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Implementando Firebase Authentication en BLoC Pattern
Streams en Flutter
Manejando una sesión con Firebase Authentication y Flutter
Implementando Google SignOut en BLoC
Implementando Google SignOut en View
Monitoreando y validando la conexión al Sign con Google
Mostrando los datos de usuario de Google en la interfaz en Flutter
Cloud Firestore de Firebase en Flutter
¡Renovaremos este curso! Te quedan unos días para concluirlo.
¿Qué es Cloud Firestore de Firebase?
Analizando un modelo de datos no relacional
Creando un Modelo de datos en Cloud Firestore
Enviando datos a Cloud Firestore
Creando un Widget gradiente personalizado
Manejo de Desbordamiendo de Texto de Widget Text
Botón de Back en un Appbar en Flutter
Navegación entre pantallas en Flutter
Widget Text Appbar personalizado en Flutter
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Widget TextField personalizado en Flutter
Creando una Safe Area para una interfaz que tiene un AppBar
Widget TextField con iconos en Flutter
Retocando el CardView
Mostrando imágenes en un CardView
Creando un botón de Submit en Flutter
Envío de datos de un fórmulario en Flutter
Subiendo datos a Firestore de Firebase
Formularios en Flutter
Acceso al Hardware con Flutter
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Acceso a la cámara en Flutter
Librerías de acceso a Hardware en Flutter
Firebase Storage en Flutter
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Qué es y cómo funciona Firebase Storage en Flutter
Subiendo una imagen a Firebase Storage desde Flutter
Querys avanzados en Cloud Firestore de Firebase en Flutter
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Manejo de imágenes en Cloud Firestore
Cloud Firestore insertando referencias y arrays en la base de datos
Descargar imágenes de Firebase Storage y mostrarlas en Flutter
Procesando datos con BLoC Pattern
Trayendo datos de Cloud Firestore
Persistiendo datos de un usuario logueado
Aplicando Filtros en Cloud Firestore
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Construyendo los Places en la pantalla de Home
Mostrando los Places en la pantalla de Home
Actualizando datos en tiempo real
Manejando la lógica de likes, como botón toggle.
Insertando y obteniendo referencias en datos de Firestore.
Usando el caché para cargar imágenes más rápido
StreamController, sink, add y StreamBuilder
Conclusiones
¡Renovaremos este curso! Te quedan unos días para concluirlo.
Conclusiones
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Anahí Salgado Díaz de la Vega
Aportes 12
Preguntas 0
{_ /}
( • •) No puedo dar más galletas, pero, ten una estrellita viajero
/>★>
Este curso me parece mas un curso de Firebase que de Flutter.
En mi opinión se debió de haber utilizado un método mas general de ejemplo como una rest api (Nodejs, Laravel, Django, RoR, etc…) sin adentrarse en el backend (un repo con instrucciones claras para clonar hubiera sido suficiente). Firebase tiene una manera muy particular y ofuscada de hacer las cosas, que en el caso de que ocupes tecnologías diferentes, resulta practicamente inutil e irrelevante debido a que no proporciona noción práctica para hacerlo de otra manera.
Este curso debería ser correctamente catalogado como “Curso de Firebase con Flutter”. Queda debiendo para los que realmente queríamos aprender Flutter y no Firebase. Ojalá Platzi le ponga mas recursos a Flutter que se ve muy prometedor para el futuro.
Si alguno ha llegado hasta aquí y tuvo problemas para implementar el firebase_storage_api, a mi me quedó así:
import 'dart:io';
import 'package:firebase_storage/firebase_storage.dart';
class FirebaseStorageAPI {
final Reference _storageReference = FirebaseStorage.instance.ref();
Future<UploadTask> uploadFile(String path, File image) async {
// path, directory where to save
// image, real file to store
return Future.value(_storageReference.child(path).putFile(image));
}
}
Las clases StorageReference y StorageUploadTask quedaron obsoletas.
para avanzar en archivo bloc_user.dart
el future me funciono asi
Future<User> currentUsuario() async {
User user = auth.currentUser;
return user;
}
Y en add_place_screen.dart la funcion
userBloc.currentUsuario().then((User user) {
if(user != null){
}
es una lastima que se le dedique tanto tiempo a FireBase y compañia, yo quiero aprender Fluttler.!!!
pues a dia de hoy se cambian unas cosas, aca dejo mi repositorio en el punto exacto del final de esta clase por si alguien lo necesita
Estuve buscando en la documentacion de FirebaseStorage para Flutter y el StorageReference lo termine haciendo asi:
import 'package:firebase_storage/firebase_storage.dart' as firebase_storage;
class FirebasStorageAPI {
firebase_storage.Reference ref =
firebase_storage.FirebaseStorage.instance.ref();
}```
Importante el "as firebase_storage" al final del import
Porque tanta redundancia en la creación de los blocs?
En realidad esta bien que hablemos mucho de Firebase por que esto nos ayudará a proyectos futuros, lo de flutter se puede aprender en la documentación o vídeos en youtube
Genial! esto me confunde un poco. :S
Recuerda que no realiza las funciones de guarda place como un bloc de place , por que es un caso de uso de un usuario, es por ello que lo coloca en el bloc_user.
Sería mejor o adecuado usar el stream del firebaseUser del Bloc para consultar el uid, en vez de consultar el currentState? Tal vez sería bueno por tener menos código, menos funciones…
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?