Ripple: The Elegant TypeScript UI Framework
11–20 of 28 posts
Re: Ripple: The Elegant TypeScript UI Framework
#12Looking at the samples, it seems Ripple is going the same direction as Mint:
- explicit component definitions
- inlined control flow in HTML tags
- component based styling
- explicit white space handling for element content
- syntax for setting references
I'm not sure why they based it on TypeScript instead of creating a new language completely, since there are a lot of new syntax added (and they have their own extension as well).
If you are looking for something similar, give Mint a try, it has a lot more features, and I'm looking to release 1.0 in the near future.
Re: Ripple: The Elegant TypeScript UI Framework
#13I still feel the same way about it. Feels like a weird mish mash of React and Svelte. I don't see any good reason to switch to it after working with Svelte and Solid in prod for the past couple of years.
Re: Ripple: The Elegant TypeScript UI Framework
#14Please.. no more UI frameworks. Can we just agree to make react native to the browser, get rid of redux, and simplify things?
Re: Ripple: The Elegant TypeScript UI Framework
#15And just like svelte this is elegant exactly until you realize that it is not possible to correctly track all the dependencies and just like svelte you realize that a mix of explicit and implicit reactivity is really hard to debug and then you seitch to explicit reactivity and then you are just as complex as any other reactivity based framework
Re: Ripple: The Elegant TypeScript UI Framework
#16 let count = track(0);
@count++}>{@count}
No useState, ref(), .value, $:, or signals.
You could replace `track` with `useState`, or `@` with `$` and it's pretty much the same thing. Whether you use syntax that's explicit or magic symbols you have to look up to understand is a matter of preference, but this does not really set it apart from any other library.Re: Ripple: The Elegant TypeScript UI Framework
#17Another thing is that this looks like any other framework out there. I think you can map every one of it's features mostly 1-1 to SolidJS. What is the novelty here? The slightly changed js syntax with "component", "@" and "#"?
I would like to see more radical and new ideas in the js space, expecially in this period. Maybe a new take on Elm to get stronger UI stability guarantees. Or even just some very good tooling to reason about very large reactivity graphs at runtime and (maybe also at) compile time.
That said I still appreciate the work and in particular all the effort spent making the new syntax work in all common editors, I see they support vscode, intellij, sublime, ...
Edit: In the actual documentation they provide an llm.txt https://www.ripplejs.com/llms.txt
Re: Ripple: The Elegant TypeScript UI Framework
#18Granted I have not used this library myself, so this is not coming from experience, but this type of copy does not instill confidence: let count = track(0); @count++}>{@count} No useState, ref(), .value, $:, or signals. You could replace `track` with `useState`, or `@` with `$` and it's pretty much the same thing. Whether you use syntax that's explicit or magic symbols you have to look up to understand is a matter of…
Re: Ripple: The Elegant TypeScript UI Framework
#19I don't get how this would be more "ai friendly" than other frameworks, that kind of propositions should be backed by more concrete proof. I know that this is a kind of open problem but at least show me this can be easily generated with common models without an enormous reference prompt. Another thing is that this looks like any other framework out there. I think you can map every one of it's features mostly 1-1 to S…
Most if not all llms are producing Markdown instead of HTML as the primary output. Markdown has a simpler syntax that basically uses fewer tokens compared to HTML Similarly, Ripple appears to express a complex structure in simple terms compared to React or HTML or whatever. No wonder most AI dev tools operate in React with web previews abstracting away the setup process.
Higher abstractions appear to be cost efficient(both training & inference time - output generation). All that is required is to provide the model with a document containing rules about ripplejs(in this case) and go from there...more like llms.txt or agent.md or simply documentation. Any DSL would fit in a single file and easily consumed by a model.
Re: Ripple: The Elegant TypeScript UI Framework
#20Why did you use `track` for variables and `#` for lists instead of using the same syntax for both?
Scalars and collections have different update semantics. track() is for atomic updates, # is for structural mutations — separate syntax makes reactive tracking and optimization simpler.