4 ms·
You guys should try out / check out http://gun.js.org/ http://gun.js.org/ then, it is a completely free and Open Source alternative that addresses many of the c
by marknadal 10y ago
You guys should try out / check out http://gun.js.org/ http://gun.js.org/ then, it is a completely free and Open Source alternative that addresses many of the concerns in your post:
3) Pricing. Since it is Open Source you can run it on your own infrastructure, so you can control how much money you spend and you are not vendor locked in to premiums.
4) By default, gun only downloads 1 layer deep for every item you request instead of the entire subtree. This is great because it keeps things snappy fast and bandwidth light but still gives you control of when and how to load it.
5) You might not like us here, because we also support offline-first changes. However everything runs through a conflict resolution algorithm such that data is strongly Eventually Consistent. Check out the 1 minute demo videos in the repo https://github.com/amark/gun https://github.com/amark/gun .
7) Relations are marvelous! Because gun is a graph database, you get relations as well as documents! As well as key/value, table, and other structures.
9) Own your data. Yeah, not a problem here since everything is Open Source. You run gun where you want to, and it simplifies the devops for you. So it is almost like having your own self-hosted DBaaS!
10) Because of the graph structure, you can do any custom query logic through conditional traversals (javascript is the query language). However, we do plan on supporting SQL and MongoDB Query spec coming up in the future - but not yet.
Happy to answer any questions and support you guys. Sorry that Firebase didn't work out for you, and congrats on your growth!
- thunderbong 10y agoI don't know why you're being downvoted, because gun is, in my opinion, the closest alternative to a self-hosted firebase
- marknadal 10y agoThanks, I really appreciate that. Being Open Source is rough, because people still judge you as "selling", despite the fact that everything is free and MIT licensed. Personally, it often causes depression, but I always pull through knowing/hoping that ultimately more lives will be impacted for the better. So thank you for the encouragement, it really helps and I hope it sends a message to others whom might have projects of their own - don't let the negativity get you down. Thanks for being that reminder.
- SparkyMcUnicorn 10y agoThe RethinkDB team made Horizon (http://horizon.io http://horizon.io), which is basically a self hosted firebase.
- toddmorey 10y agoI think Horizon is very interesting, but keep in mind it's still very early. As they mentioned on the blog "Horizon is still under heavy active development. In response to user feedback and lessons we learned from building our own applications with Horizon, we’re revisiting many of our early architectural decisions. You can expect to see a fair amount of churn in the coming months as we continue to overhaul key parts of the Horizon stack."
- Lazare 10y agoCouchDB might be even closer. (Although it might be more accurate to say that Firebase is a non-self-hosted clone of Couch...)
- marknadal 10y agoCouch and Pouch really got a lot of things correct back in the day. However, Firebase runs off of MongoDB internally and as a result the realtime sync of Firebase is quite distinct from Couch/Pouch. Firebase is ultimately the centralized authority, while with Couch you can have more of a Master-Master setup (which is a good thing).
- IanCal 10y agoIs there a guide for handling things like auth and permissions with gun?
- marknadal 10y agoRight now the standard way is to have a server that you proxy writes (the same setup you would have with Postges or Mongo) to, so I would refer you to things like Passport and stuff. We plan on adding our own system, however it will be based on a fully P2P setup. Where every user has public/private keys and the server does not have access to that private key. We have a couple prototypes but we aren't security experts so we want to be careful and get some auditing before we publish it as a tool. Finally, if you just want to control request/response, then there is a generic callback for that that gives you the ability to reject requests. See https://github.com/amark/gun/blob/master/examples/express-auth.js https://github.com/amark/gun/blob/master/examples/express-au... as an example, note that we may be changing this in the future though.