avenger icon indicating copy to clipboard operation
avenger copied to clipboard

general discussion on project goals/similarity to other CQRS options

Open thurt opened this issue 8 years ago • 1 comments

I'm new to CQRS patterns, so I'm hoping to get some feedback on how avenger may be conceptually similar/different compared to other CQRS-like options (I am aware of graphql/apollo becoming a popular consideration in this realm). And when do you foresee avenger to be production ready? is there a roadmap for feature implementation? any comments/thoughts in these areas would be very much appreciated!

I found the readme very interesting and helpful in understanding the "nuts and bolts" of this project, so keep up the good work!

thurt avatar Feb 11 '17 18:02 thurt

Hi, first of all I'm glad you enjoyed reading through! A few notes (both pros and cons) that you might find interesting:

  • compared to apollo (and same goes for Relay), this doesn't require graphql, meaning it is very lightweight to integrate
  • for the same reason, it is not strictly related to the underlying transport; it's just modeling async querying and mutating, e.g. you may be querying local storage, memory, or multiple remote sources - not a single graphql endpoint
  • avenger has no concept of "schema", the only metadata used at runtime is the description of dependencies (e.g. fetch A needs to be fulfilled before fetch B can even start)
  • speaking of runtime, this is currently runtime only, meaning there's no way to extract / "materialize" anything statically
  • in terms of production readiness: we currently use it on various "production" projects, so technically it is. Needless to say, it is not even comparable to the solutions above in terms of documentation, support, api stability, completeness, team etc.
  • there's no shared roadmap at the moment. We are currently in the process of backporting the new version (>1.0.0) on various internal projects. This will help in finding and fixing bugs, and finalizing and polishing the api.
  • in terms of features, one thing that is surely missing and we are willing to add is a way to perform optimistic mutations on the client

giogonzo avatar Feb 12 '17 11:02 giogonzo