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).
Related
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 2 months ago.
Improve this question
I don't know if it's a stupid question but there are lots of free public APIs in this github repository: https://github.com/public-apis/public-apis
Is it safe to make apps with such free APIs and publish them in play store, app store? What I mean is that maybe the person who created the API will make a mistake and send an image for adults against the rules. Or can they complain for copyright reasons? I mean, I don't question the reliability of APIs of huge companies like Riot games. I'm mostly wondering if it's okay to use APIs from indie developers?
I've heard that many people play console and apple developer accounts have been closed. I was wondering if using the public API can cause our developer account to be terminated due to a mistake or complaint. Or should we not use free public APIs just in case?
No it is not safe to do so. You're trusting that some random code written by some random person works as expected, is secure, is well written, and isn't malicious. Would you trust your safety and security on that? If I handed you a file and told you "trust me, it isn't a keylogger, run it on your computer" would you do that?
Heck, look at major scandals of the past few years like leftpad (when a developer deleted a very commonly used library from github, and caused everyone who used it to stop compiling). Or there was an instance where someone inserted a Christmas time easter egg a few years back and websites started snowing. You can't just trust them.
I'm not saying that you can't use any github library. But be smart about it. You should only consider it under 3 conditions:
It's from a source you trust. Google probably isn't going to purposefully put a trojan in their code. Similar for other large orgs.
It's a well known, highly used library. Of course even this isn't perfect. People have managed to slip exploits into open source before.
You've security audited the exact version of the library you plan to use.
If it passes one of these 3, it's probably ok. But if it hasn't, you shouldn't touch it with a 10 foot pole.
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 !
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 3 years ago.
Improve this question
Thanks to all for their earlier support. Now these days i am looking for a Framework Which can provide backend support for Android Applications. I found one of them is Parse Here . Although i didn't initiate any implementation based on the same but it seems very promising after once visit their portal, dashboard and documentation. Can anybody describe pros and cons of using such Framework. If anybody have any experience to work upon Parse Framework please share your feedback should i go ahead in the reference. Is it free to start like developing demo Apps. Thanks very much in advance.
The basic plan, which is all you need to get started, is free.
The most important reason, in my opinion, to use a service like Parse is that you can focus on your app, and what's special about it, and let someone else make sure your backend just works. A service like that will scale to whatever number of users your app gets (providing you design it correctly). The API is also quite similar between the platforms they support (like Android, iOS etc) so that the backend does not create obstacles in the event you need to port your app to other platforms.
You also have the advantage that the API is so similar to the programming you're already doing with your app so it fits very well with your existing code.
Just make sure you design your backend with a NoSQL mindset and don't fall in the trap of trying to implement a SQL-ish model that will not scale. Going through the Anypic tutorial on their site is a good primer if you are not used to designing for NoSQL databases.
Good luck!
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 3 years ago.
Improve this question
I am going to implement a "game lobby" for my game (which is a new topic for me). The game works the following way:
Users chooses "random game".
The device connects to a specific URL where I will implement some game logic (like name of players in the session, name of the game session itself and so on).
The URL returns values to the device so the game can load them and start.
My question is: What is "the best" way to do this? Should I have a database with different game sessions that contains all the information for each game session.
Or should I start a script on the server (one script equals on game session) for each game that starts that holds the information that is necessary?
I was on the thoughts to have this as a socket to socket game. But I think it will be easier with the client-server approach since the server then will take care of most of the logic and the devices only needs to concentrate on one single connection at a time.
Any help or advice is appreciated!
The cleanest approach for this would be a client server model as you guessed.
This simplifies client code a lot, as compared to database approach, but you need to setup and maintain a server.
You will anyways need a centralized entity (as a matchmaking service provider) if you want to let the user choose a random game. So I would suggest to go for setting up a server.
Following libraries might be helpful.
Netty (low level but versatile)
KryoNet (easy, high level features but limited (more than enough
for games))
jWebSockets (Very good real time performance with long lived TCP
connections)
Photon (Realtime, scalable, cloud, high performance but NOT
FREE)
There are many more... just search
Hope this helps.
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 7 years ago.
Improve this question
I was wondering how people generally realize backends for either complex data-synchronization ("cloud"-sync, since everyone seems to love that word) or simple user-management when developing mobile apps for iOS an Android. I'm not much of a web-guy, so I'm sorta clueless here.
What's your system of choice? Is everyone just writing custom solutions in Ruby, PHP, Java Servlets... which return JSON via HTTP (HTTPS for confidential information) or is there any standardized framework out there that I've been missing? Especially in combination w/ databases - apparently, you need to store the information somewhere.
Sorry for the very general question - but I'm not really sure where to start refreshing my knowledge here.
You can try Parse.com as a backend solution.
If it is simple application I use parse.com. If I need more flexible backend I use Ruby on Rails.
It's so simple to get started with a mobile backend these days that you should really give it a shot.
Kii Cloud for example supports data and file synchronization and user management including support for Facebook and Twitter accounts and has a generous free tier with carrier grade scalability and reliability.
From all the research I have done Parse or Kinvey sound like the best choices. I was about to build out my won backend out of pure ignorance but after researching thee tools I am going to go with one of them. Kinvey has a pretty cool estimation tool that demonstrates how much time you will save: http://www.kinvey.com/app-cost-estimator
Hey why reinvent the wheel.
Built.io's Backend https://www.built.io/products/backend/overview is my backend solution of choice, its such a simple and straightforward tool to design and build apps.