Categories
Uncategorized

Google Firestore: A Game-changer?

This week my Capstone group discovered Google Firestore. This has significantly changed how we’re developing our mobile app. I have never heard of Firestore before so, there was a lot of information to take in. However, this really seems like a game-changer in the development world. First, let me explain some background information.

My Capstone group is developing a mobile language learning app. I’ll add that mobile development is new to 3 out of 4 of us. We’re using React Native for our frontend and planned to use Python/Flask for our backend API. Our database was going to be Google Datasore and Firebase to host images and audio recordings. This sounds like typical web development architecture which all members are familiar with. We divided our project into first implementing the static components of our frontend, then setting up our database, next implementing our backend API, and finally connecting the frontend to the backend.

What we discovered this week is that now Google Firestore combines Datastore and Firebase into one AND can essentially work as your API backend. So, instead of building the backend API with Python/Flask and having our frontend connect to our API, we should be able to connect directly to Firestore from our React Native app. This totally blew my mind. I’m very glad we first implemented the React App instead of implementing the Python/Flask API. I’m still processing and trying to determine what some of the downsides could be. To me, there appear to be so many positives. This enables our group to basically combine two weeks of work into one and possibly allow time to work on some improved versions of the app with increased functionality.

I suppose a possible downside is that by removing a backend API, we’re expecting data to immediately be in a usable form for the React App. If it wasn’t that would mean implementing a lot of data transformation on the frontend which could slow performance on the app. Having a separate backend API would allow a developer to aggregate several sources of data, manipulate, and transform the data before sending to the client. Since the database for our app is somewhat straightforward and simple, I believe we will be fine calling Firestore directly from React.

Again, much of Firestore is new to me. I may have more updates to add here as I continue on this adventure.

One last resource link comparing Firestore in Native mode vs. Datastore mode.

Leave a Reply

Your email address will not be published. Required fields are marked *