These are chat archives for jdubray/sam

8th
Feb 2016
Jean-Jacques Dubray
@jdubray
Feb 08 2016 18:18
I found this presentation on Rethinking MVC this morning, as you will see, React's programming model tends to spread "state" in the components. A component should not know anything about whether it is "dirty" or not. I would argue that this kind of factoring is significantly flawed and should not be used https://www.youtube.com/watch?v=1rLRjU5nYH0
Gunar Gessner
@gunar
Feb 08 2016 18:47
Single source of truth, the idea behind Redux yes?
Jean-Jacques Dubray
@jdubray
Feb 08 2016 20:10
You cannot derive the "state" if you don't have this single source of truth. That being said, I believe the depiction of the presenter if not completely accurate. I'll write a post on Redux vs SAM shortly since SAM is more general than Redux, it aims at replacing it.
Stardrive ENGG
@HighOnDrive
Feb 08 2016 22:47
@jdubray Looking forward to your Redux vs SAM article. Would the central topic also extend to Relay/GraphQL and Falcor? It would be good to understand how SAM applies in any of these optional backend scenarios.
Jean-Jacques Dubray
@jdubray
Feb 08 2016 22:48
I am not a big fan of GraphQL, looks interesting on paper, but breaks the "reactive" loop, which I believe a lot of people feel that's where we need to go. The View simply cannot make requests to the back-end. SAM was created to plugin microservices framework like http://hivepod.io
I don't believe that there is a general way to query a back-end, but perhaps I am biased. Facebook is wealthy enough to afford someone to build that for them, but I have trouble to believe that the traditional IT organization can afford it
I was a co-author of the SDO spec (Service Data Object), so I believe more in healthy relationship between Model-Systems of Record
If you look at SAM, you have the front-end reactive loop that's designed to work almost in isolation, somewhat like a conveyor belt, how data elements are picked up for or put on the conveyor belt should be completely hidden from it.
Stardrive ENGG
@HighOnDrive
Feb 08 2016 22:54
Yes, caught what you said about GraphQL in the first article and it was enlightening to hear what GraphQL really was. In the article you mentioned the CRUD layer and I can see Firebase here for sure. What about Falcor that is another interesting approach?
Jean-Jacques Dubray
@jdubray
Feb 08 2016 22:55
Yes, Falcor looks promising, but from an IT perspective, we have to be careful about applying these kinds of frameworks (even if you are a startup)
I am a veteran MDE practitioner, and after 25 years of MDE/MDSD I came to the conclusion that metadata was harder to write than code
most people would say duh?
Not sure the answer was that obvious, there are problems, especially in the data world where model-driven-software-engineering is the only way, but I am being careful.
SAM is based on TLA+, TLA+ is pretty much the foundation of computing, it teaches you to factor your code properly, once you do that, the amount of framework you need goes down dramatically.
Stardrive ENGG
@HighOnDrive
Feb 08 2016 22:59
Right, I'm hoping to have SAM work well with Cycle, seems what SAM does is still rather vague in Cycle. Cycle only has drivers, which is a functional thing and then MVI, which is a very rough version of MVC to work with, seems everything else is ad hoc and generally up in the air.
Jean-Jacques Dubray
@jdubray
Feb 08 2016 22:59
I am advocating for a style that is as pure as it can be with minimal libraries/frameworks and MDSD
Cycle looks promising, I like less code than more code. Was really impressed with what I saw from @foxdonut
I have a meeting now
Stardrive ENGG
@HighOnDrive
Feb 08 2016 23:02
Nice, looking forward to your new article :+1: