topcoat: A batteries-included framework for building web apps
14 points by 355E3B
14 points by 355E3B
A
$(...)expression is ordinary type-checked Rust that Topcoat evaluates on the server for the initial render and also translates to JavaScript
my immediate question was “translates to JavaScript how?”, and the answer is “very manually, on AST level”, so Rust syntactic constructs get directly translated into similar JS constructs. unless I’m missing something, that means you shouldn’t be able to call functions from outside context, because their definitions would (obviously) be inaccessible. it’s not really “ordinary Rust”, it’s, like, “a subset of Rust that has easy syntactic correspondence to JS and also doesn’t use functions from the rest of the crate”.
This looks like another one of those frameworks which are based on blurring the lines between client and server side in ways that just make extra work and introduce extra footguns for developers like me who want to QA our creations for graceful degradation in the presence of uMatrix or NoScript.
...plus, even if I'm just missing the docs on how to do server-side rendering with hydration, I don't see what the value proposition is compared to more mature entries in this niche like Sycamore and Leptos.
Off-topic maybe, but I'd like to see statistics on the amount of posts we have with the vibecoding tag since its introduction
There are 102 pages of posts with that tag, with the 102nd page having 19 entries. Every other page has 25, so 25 * 101 + 19 gives 2,544.
That's going back multiple years, though, and clearly includes posts retroactively tagged. I'm not sure the exact age of the vibecoding tag, but I want to say it was created/named in 2025 some time.
Not sure what kind of statistics you'd like to see, but if you take a look at this section on the about page, you can see how to ask the questions in a way that might get you an answer. Short version: look at the schema, put together a query (or set of queries) that you think might be illuminating, and reach out to @pushcx. If you reach out during the right part of office hours and your query is well-enough developed, I suspect you could even get a pretty quick answer.