Is Parse a good alternative to Firebase?

Hi, is parse server a good alternative to firebase? I am new to parse and I know facebook has stopped supporting parse. So, I want to hear people’s opinions. Thanks

1 Like

It may not offer all features of Firebase, but once you spend some time learning Parse and setting it up - which may not be always so easy and polished like Firebase, you will own it.

And that is the biggest plus. I have been through 5 major companies killing 5 major dependencies of my little app over the past 10 years, that was like one major migration every two years.

So if you are serious about your idea, do not go with Firebase, if you want to just get something quickly up and running, then yes, Firebase may be quicker and more polished in the beginning, but becoming a time bomb in the long run.

Just my .2 cents,
Martin

2 Likes

I use parse server for the last few years.
You can easy build beautiful apps in no time. The only thing is when you host it by yourself and don’t have the “DevOps” Knowledge about Docker or whatever you want to use.

There are several BaaS outside you could use and test for a quick setup.

1 Like

In addition to this, parse server (MongoDb actually) has a very powerful query language. I was using firebase 2 years ago. I was using realtime database but queries was pain in the ass. They later solved alot of problems with firestore but it’s still can’t get close to parse.

1 Like

Thanks for anyone’s kind response. After the facebook stopped supporting parse, has the community added many features to parse? Also, should I use GraphQL with parse? Thanks

Yes. A lot of feature has been added including the GraphQL support, which is fully operational.

Thanks for the warm welcome and answers. I have decided to give parse a try!

1 Like

Great to hear @hkblue!

As Davi said, lots of features, to many to list! - but they are all listed in the Parse Server changelog - almost all of which is since the departure of FB.

Just to pick out a few recent features (some yet to be released)…

  • Parse.Cloud.sendEmail(...) - convenience method for sending email in Cloud code, thanks to @dblythy!
  • Ability to add localised password reset and email verification pages, thanks to @Manuel!
  • Cloud Validators - see documentation here, thanks to @dblythy!
  • Idempotency enforcement - see documentation here, thanks to @Manuel!

Aside from Parse Server there have also been many improvements to our client SDKs. Including the addition of new ones such as the Flutter SDK written by @phillwiggins, our brand new Swift SDK thanks to @cbaker6 and the new experimental React & React Native packages thanks to @davimacedo.

1 Like

@Tom Thanks for pointing out the new features. I am super excited now!

1 Like

Our goals are also to make Parse Server as complete as possible, so if there are any features which you feel like we’re missing, feel free to let us know :slight_smile:

We are in the same boat as OP and considering the move from Firebase, mainly due to challenges with Google banning services in certain countries and being banned in some of the bigger markets such as China.
Can I kindly ask those who moved from Firebase + Firestore to provide insight as to what their experience was? What was unexpected coming from Firebase toolset and what was a pleasant surprise?
Thanks in advance

I have inherited an application based on parse a few weeks ago, I can share my experience with platform so far.

Documentation
There is a lot of documentation, thats good. It can be hard to understand what parse is capable of, since features can only be available in one SDK and not the other. Since there is no “general sdk client” guide I have basically jump through all client SKD documents to understand what is described.

Example from the docs:
“To make it super easy to create user-private ACLs for every object, we have a way to set a default ACL that will be used for every new object you create:”

  • js/guide/#access-control-lists → // not available in the JavaScript SDK
  • /rest/guide/#object-level-access-control → // REST client: code snippet not even rendered, you will be confused if you read this the first time
  • /unity/guide/#object-level-access-control → // // not available in the .NET SDK

for the parse server you also need to check with two sources, since not all info is available in one or the other:

  • githubcom/parse-community/parse-server
  • parse-server/guide/

Authentication & identity
There are many adapters for identity providers, however the we need to implement multiple identity platforms for different tenants. We struggle to understand how the authentication flow is supposed to be with an custom authentication provider. There is a little bit of information on many places:

  • /parse-server/guide/#custom-authentication → server side
  • /js/guide/#linking-users → js client side
  • check the jasmine test case
  • check the source code

Every section explains a little bit, but there is no clear high level picture how the flow should be and it is a lot of trial and error to understand the code flow. If you search google and the forum that questions are asked repeatedly about how sessionTokens are supposed to work, how “linkWith()” is supposed to be used.

Security
Everything is allowed and enabled be by default. This is good for development purposed, but poor from a security standpoint. Since by default everything is allowed you have to be extra careful about locking down your app, not slipping config errors to production and creates a attack vector. I suggest when you start developing lock everything down / deny all from the start and enable it when you you need it, since deny all will create much less opportunity for security holes.

Client centric view
The documentation is written around the idea that all business logic is centered in the client. I need to support features to multiple clients (mobile, web, REST) which means I have to duplicate the business logic “e.g. list all active users” multiple times within each client. Currently I have to evaluate if I can migrate the code from the clients to Cloud Code functions.

Market outlook
Parse has an active community and at least one business offering commercial support. On a market view every big cloud vendor invests in its mobile dev framework (AWS amplify, Google firebase, MongoDB realm/stitch, Azure Mobile Apps). Each vendor has their own issues and you get the benefit of highly integrated services, with a steep learning curve. Open source projects with no vendor support struggle about continous support, e.g. lasts year when the core maintainer of hapijs quitted and the future path of that project was unclear.

Note: Had to remove links because “Sorry, new users can only put 2 links in a post.”

@Tom some good doc feedback here

We are on the path to gradually change these settings to be more strict by default. There has been some pushback with the argument that new developers may find it difficult to “play around” with Parse Platform. I do not share that view and your feedback once again confirms that Parse Server has to be secure first and foremost, before being a programming 101 playground for new developers.

There is a PR in the works that will log (and eventually show in the Parse Dashboard) weak security configurations. It still has some conceptual issues but should be finished soon. This feature should provide a significant improvement in this regard. Feel free to join the discussion there and provide feedback.

1 Like