Live data from Hacker News

SapphireDb – Open-Source Alternative to Firebase

sapphire-db.com

31–40 of 63 posts

Re: SapphireDb – Open-Source Alternative to Firebase

#32

In the Stackblitz example the Angular client is connecting directly to the SapphireDB database with credentials stored in the app.module.ts. Could you build a scalable real world, production application this way? With no in the middle NodeJS web server handing business logic? Handle all the business logic in the Angular client and just CRUD the objects back to SapphireDB? Essentially just Client--> SapphireDB Or am I…

The credentials you found in the app.module.ts are just credentials to identify the client (not the user). It is just to give an extra layer of security and only allow specific applications access to the server. User authentication is handled through tokens for example.

The architecture looks more like this: Client -> Asp.Net Core server with SapphireDb -> any database server

SapphireDb is not a database. Its more like the connector between database and clients. Because of that there is no package for a NodeJS because it would just be proxy.

Yes I think it is production ready. I'll add a section in the docs describing the criteria this opinion is based on.

Re: SapphireDb – Open-Source Alternative to Firebase

#33
post #26

Earlier quoted context omitted.

Dying? Hm, not to my knowledge. In fact, I saw a highly-commented thread on HN just a couple of weeks ago about Cap'n Proto. What gives you the sense that it's on its way out?

Sandstorm Oasis going away and the last time I checked (maybe a year ago?) work seemed to have stopped on getting the protocol implemented in the browser.

Hi, I'm the author of Cap'n Proto, and co-founder of Sandstorm.io. When Sandstorm failed, I went to Cloudflare where I'm leading the Cloudflare Workers project. We're using Cap'n Proto (including RPC) pretty heavily there!

That said, it's true that Cap'n Proto relies on its users to contribute improvements to the implementation. We don't currently have a team who can dedicate their time to building out capnp implementations in every language.

At present, within Cloudflare, the heaviest use is C++, with some stuff in Go, Rust, Java, and Lua. Hence, if you look at the C++ implementation you'll see it's been pretty active. At the moment we don't have a JavaScript use case so haven't put effort into that implementation. But given that Workers itself is a JavaScript platform, it seems reasonably likely that we'll end up putting some work into the JavaScript/TypeScript implementation at some point down the road.

Re: SapphireDb – Open-Source Alternative to Firebase

#35
post #4

Firebase is a collection of services. This seems to be an alternative to the Firebase Realtime Database specifically

This is not even true. Firebase Realtime Database supports offline-first while SapphireDB is just streaming results to the client, like RethinkDB or Meteor.

Re: SapphireDb – Open-Source Alternative to Firebase

#36
post #22

Earlier quoted context omitted.

That sounds interesting. Have you compared your service to pouchdb and gun? Is it possible to use icepeak in offline mode and automatically sync when getting online again? [1] https://pouchdb.com/ [2] https://gun.js.org/

PouchDB looks like the client side library. Do you still need CouchDB on the backend? I see from the mailing list it is still a very active project, which surprised me.

If you want to have PouchDB without being tied to the CouchDB-backend, check out RxDB. It supports replication via GraphQL.

https://github.com/pubkey/rxdb

Re: SapphireDb – Open-Source Alternative to Firebase

#37

based on .net core, for what it's worth

Which is a bit weird since .NET Core has standardized on the open source SignalR, which is really good. It would make more sense to build on top of that.

I took SignlaR into consideration when building that.

SignalR does not have some client implementations. I decided to create a small protocol that is easily adoptable in many technologies.

SignalR also has some limitations that made it impracticable for the project.

Re: SapphireDb – Open-Source Alternative to Firebase

#38

I'm a competitor, and I want to applaud this work! - SapphireDB is truly Open Source, MIT! - There demo worked like a charm! We could really use more projects like this out there. Here is a criticism though: - It seems currently to only support Angular (?), which is gonna harm its adoption. My recommendation would be to commit to Svelte, it seems like it will be the "next big thing" in the JS world, and could help dr…

Thank you for your feedback.

An implementation for Svelte is already planned, but thank you for the recommendation. I'll move the codebase of the Angular implementation into a seperate project soon which will make integrations for other JS frameworks pretty easy.

Your project looks very interesting and I'll definitely take a look into it.

The support for graph data is still in consideration. Offline/Local first support is planned and will definitely be a feature in the future.

Big thanks for the recommendations.

Re: SapphireDb – Open-Source Alternative to Firebase

#39
post #35
post #4

Firebase is a collection of services. This seems to be an alternative to the Firebase Realtime Database specifically

This is not even true. Firebase Realtime Database supports offline-first while SapphireDB is just streaming results to the client, like RethinkDB or Meteor.

Offline-first is already a planned feature and only missing because of the lack of development capacity.

Re: SapphireDb – Open-Source Alternative to Firebase

#40
post #5

If you are looking for an open-source replacement of the Firebase Realtime Database, you might also be interested in Icepeak ( https://github.com/channable/icepeak ) (full disclosure, I'm one of the authors). Icepeak was written because we were unsatisfied with the reliability and with the (occasionally) high latency of Firebase, both for pushing updates via HTTP (>1s for some requests) and for receiving updates over…

Hi! What are you using for conflict resolution? Is it CRDT? Have you seen RON? https://github.com/ff-notes/ron
Post reply on HN