@avinder42@cal_fern We will ensure, that one request response cycle is isolated, can timeout, is repeat/retrieable etc
How this will looklike idk yet. Might be zio, might be blocks libs, might be something else.
๐จ Iโm done with zio-http
After 3.11, no more new features from me on the 3.x line.
Instead Iโm going full speed on zio-http 4 completely rebuilt on ZIO Blocks
Code is already moving into blocks
Cleaner. Faster. Simpler
The future is coming ๐ฅ
Whoโs hyped?
Okay. That is something I can work with to give a good answer.
To clarify, I am also a D* dude. I use and love it.
You could still use the same language for D*. There is support for JS/TS backend. Though put of experience, I usually do not write JS/TS but just quite short D* expressions. Your argument is individual and might be biased by your previous experience. Trying D* in some way that seems to fit you best might let you reevaluate this opinion.
D* community would agree: Do not tightly couple your REST endpoint to a specific HTML representations. We usually prefer CQRS. So you mutate your BE state via rest, but you just return some status code or json if needed. The common way ist to keep a SSE connection open and push en event updating the DOM based on the changed state of the BE. That decouples and gives you the option to render different based on the page you are viewing right now.
That said, you can also use the rest endpoint to return a text/html or SSE send 5 events and close or something like that, if it would fit your needs better. D* supports that all. And as you know, different use case drive some different descrisions even in the same stack.
No, D* does not aim to keep all state in the BE. There is state that is inherently FE state. Like the current state of any input field. Or if a dialog is open or closed. All these things. That's why D* comes with signals aka reactive variables.
I can understand that this is not how you use to do web and that you have reasons why you like react and D* seems off for you.
I personally would recommend you try out D*, even if you do not end up using it. It is kinda like I would recommend everyone to try FP. It gives you perspective and you might find some of it to be useful to be in your tool box at some point in time.
Btw when it comes to @DelaneyGillilan he is actually nice when you talk in person (did that) or listen to him on a podcast. But told him before, his twitter personality is a little weird ๐ and not the best in advocating for D*. but I try to do my best hehe
@AdamRackis@DelaneyGillilan@alexhorner2002 First I am not salty, flaming or something like that.
Just one honest question: what is the complexity of go or any other backend lang in your HTML template compared to jsx?
Is it really that different?
Or are your trade offs more based on things you are used to?
@matej_cerny Just looked it up. It actually does use select for update skipped locked. I would probably not use such an extension. Rather build convince on the Scala side.
@matej_cerny Most ppl will not even need that extension. Select for update skip locked is already powerful enough for most use cases. Including multi instance processing.