Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
We already have our full fledged scalable backend ready with CRUD APIs written. However, we want to make our app offline and want it to sync realtime with our server DB.
One of the weird option I was thinking of replicating server's DB (NoSQL) onto Firebase. Then use firebase SDK in the mobile app to make it sync realtime and provide robust offline capability.
I know, this might sound weird, but just wanted to become aware about the challenges regarding the same. Also, if anyone has attempted it in production, would like to know their thoughts on the same.
To sum it up, is it advisable to use this strategy in scalable production?
Firebase is an excellent tool to develop realtime NO SQL DB with robust offline capability.
According to my experience I was involved in developing the same for collecting reviews irrespective of user net connectivity.
Some data for the same :
No. of reviews collected daily (online users): Around 3000
No. of reviews collected daily (offline users): Around 100
Why was this solution chosen ?
No internet required. Firebase persistance keeps log of all
write operations and syncs them back when user restores its
connectivity.
No need to track api failures and error rates.
Now about scalability :
Recently Google launched Cloud Firestore which is far more scalable (has capabilities like chaining of queries) with far better intuitive features.
These articles give a great insight into its capabilities and why it can be better than firebase realtime database :
https://firebase.google.com/docs/database/rtdb-vs-firestore
https://medium.com/#beingrahul/firebase-cloud-firestore-v-s-firebase-realtime-database-931d4265d4b0
To sum it up at this time I would like to recommend you to explore Cloud Firestore as it seems more promising of the two.
Hope this helps !
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 1 year ago.
Improve this question
I need some tips, something to give me a way or to brighten my mind. My app idea is a Recipe's Book app. But I imagine the following scenario: user writes recipes in PC (desktop app), and then, when going to cook, at the kitchen, read/ edit the recipes on the Mobile version. Aka the app do the same things in both platforms. The app is simple, basically the data will be text. But my problem is: I only knew how to develop native apps, both mobile or desktop, with local database. Recently I've been developing on xamarin. I'm doing well at it, but My question is: how am I going to share this database? I would need it to be on cloud, right? So how could I be doing that? I just want to understand, not how exactly to do it, but now I dont have a clue on how to do that. And if you have a better platform to develop this idea, I accept tips
You need two things
Database
API
The database is to store the data, and the API is the way your different apps will exchange the data with the API.
API in a nutshell
For example : the desktop will talk to the API to add a recipe to the database, and form the other side the Mobile App will ask the API to get that recipe.
I advice you to start with MongoDB (free tier) and Express it's the fastest way to get started
According to your situation I can advice you to use Firebase Real Time Database, it has all the functionality you want of updating data in real time and fetch it also faster and implementing it is not hard as you need to configure it in your project environment I can refer you to this Page to learn more about firebase , in case you want to refer to their documentation check here.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I am working on android project with my fellows and we will integrate unity based module with our android app so for this. I want to know which database is suitable SQLite or firebase? I am currently using SQLite but its very simple and I think it will be difficult to work on it for complex tables data. If I will use firebase then I will it integrate with unity module or not?
Firebase has Android, iOS, and Web SDKs; and a console where you can develop, manage, and monitor all the data and analytics from one place. Firebase real-time database is good for online presence and instant feed updates, while Firebase Firestore is good for user profile and other relational data records. Firebase has a UI SDK which makes it easy to interface with the resources in the project, and with tons of tutorials and starter projects it should be easy to quickly have a decent prototype to iterate upon. Since if you want your project on Massive scale, use their pricing calculator to figure if your expected scale will be covered by the free quota or if you go for the pay-as-you-go that the price is reasonable for your project.
cheers for your project!!
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm working on an ebook store application (my target users will be 10,000 users per months). It's very hard to make up my mind to select the backend between AWS and Parse.
Parse is very simple to use. It could save me one or two months development work. But I'm concerning about the number of requests per month. There are free 1,000,000 requests. But I don't know how they calculate the number of requests. I tested with the demo application. A simple run cost me 4 requests (there seems to be only one request in the code.). I totally have no clue 1,000,000 requests can server how many users.
AWS is free at the first year. It's more flexible. I can control almost everything. The problem is I have to do everything from scratch. Database, Web service, security, server management. Also it's very difficult to estimate the cost.
I'd like to hear your opinions about the cost, performance, scalability, security, etc. Thanks
Edit at 16th Nov. 2016:
Parse.com will terminate at 28th Jan. 2017. But it will provide a open source version. I personally think it's even better because I can host our own data at anywhere I like, for example, at AWS.
Regarding this very old QA...
Parse is now closed
back4app.com is the "new" Parse
AWS nowadays offers a full suite of such mobile services
generally, parse (now back4app.com) is much simpler, it is more of an all-in-one, "easy to use" BAAS. AWS is more industrial, expandable, a little harder to use and set up.
Parse have changed their price plan: you do not have monthly request limit, but burst limit. For free user it's now 30 req/s which is very fair.
For your question, yes, Parse will save you lots of time. I recommend starting with Parse for one reason: if they do not fit to you, you could switch after on AWS (or app engine with cloud endpoint).
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
So, I am fairly new to mobile app developing. Are currently making project documents for a mobile app, and I want some input on what database solution I should use.
1) mobile app -> online only -> talking to a database
2) I Have several webservers up and running (mysql mostly), possible to use?
So my question is simple :) What solution should I use for my mobile app database.
- Setup a mysql database on a server?
- Use some kind of cloud based solution?
- Any API considurations?
need to be "best practice" for both android and ios.
Any and all suggestions is much appreciated! Thanks all! You are AWESOME!
Tom,
The most common solution for this problem is:
1) Your application get data via a webservice in your server. You can use Soap solution based on XML communication, or simple REST access (simple http request in GET or POST method) and use your own choice: XML or JSON.
Today, there is a lot of solution based on REST GET/POST with JSON file communication.
2) After, if you want that your application can turn in offline mode or just be more reactive, you can store old loaded data by webservice in local database.
For this, in Android you can use direct access to sqlite database, and in iOs, you can use the CoreData api.
Hope it help you.
Fabecc.
Tom - If you need data to be available offline without internet connectivity then you should you SQLITE database which comes as part of android/ios.
If your app saves the data on server which in turn is used by other portal or other devices (sharing) then consider storing data via web/server and mysql database.
So really it depends on the usage and sharing requirements. Storing data locally has much benefit because it is faster, no network required, data always available, and not using network also increases battery life..
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
As part of my project I need to develop an android app. Most important responsibilities of the app includes :
Collect android mobile users' data (crowd sourcing )
Run the configured pre-processing algorithm on the data
Create a storage with the pre-processed data
Run knowledge and pattern detection algorithm
Control/Suggest the mobile system with the strategy the
above algorithm suggest
It's been only 3 weeks I am training myself android. I need professional tips
How to proceed further: I must provide cloud-assisted solution.
What would be suitable tools ? How Google play store provide access to data that
the users willing to provide ?
Help me out :)
I assume from what you say (please correct me if I am wrong) that this
configured pre-processing algorithm
will run on a server. And after the processing you will send data back to the android device.
One way that you could do this would be to send the data from the phone to a web server through an http request, the server will process the data and then send back the info through cloud messaging.
In case that the processing is done in the phone, then you can omit the last step and implement a one-way communication (sending http requests to the server).
For more details about sending data through http you can check here, and for cloud messaging you can check here.