Bravo, this is seriously one of the best coding walkthroughs I've ever seen. Been feeling pretty overwhelmed by CLJS tooling of late and this clears up so much. Thanks a ton!
Hi, I'm new to shadow-cljs and ClojureScript. Does shadow-cljs support hot reloading without resetting the state? For an example, you make a count button. You click the button to count to 10, then change/add some text elements in the component. Does that reset the count?
As usual great video. Though I have a question. What about Helix and is that different from using re-frame? Does re-frame embedded helix or it has it's own React wrapper? Thanks for explaining.
Thanks a lot! Re-frame and helix are completely separate to my knowledge. Reframe uses hiccup and subscriptionsand events with a single db. Helix doesnt use hiccup and it works more closely to modern react with the hook structure.
@@onthecodeagain Thanks for you precision. It helps understanding the stack. I started a project with re-frame cause I like Clojure writing - and because of your video... - and would like to add an WYSIWYG editor - like in wordpress - to allow user to write article. Is there any you would recommend? Could be a topic for a next video ;-)
I dont use it for production because my company hosts on aws rds. But I do think its a cool tool. I use it here because you can create a db for free and I can make videos without having to go through a local mysql setup.
@@onthecodeagain Just started learning it, alongside with clojure, going through the basics atm It's currently in development stage but dart -> clojure code conversion works in vscode+calva already and might be helpful for more advanced devs Building cross platform apps this way looks promising to me but what do I know, haha
A lot of loud typing, and not so well organized set of ideas. For example, you don’t really frame the tools used and their structure before going into the minutia of how each symbol or keyword is used within one of those tools. Prime examples: shadows, edn. I have a sense of how these tools are relevant to what you’re trying to do, but not much context on how those ecosystems are designed. Thus I had no idea why you went to their documentation when you did. Positives: you did a decent job of describing what the backend project represents at the beginning, however what your front-end conversion was meant to be in its end state was unclear. Perhaps I’m a little spoiled in coming from Haskell and Common Lisp where the assumption is that the core functions or modules will drive all the details so after those are known the rest of the details can be inferred and take similar form.