frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Ripple: The Elegant TypeScript UI Framework

https://jsdev.space/meet-ripple/
30•javatuts•10h ago

Comments

reactordev•8h ago
For the first time in a long time, I actually like the look of this.

It’s like htmx and jsx teamed up for world domination. I like the component keyword as a first class citizen. I like the bind and event stuff too. Man, I’m going to have to try this.

javatuts•8h ago
+1
zareith•8h ago
The end result seems very close to svelte with runes, except with lower learning curve because we dont have special syntax for things like loops, conditionals etc.
jemmyw•8h ago
Why did you use `track` for variables and `#` for lists instead of using the same syntax for both?
javatuts•6h ago
Scalars and collections have different update semantics. track() is for atomic updates, # is for structural mutations — separate syntax makes reactive tracking and optimization simpler.
henryhale•2h ago
why not abstract that away so that `track()` can do it all? It would be alot easier to work with.
jitix•7h ago
Please.. no more UI frameworks. Can we just agree to make react native to the browser, get rid of redux, and simplify things?
vikaveri•6h ago
I recommend MobX as a solution for state management
troupo•6h ago
erm, no? React has painted itself into a usability and optimisation nightmare corner by insisting that components are the most granular level of resctivity.

That's why they need 20 different hooks to do anything.

You want signals in the browser for granular reactivity, and they are making their way there: https://github.com/tc39/proposal-signals

aatd86•4h ago
Tough luck, something is coming from my end at some point this year. The remix guys are coming with something too. You won't force me to useReact, sorry... ;D
ruduhudi•6h ago
And 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
wiseowise•4h ago
And then you’re back to React!
bitpush•6h ago
Please replace the submitted link with the official website - https://www.ripplejs.com/
gdotdesign•5h ago
It's very similar to Mint (https://mint-lang.com/) which I'm building for some time now.

Looking 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.

h4ch1•4h ago
Previous discussion: Ripple – A TypeScript UI framework that takes the best of React, Solid, Svelte | https://news.ycombinator.com/item?id=45063176

I 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.

Etheryte•3h ago
Granted 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);
  <button onClick={() => @count++}>{@count}</button>
  
  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.
ivanjermakov•3h ago
Not to mention that this is not even a valid TypeScript.
aziis98•3h ago
I 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 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

henryhale•2h ago
>I don't get how this would be more "ai friendly" than other frameworks, that kind of propositions should be backed by more concrete proof.

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.

Gentoo Linux 2025 Review

https://www.gentoo.org/news/2026/01/05/new-year.html
80•akhuettel•2h ago•14 comments

"Food JPEGs" in Super Smash Bros. & Kirby Air Riders

https://sethmlarson.dev/food-jpegs-in-super-smash-bros-and-kirby-air-riders
67•SethMLarson•4d ago•11 comments

C++ std::move doesn't move anything: A deep dive into Value Categories

https://0xghost.dev/blog/std-move-deep-dive/
138•signa11•2d ago•87 comments

Think of Pavlov

https://boz.com/articles/think-pavlov
41•kiyanwang•3h ago•12 comments

BasiliskII Macintosh 68k Emulator Ported to ESP32-P4 / M5Stack Tab5

https://github.com/amcchord/M5Tab-Macintosh
14•rcarmo•2h ago•1 comments

The Concise TypeScript Book

https://github.com/gibbok/typescript-book
138•javatuts•8h ago•30 comments

Show HN: Porting xv6 to HiFive Unmatched board

https://github.com/eyengin/xv6-riscv-unmatched
4•eyengin•1d ago•0 comments

Happy 50th Birthday KIM-1

https://github.com/netzherpes/KIM1-Demo
3•JKCalhoun•38m ago•0 comments

Vojtux – Unofficial Linux Distribution Aimed at Visually Impaired Users

https://github.com/vojtapolasek/vojtux
83•TheWiggles•4d ago•24 comments

More than one hundred years of Film Sizes

https://wichm.home.xs4all.nl/filmsize.html
53•exvi•6h ago•14 comments

Iran Shuts Down Starlink Internet for First Time

https://www.forbes.com/sites/zakdoffman/2026/01/11/kill-switch-iran-shuts-down-starlink-internet-...
98•neom•1h ago•49 comments

Finding and fixing Ghostty's largest memory leak

https://mitchellh.com/writing/ghostty-memory-leak-fix
514•thorel•19h ago•110 comments

Show HN: I used Claude Code to discover connections between 100 books

https://trails.pieterma.es/
404•pmaze•21h ago•121 comments

CPU Counters on Apple Silicon: article + tool

https://blog.bugsiki.dev/posts/apple-pmu/
118•verte_zerg•4d ago•0 comments

Google: Don't make "bite-sized" content for LLMs

https://arstechnica.com/google/2026/01/google-dont-make-bite-sized-content-for-llms-if-you-care-a...
27•cebert•2h ago•15 comments

Code and Let Live

https://fly.io/blog/code-and-let-live/
377•usrme•1d ago•137 comments

'Bandersnatch': The Works That Inspired the 'Black Mirror' Interactive Feature (2019)

https://www.hollywoodreporter.com/tv/tv-news/black-mirror-bandersnatch-real-life-works-influences...
57•rafaepta•5d ago•23 comments

Open Chaos: A self-evolving open-source project

https://www.openchaos.dev/
392•stefanvdw1•22h ago•81 comments

Show HN: Ferrite – Markdown editor in Rust with native Mermaid diagram rendering

https://github.com/OlaProeis/Ferrite
198•OlaProis•12h ago•110 comments

A Year of Work on the Arch Linux Package Management (ALPM) Project

https://devblog.archlinux.page/2026/a-year-of-work-on-the-alpm-project/
83•susam•12h ago•25 comments

Max Payne – two decades later – Graphics Critique (2021)

https://darkcephas.blogspot.com/2021/07/max-payne-two-decades-later-graphics.html
85•davikr•10h ago•26 comments

Outward Signs of Inner Mysteries

https://lareviewofbooks.org/article/outward-signs-of-inner-mysteries/
3•prismatic•4d ago•0 comments

AI is a business model stress test

https://dri.es/ai-is-a-business-model-stress-test
283•amarsahinovic•21h ago•270 comments

Overdose deaths are falling in America because of a 'supply shock': study

https://www.economist.com/united-states/2026/01/08/why-overdose-deaths-are-falling-in-america
175•marojejian•18h ago•150 comments

HTML-only conditional lazy loading (via preload and media)

https://orga.cat/blog/html-conditional-lazy-loading/
11•netol•3h ago•1 comments

Show HN: Play poker with LLMs, or watch them play against each other

https://llmholdem.com/
138•projectyang•19h ago•71 comments

Show HN: Librario, a book metadata API that aggregates G Books, ISBNDB, and more

116•jamesponddotco•14h ago•40 comments

Show HN: I built an Open Source screen timer for the m5stickc (Arduino)

https://partridge.works/screenie-christmas-project-2025-26/
12•urbandw311er•5d ago•0 comments

An Experimental Approach to Printf in HLSL

https://www.abolishcrlf.org//2025/12/31/Printf.html
30•ibobev•4d ago•2 comments

A battle over Canada’s mystery brain disease

https://www.bbc.com/news/articles/c623r47d67lo
172•lewww•9h ago•116 comments