I've been diving into Phoenix LiveView and really enjoying the server-driven UI approach, but I'm stuck relying on various individual JavaScript libraries for UI features like drag-and-drop, charts, transitions, and tooltips. Libraries like Sortable.js, Chart.js, Alpine.js, and Tippy.js all work great in this setup as they don't control the DOM directly, which fits perfectly with LiveView.
This leads me to wonder: why hasn't anyone created a bundled alternative to React that serves as a cohesive kit for server-rendered or real-time HTML? I'm picturing something lightweight that doesn't involve a virtual DOM or heavy client-side state management, just enhancing the DOM through hooks or attributes. Ideally, it would be compatible with Tailwind CSS, fast, and keep things simple. Do you think this idea is too niche, or has someone already started working on it and I've just missed it?
6 Answers
Building a generic solution often leads to compromises. It's usually better for developers to mix and match what they find works best for their own projects. There's a trend in tech of overcomplicating solutions because some think developers need everything packaged.
Have you checked out Data-Star? It’s a good fit for what you're after, especially with no virtual DOM and it's Tailwind-friendly. It might have some client-side scripting support, but you don't have to use it if you don't want to.
Thanks for the suggestion! It looks more like an HTMX alternative, but I'm already utilizing Phoenix LiveView.
Why combine everything into one big messy package? If you see a need for it, maybe try creating something yourself and gauge community interest.
I’ve actually tried to tackle this by simplifying element and event creation with my project, @spicyjs/core on npm. What you're looking for might be a type of micro-framework, and there's definitely a growing trend towards these tools.
This looks promising! I think we're going to see a rise in these types of tools, especially with new trends emerging in web development.
What you want is basically just jQuery and jQuery UI. These have been around, just not bundled in the way you're envisioning.
Honestly, I think there's no real need for a bundled solution. If you find yourself needing multiple libraries, you can easily combine them yourself. I use HTMX with Alpine and handle the bundling to get everything I need without any fuss. A pre-packaged library might just lead to unnecessary complexity.
I get your point, but my concern is around managing dependencies. I prefer a lean setup and having everything in one spot. Current tools like HTMX and Alpine don't really cover the breadth of features I want, like charts and drag-and-drop.

I absolutely agree! Everyone's got their own way of doing things, and it just complicates things when there’s pressure to adopt a single 'right' method.