Using Firestore as a backend to your Flutter app

Поділитися
Вставка
  • Опубліковано 30 лип 2024
  • The Firebase Cloud FireStore is a fantastic way to put a backend on a Flutter app without the complexities of setting up a personal serverIn this video, Andrew walks through how to integrate a Cloud Firestore database from Firebase into a Flutter app. He also covers what kind of database Cloud Firestore is and how it can help you!
    Flutter is Google’s mobile SDK for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
    Chapters:
    0:00 - What is Cloud FireStore?
    1:40 - Setting up FireStore in console
    2:00 - Register the individual apps for your project
    5:21 - Open underlying xcode project
    8:25 - Base the item count off the number of FireStore documents
    10:20 - firestore to run a transaction
    11:06 - Recap
    Get started with Flutter → flutter.io
    Try the Firebase for Flutter codelab → bit.ly/2JdRFIz
    Join the conversation → bit.ly/2kPWIA7
    Subscribe to Google for Developers → goo.gle/developers
    #Flutter #Firebase
  • Наука та технологія

КОМЕНТАРІ • 246

  • @jungeunwoo6905
    @jungeunwoo6905 5 років тому +43

    Compact with exactly useful information. The most professional flutter tutorial video I've seen so far. Thank you.

  • @LadislavSzolik
    @LadislavSzolik 3 роки тому +6

    Thanks Andrew! That it very useful! I need to say, you got a natural and friendly voice to explain!

  • @therealwtpieh5300
    @therealwtpieh5300 7 місяців тому

    This was really cool! The like button lights up when he gets to the part where he talks about the db updating in response to UI events!

  • @gvcallen
    @gvcallen 4 роки тому +15

    Honestly a really amazing video. Very thorough, informative and somehow condensed into a 12 minute video. Thanks a lot

  • @smokedsalmon935
    @smokedsalmon935 6 років тому +58

    I feel like this was published just for me in the right time... hahaha

  • @davidweiss5249
    @davidweiss5249 5 років тому +2

    Note that you should use the console to edit the Database.Rules to avoid a PERMISSION error on the android app; change "allow read, write: if false;" to "allow read, write: if true;"

  • @vedmodikauratg1865
    @vedmodikauratg1865 2 роки тому +1

    this covers all I need to know in less than 12 minutes. what a video.

  • @faheemahmad3957
    @faheemahmad3957 7 місяців тому

    this was awesome!! please make more like these and go indepth

  • @jasonsebring3983
    @jasonsebring3983 5 років тому +1

    There really is a ton of work being done for you here. I normally would have to setup a socket server and a way to sync things together upon fresh load etc etc. I wonder about buffering when say there are 10000 things going on at once meaning say you were showing popular posts in a feed that were showing meta items like votes and chat counts etc.

  • @theethicalh3707
    @theethicalh3707 4 роки тому +1

    Oooooooooooooooooooh my good that's exactly what i was searching for thaaank you so much google i looooooove you man

  • @user-ph5zu8wc3i
    @user-ph5zu8wc3i Рік тому

    Thank you so so much It's so clear that can understand how connect to database and write data just following. Thank you for serving this amazing dart language and flutter developers.

  • @AvinashSingh-nq5ud
    @AvinashSingh-nq5ud 6 років тому

    Thanks, Andrew sir, Please keep coming with more videos

  • @ammardorea1835
    @ammardorea1835 5 років тому

    Hey,
    Thank you very helpful video, I have question is this was an UI kit mobile app?

  • @WholeNewLevel2018
    @WholeNewLevel2018 6 років тому +1

    I like illustrative video, awesome explanation great job,

  • @sexyeur
    @sexyeur 4 роки тому

    Thank you Google and Andrew Brogdon!

  • @GideonvanderMerwe
    @GideonvanderMerwe 4 роки тому +2

    Hey Andrew, thanks for the awesome video. I have a question. Let's say you log in with firebase and pull some data down e.g. your latest band votes/results. Now lets say you close the app completely, even from the background. Then you open it again with no internet. Will it still use the last data pulled from firestore, or will it use the default values that you demonstrated? Thanks

  • @jacqueskroese9806
    @jacqueskroese9806 4 роки тому +1

    Thank you so much! Great content

  • @lordeloalvaro
    @lordeloalvaro 5 років тому +6

    I've start using flutter, though it's very hard to find a good example of how to,
    There're lot of videos I'd like to have just a doc that explains every widget.
    Thanks for the video tutorial and great job

    • @lordeloalvaro
      @lordeloalvaro 5 років тому +2

      I've some few questions about flutter like MVC pattern, an authentication default process(that's common on other frameworks), localization default pattern...flutter has a great variability of widgets, though to turn itself in a complete solution it needs a little more effort, it's on the right path.
      Thanks for your reply, & have a nice life.

  • @hippolytesama3817
    @hippolytesama3817 3 роки тому

    Really thanks, that was awesome and pretty clear

  • @Trancecend
    @Trancecend 5 років тому +2

    Good tutorial. I would have mentioned, however, that the iOS step for adding the Pod dependency SHOULD be skipped, instead of not mentioning it at all. But still good, I got started pretty quickly.

  • @mouttafiqimane7346
    @mouttafiqimane7346 5 років тому +2

    thank u for this tuto i want to ask you how can i get a stream from a specific user

  • @aladdinaouimeur2649
    @aladdinaouimeur2649 5 років тому

    *GREAT JOB YOU GUYS ARE THE BEST*

  • @JoshuaRoy
    @JoshuaRoy 6 років тому +62

    They put the iOS screenshot on the pixel...

  • @ici6308
    @ici6308 4 роки тому +1

    Just wonderful !

  • @claudedaiga5897
    @claudedaiga5897 5 років тому

    So well explained!

  • @raghav4296
    @raghav4296 5 років тому

    #askflutter
    Hi Andrew, a noob question -
    With respect to Firebase client SDKs, we have android and iOS but not specifically for Flutter and I assume we need to download both for working with Flutter? In terms of the whole array of features that Firebase and suite of integration it offers, is it safe to assume that all firebase features available if we were to write only android/iOS using their respective client SDKs be available in Flutter as well (or) are there any constraints that we need to be aware of?
    Thank you 😊

  • @Mohammadoudat
    @Mohammadoudat 2 роки тому +8

    Thank you for your infromative tutorial. However, we are in 2021 and too much updates applied on Flutter and Dart. Therefore, we need a 2021 videos. Appretiate the help.

  • @mohammedsalman3397
    @mohammedsalman3397 5 років тому

    Great video, thanks!

  • @harjitsingh7308
    @harjitsingh7308 6 років тому

    Ive started to use firestore but lets say for some reason i have to switch to somethinf different in the future. Will this process be easy?

  • @chstr0ng
    @chstr0ng 3 роки тому +2

    Could we get some content on how to unit test and mock firestore? It's really hard to unit test streams and no information anywhere.

  • @gersonricardotoribioossio9720
    @gersonricardotoribioossio9720 5 років тому +2

    Amazing and a really good explanation. It works to me. I think the documentation in firebase is not up to date because I couldn't be able to run firebase in my flutter app, a lot of problem in gradle file.

    • @dionplant9197
      @dionplant9197 5 років тому +1

      try this
      in -> gradle.properties
      add:
      android.useAndroidX=true
      android.enableJetifier
      in -> app/build.gradle
      change:
      minSdkVersion from 16 to 21
      add:
      dependancies
      implementation 'androidx.multidex:multidex:2.0.0'

  • @d-apps2699
    @d-apps2699 5 років тому +3

    I loved this guide, please more tutorials about flutter + firebase o/

  • @kimanoir1136
    @kimanoir1136 3 роки тому

    THIS MAN KNOWS WHAT HE'S DOING

  • @NuncNuncNuncNunc
    @NuncNuncNuncNunc 6 років тому

    Is the race condition eliminated? If multiple users initiate a transaction at the same time, won't they both update the same initial value? A ticketing or reservation system could end up double booking if this is the case.
    Are there any tutorials that show how to use cloud_firestore with firestore rules? As best as I can determine in flutter example code, request.auth.uid is not sent to the server.

  • @kamranyusifov7451
    @kamranyusifov7451 3 роки тому +3

    This is good. But please update the codelab to the recent changes, like the firebase core requirement.

  • @brandonpillay9025
    @brandonpillay9025 4 роки тому

    This is really great stuff

  • @isaacfrimpong9022
    @isaacfrimpong9022 4 роки тому

    I find it very helpful.

  • @anthonygabriana3943
    @anthonygabriana3943 5 років тому

    When you install the google-services.plst for ios make sure to install it by opening the project in xcode and right clicking on the Runner Folder and using add file to add the google services file. Otherwise if you drag and drop it in your editor like intellij for some reason it makes the app freakout and create a bunch of errors. Took me 7 hours of trouble shooting to figure out that this was all I needed to do.

  • @SopheakVatt
    @SopheakVatt 6 років тому

    I'd love to see this kind of video.

  • @user-or7ji5hv8y
    @user-or7ji5hv8y 5 років тому

    Super useful video!

  • @MichaelDuarte
    @MichaelDuarte 5 років тому +7

    Its amazing how simple this was to implement.

  • @myname5667
    @myname5667 3 роки тому +2

    If transactions are made to prevent race conditions, why can't you use them when you are offline / what do you do when two clients edit the same field of one document and you want to merge the changes (i.e. if the field is a list)

  • @GoingWalkabout
    @GoingWalkabout 5 років тому

    Very useful, I'm evaluation to move my iOS app using Firestore to Flutter so I don't need to build a native Android app.

  • @DDOCTORGaming
    @DDOCTORGaming 2 роки тому

    Hi, by any chance do you have a video which you can link me to, that tackles the function of reading out-loud data fetched from Firestore as audio to user? Thanks

  • @DK-qz9ui
    @DK-qz9ui 5 років тому

    If there are lots of documents in collection, stream builder is very slow. Isn't it?

  • @ismaelalexandermalcacastro9990
    @ismaelalexandermalcacastro9990 5 років тому

    beautiful !!!!

  • @niteeshmahato1596
    @niteeshmahato1596 4 роки тому

    when a new document is added, snapshot fetches all the documents including the new one or only the newly added one ?

  • @zafana1
    @zafana1 4 роки тому

    I've set this up but it wasn't so straightforward and took a lot of time... different versions of the plugins were incompatible and project settings needed to be modified for both Android and iOS.

  • @rezamohebbi2692
    @rezamohebbi2692 4 роки тому

    hi guys . is there a tutorial out there about how to set custom claims / role based auth / rolebased access contorll in flutter using firebase?

  • @michaelessiet5172
    @michaelessiet5172 3 роки тому

    This looks surprisingly easy

  • @spidey5324
    @spidey5324 4 роки тому

    I can use flutter and firebase in my androids and ios while on web I use React and firebase? Thanks.

  • @MeetPatel-ku8bk
    @MeetPatel-ku8bk 4 роки тому

    I am getting error for iOS xcode build - cloud_firestore/CloudFireStorePlugin.h not found

  • @urvashisharma7415
    @urvashisharma7415 4 роки тому

    i didnt really follow why we changed the onTap function from a plain update to something else...could someone help me out on this please?

  • @bijayshrestha5820
    @bijayshrestha5820 4 роки тому

    i got an error that "subproject has been already used in build script" how to resolve it??

  • @SureshKumarMajhi
    @SureshKumarMajhi 5 років тому

    Hi, in your code at the time of configure firestore you didn't use any kind of "firestore.settings()" the way it has been mentioned it here - pub.dartlang.org/packages/cloud_firestore#-example-tab- . Is it really require to mention this setting thing or not? I'm bit confused about this.

  • @MisterDibitybopty
    @MisterDibitybopty 3 роки тому

    Every time the list gets updated, is that a read from the database from each item? So 10 items would be 10 reads? Seems far too costly to use firestore database if that's the case.

  • @letslearncomputerprogramming
    @letslearncomputerprogramming 5 років тому

    What is best for android or flutter in future?

  • @redsool1
    @redsool1 6 років тому

    Is there a convinient way to transfer firebase project from one google acc to another?

  • @kukuhdrawable6449
    @kukuhdrawable6449 4 роки тому +2

    Hi i had error with gradle task assembledebug failed with exit code 1
    Can you help me

  • @baimamboukar4492
    @baimamboukar4492 4 роки тому

    coool! Can we have a tutorial talking about AndroidX Migration? I have serious troubleshooting

  • @chasingdownchano
    @chasingdownchano 5 років тому

    Is there a place I could find the code used in this video? A github link or something?

  • @gowthamrajukongara
    @gowthamrajukongara 5 років тому

    Hi all please tell me which package contains tomap() and frommap() methods if possible give me link thanks.

  • @vinceramcesoliveros6739
    @vinceramcesoliveros6739 6 років тому +5

    What about AngularDart/dart2js? Is the flutter team different from angulardart team?

  • @ameen_was_here4958
    @ameen_was_here4958 6 років тому +35

    I am aware that firestore is in beta. But if i were to use it in production in one of my apps, Will firebase team notify devs about breaking changes before they were made
    Please reply

    • @redbrogdon
      @redbrogdon 6 років тому +16

      I'm not on the Firebase team (so I can't speak for them), but I'd be *extremely* surprised if that weren't the case. You can always try posting on their discussion forum just to be sure, though: groups.google.com/forum/#!forum/firebase-talk

    • @forestlaw89
      @forestlaw89 5 років тому +3

      They have been warning people about the changes in Firestore. For example, the change of dates to Timestamps

  • @toobarahat4456
    @toobarahat4456 4 роки тому

    Can I use flutter to make a order delivery + customer loyalty app?

  • @florianrohrauer8471
    @florianrohrauer8471 5 років тому

    But isn´t that solution of updating the data with a Transaction muchh slower than just changing the value as the first solution?

  • @123superatom
    @123superatom 5 років тому

    if u can show an example using firestore with add,delete and update data in flutter, its will be more usefull

  • @EmreYavuzalp
    @EmreYavuzalp 3 роки тому +3

    I wish you showed us the whole code, it doesn't work. And it gives a load of errors.

  • @aDifferentJT
    @aDifferentJT 6 років тому

    So your atomic operation can be async?

  • @RaitonGG
    @RaitonGG 5 років тому

    what about youtuber api? any vídeo on it?

  • @geethma3590
    @geethma3590 4 роки тому

    Hi, I want to know about Cloud firestore how to connect with flutter windows app,
    please help me,
    Thank you.

  • @chordfunc3072
    @chordfunc3072 4 роки тому

    I love firebase, but lately using firebase on the ios side has been a pain in the ass. The latest project I started on takes 8 minutes to build when adding the auth and cloud_firestore plugins, and If I try to add the google_sign_in plugin the project simply won't compile. It works fine on Android but on iOS its a very different story. Could you please fix the plugin or update the docs to reflect any changes you have to make to your iOS project to get it to play nicely with firebase and google_sign_in

  • @nuwanmalintha
    @nuwanmalintha 5 років тому

    i got this error when run on iphone simulator.
    /Users/nuwan/Downloads/fluttertest/ios/Pods/FirebaseDatabase/Firebase/Database/third_party/Wrap-leveldb/APLevelDB.mm:54:9: fatal error: 'leveldb/db.h' file not found
    #import "leveldb/db.h"

  • @itkamsan349
    @itkamsan349 4 роки тому

    Could you make a video how to join collections?

  • @srinivasaraov4569
    @srinivasaraov4569 3 роки тому

    app channels spinning some time when using google firebase database and flutter application. how to download or backup firebase database . is there any automatic backups

  • @Rafiq07
    @Rafiq07 4 роки тому

    What about Google Cloud Datastore? Are there any examples of using that as a backend for Flutter projects?

  • @creative-commons-videos
    @creative-commons-videos 5 років тому

    how can i use firestore in custom package ? if i want to create a flutter package that uses firebase.. where to put json file, package android directory, or user app android directory ???

  • @TheBooban
    @TheBooban 6 років тому +1

    Do you have to choose between Firestore and the Realtime Database or can you have both?

    • @redbrogdon
      @redbrogdon 6 років тому +1

      You can indeed use both in the same app: firebase.google.com/docs/firestore/firestore-for-rtdb

  • @frenches1995
    @frenches1995 4 роки тому

    for a complete beginner like me. It would've been better if we would've coded it from scratch bcs i just want to start connecting some kind of app with this firestore but i just keep getting error messages and unfortunitly I can't find enough other recourses to fix my problems. I still think Flutter is great but as a beginner I am having a really hard time trying to get anything done with it...

  • @vapnex
    @vapnex 6 років тому +1

    *Glowing Green Screen*

  • @WayT0Aesthetic
    @WayT0Aesthetic 4 роки тому +2

    Gradle problem when i try to use firebase.. fix this

  • @tanmayfuse1747
    @tanmayfuse1747 5 років тому +8

    Can u able to fetch document files containing images and text from Firestore and display in flutter app?

    • @marlonsubuyu2012
      @marlonsubuyu2012 3 роки тому +1

      You have to upload the images to Firebase Storage, then you paste the Storage reference of each file in Cloud Firestore

    • @RazaviImran
      @RazaviImran 2 роки тому

      Same question i have

  • @BenHayat
    @BenHayat 5 років тому +3

    At 2:07 in the video, to register the flutter app in Firebase where Do I go to my Flutter solution to get that Android App name?
    The instructions I get from that help, I can't find the name.
    Where di you get "com.flutter.firebase.example.flutterfirebase" ?

  • @bhuvangowda.n5836
    @bhuvangowda.n5836 3 роки тому

    hey can u please help me with this problem
    Exception: Gradle task assembleDebug failed with exit code -1

  • @gokulakrishnan1977
    @gokulakrishnan1977 4 роки тому +3

    Andrew Brogdon: 10:04
    Me: Yeah I Know... I Know...

  • @metallitech
    @metallitech 6 років тому +2

    Can I use Firestore as a backend to my Wibblewobble app, with Zigizigah as the front end?

    • @blipblap614
      @blipblap614 6 років тому +4

      Only if you really really really wanna.

  • @nicorobin7666
    @nicorobin7666 5 років тому +1

    I searched the whole internet but could not find a single lesson on how to connect flutter and dart to mysql on phpmyadmin (not local host, its hosted on a server) or how to implement CRUD operations, please do some lessons for us, thank you so much

    • @ThomasLock
      @ThomasLock 5 років тому +1

      You wouldn't want to directly connect over MySQL. You need to create a REST API to do this.

  • @g46psk
    @g46psk 6 років тому

    how can i listen to a single document by a given key rather than a whole collection?

  • @benton202
    @benton202 5 років тому

    Great!!!

  • @somenathchakraborty2403
    @somenathchakraborty2403 5 років тому

    Thanks... :)

  • @alandigital360
    @alandigital360 5 років тому +6

    Does not work on Android with cloud_firestore:, I need to add the version cloud_firestore: ^0.7.4 :(

  • @codingworkout3637
    @codingworkout3637 4 роки тому

    my app stops whenever i run it. 'Unfortunatelly app has stopped'. Ididnt write any code, i just added the firestore.

  • @rahmanatiqur2332
    @rahmanatiqur2332 6 років тому

    Thanks

  • @alexrom2662
    @alexrom2662 4 роки тому

    Thanks a lot

  • @utkarshmehta4430
    @utkarshmehta4430 4 роки тому

    Is it possible to stream mp4 or mkv video from url? In flutter

  • @tuphuongdanh4569
    @tuphuongdanh4569 6 років тому

    Hi,
    I am using Firestore plugin to communicate with my data. My question is how to get data with a condition with Firestore? Or how to Find a user by email address?
    I think this question will be asked from many programmers.
    Thank you,

    • @andrewbrogdon558
      @andrewbrogdon558 6 років тому +1

      I'm not showing it in this episode, but the Firestore plugin contains a Query class that can help you with this: github.com/flutter/plugins/blob/master/packages/cloud_firestore/lib/src/query.dart

  • @kirill4531
    @kirill4531 6 років тому +5

    what's the difference between Firebase Real-time Database and Firebase Firestore?

    • @redbrogdon
      @redbrogdon 6 років тому +4

      The Firebase team has an article that can explain it way better than me. :) firebase.google.com/docs/database/rtdb-vs-firestore

    • @kirill4531
      @kirill4531 6 років тому +2

      Andrew Brogdon, that's what I like in Google - they foresee all my questions :)
      Thanks Andrew!

  • @nep_coder
    @nep_coder 6 років тому

    Is there any free web development course offering by google.

  • @wdavis6254
    @wdavis6254 4 роки тому

    Yes sometimes i come down here to see how many developers are using flatter

  • @neilbhutada9666
    @neilbhutada9666 4 роки тому

    I didn't understand the point you mentioned at the end regarding the use of transactions instead of using the rudimentary updateData function. Could someone please explain this to me in simple words?

    • @andrewbrogdon558
      @andrewbrogdon558 4 роки тому

      To increment the number of votes, the app needs to do three things:
      1) Read the number of current votes from Firebase.
      2) Add one to that value.
      3) Store the new value in Firebase.
      If you only have one user, this works great. What if you have two users, though, who try to increment at the exact same time? They would both read the current value at the same time, add one to the same value, and then store it. Instead of getting n+2, you'd get n+1.
      Transactions can fix that. They make it so one client will execute all three steps at once, while the other sits and waits for their turn. When the first client is done, the next one can have a go with their three steps.