Last year I presented a talk called '"All API's suck, can we build one that sucks less?" It's now one year later, and I have a first working version of my alternative, called SimplyStore.
I will talk about the issues I had building it, lessons learned using it and re-evaluate some of the ideas implemented, namely:
- Using an enhanced version of JSON called JSONTag
- Using a javascript in-memory store instead of a traditional database
- Writing queries in Javascript instead of a purpose built query language (JAQT)
- Creating a more user friendly javascript query API, with similarities to GraphQL
- Multi-threaded queries, single-threaded commands (CQRS)
- Immutable shared memory data in NodeJS via on-demand JSONTag (od-jsontag)
Performance of the system has been surprisingly good, queries on a test set of some 130.000 objects usually resolve in under 50ms. Commands alter the data and perform significantly less well (up to 4 seconds on a 11th gen Intel i7). Here is where a Go or Rust implementation can hopefully make a real difference. If you are a Go or Rust expert and like to help, please contact me :)
Finally the idea to SimplyStore was, can we build an API that is simpler, easier to use and more consistent then REST or GraphQL. I'd like your feedback on whether SimplyStore is going in the right direction.
SimplyStore: https://github.com/SimplyEdit/SimplyStore/ JSONTag: https://github.com/muze-nl/jsontag od-jsontag: https://github.com/muze-nl/od-jsontag JAQT: https://github.com/muze-nl/jaqt
Speakers for All API's suck, one year later: SimplyStore, does it suck?:
Metadata for All API's suck, one year later: SimplyStore, does it suck?
To be recorded: YesURLs for All API's suck, one year later: SimplyStore, does it suck?
No URLs found.
Schedule for All API's suck, one year later: SimplyStore, does it suck?
- Thursday, Jul 18th, 2024, 15:00 (CEST) - Thursday, Jul 18th, 2024, 16:00 (CEST) at Speakers Tent