Hi, very interesting framework! I like the way handler registrations are not global, I always felt this was a little weird in re-frame.
And the entity-db stuff is very exciting too - though I dislike manually having to trigger “garbage collection”. It would be nice to make reference counting work somehow, but I guess the problem are cycles like always...
@bteuber: the nice thing about this approach is that it's easy for another controller to take a hold of an item before it's vacuumed
in the place my order example
when you go from the restaurants to the restaurant page
the restaurant controller can check if the restaurant entity is already loaded
and if it is it will return it immediately instead of making a req
regarding the automatic vacuuming of the entity db, it could be done but I don't want to add any kind of "magical" behavior to keechma
all the components are meant to be low level, so you could use them to build something more opinionated on top of them
right I think it’s a great starting point
and I’ll have to experiment more with the entity stuff in general I guess
maybe I’ll find out what I want on top after a while
yeah, EDB is meant to be simple, and it's purposefully not complected with the rest of the framework. If there's something that works better for your model structure, you can easily swap out the EDB
yeah that’s something else I like, modularity between framework parts
without the whole “framework” notion would be rather scary, but like that it’s more of a tool collection
Yeah the only frameworky part is the app-state lib which glues everything together. Stuart Sierra's talks (http://www.infoq.com/presentations/Clojure-Large-scale-patterns-techniques and https://vimeo.com/100978431) had a huge impact on the design
Thanks - I’ve seen the components talk but not the scaling one, will check it out :simple_smile:
Awesome job on the docs @mihaelkonjevic
thank you :simple_smile: I kinda feel I should rewrite them again, there's still a lot of things I want to explain
I love that you added routing, that is so important. We have very big app with re-frame bit I am definitely keeping an eye on Keechma
We have a sort of homemade entitydb
keechma actually started as Re/Frame and Secretary combination, but I didn't like the shared global state everywhere, and I wanted my controllers to be route driven so I finally bit the bullet and implemented it on my own
also, I like how controllers allow you to encapsulate both the retrieval of the data and mutations of that data too
Yes I will give it a try