rust-dominator
daisyui
Our great sponsors
rust-dominator | daisyui | |
---|---|---|
10 | 248 | |
930 | 30,810 | |
- | - | |
5.0 | 9.8 | |
5 months ago | 1 day ago | |
Rust | Svelte | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust-dominator
-
A Proposal for an asynchronous Rust GUI framework
They are both async and made for GUI -- in case of rust-signals WebGUI, provided by dominator and MoonZoon.
-
Why Rust?
You shouldnât ever need to deal with OsString itself on wasm32-unknown-unknown, since that target basically just doesnât cover functionality that needs it, but the actual situation is genuinely worse than OsString: Rust insists on valid Unicode (as is right and proper), but the web suffers from the affliction of ill-formed UTF-16. If you blindly convert from JavaScript strings to Rust strings, you will encounter data and functionality loss in a few situations, in practice always involving IME (or similar) text entry on Windows. The first bug I filed about this: https://github.com/Pauan/rust-dominator/issues/10, and you can follow further links if youâre interested. IE and Edge used to be largely immune to this, but IE is dead and I suppose Edge will have regressed in this way with the Chromium migration, since the bug filed in Chromium a few years ago <https://bugs.chromium.org/p/chromium/issues/detail?id=949056> has languished. (Firefox too, with <https://bugzilla.mozilla.org/show_bug.cgi?id=1541349>.) In the worst-case scenario, careless use like was the case in rust-dominator will mean that some users typing with particular software in a language thatâs outside the Basic Multilingual Plane will not be able to type anything.
-
Xilem: an architecture for UI in Rust
One comparison I'm missing , which I think provides quite a nice solution in Rust, is the signals based approach popularized by Solid JS and implemented in Rust by sycamore and earlier by dominator.
-
So Long Surrogates: How We Moved to UTF-8 in Haskell
Missing support for characters beyond U+FFFF is the main problem caused by surrogates (their existence, even if indirect)âit normally comes of some kind of UCS-2/UTF-16 confusion. Itâs not fair to disqualify them. The only (class of) case that Iâm aware of for a long time where itâs not linked to that is with MySQLâs idiotic utf8 â utf8mb3 type.
You may not have encountered such bugs, but Iâm very familiar with surrogate-related bugs, because I use a Compose key extensively. I havenât been using Windows for the last year, but from time to time I would definitely encounter bugs that are certainly due to surrogates. On the web, I found bugs a few times, all but once in Rust WebAssembly things, such as https://github.com/Pauan/rust-dominator/issues/10. And even now Iâm back on Linux, I know of one almost certainly surrogate-related bug: I canât type astral plane characters in Zoom at all; pretty sure I had this problem back on Windows, too. Copy and paste, sure, but type, no, they become REPLACEMENT CHARACTER.
The history is unfortunate but I strongly refute that they had not much choice. UCS-2 should have been abandoned as a failed experiment. Certainly there had been significant investment into it in the last few years, but with the benefit of hindsight, switching to UTF-8 (which was invented before they decided on surrogates) would have made everyoneâs life much easier, especially given its ASCII-compatibility.
Ah, BOM characters. Havenât seen one in years. Good riddance.
-
A Rust server / frontend setup like it's 2022 (with axum and yew)
I really don't understand why everyone jumps to Yew when it comes to front-end development. Dominator is a far cleaner and more Rust-orientated approach to building front-end apps. I have worked with both and I feel that Yew adds a lot complexity/forces a lot of design philosophies but gives very little back in terms of advantages.
-
Announcing Silkenweb v0.2.0: A crate for building web apps using WebAssembly
Hi, I've just released a major new version of Silkenweb. It's a signals based web framework like Dominator or Sycamore, but with the emphasis on plain rust syntax rather than a macro DSL.
-
Front-end Rust framework performance prognosis
Check out the alternatives without vdom, especially Dominator https://github.com/Pauan/rust-dominator. Itâs faster than nearly all JS frameworks. The underlying rust-signals itâs based on is a fantastic crate. Unfortunately itâs not very well documented (check the prs for some wip docs). I got a frontend up and going with reactivity and nice styles using trunk and tailwindcss with daisyUI very quickly.
- Seed â A Rust front-end framework for creating fast and reliable web apps
-
Rust on the front-end
- https://github.com/Pauan/rust-dominator
-
Introducing maple, a VDOM-less fine grained reactive web framework running in WASM
How does this compare to dominator?
daisyui
-
HTML-first, framework-agnostic implementation of shadcn/UI â franken/UI
DaisyUI offers zero-JS components
https://daisyui.com/
I used it for a small form + search result list recently and it works well enough for simple / static stuff.
But I think I'll still be reaching for a JS lib first since I'd miss things like inputs-with-autocomplete too much.
- Show HN: Open Source TailwindCSS UI Components
-
How to use Tailwind with any CSS framework
Tailwind is great, but creating everything from scratch is annoying. A nice base of components which can be extended with tailwind would be great. There are a few tailwind frameworks like Flowbite, Daisy Ui, but I like Bulma, PicoCSS and Bootstrap.
- Ask HN: Freelance website builders/maintainers, what's in your 2024 toolkit?
-
Building a Fast, Efficient Web App: The Technology Stack of PromptSmithy Explained
While I have experience with Tailwind and frontend development, I donât really have the patience to use it. I usually end up using something like Mantine, which is a complete component library UI kit, or Daisy UI, which is a component library built on top of Tailwind. Shadcn/ui is quite similar to Daisy in this sense, but being able to customize the individual components, since they get installed to your components folder, made development more streamlined and more customizable. On top of that being able to change my components style with natural language thanks to v0 made development super easy and fast. Shadcn may be too minimalist of a style for some, but thanks to all the components being local, you can customize them quickly and easily!
-
The Bulma CSS framework reaches 1.0
https://daisyui.com is a really great middle groundâyou can move as fast as you would in Bulma, then drop down into the weeds with TW if you need it.
-
Tailwind Color Palette Generator
If you're looking for grab and go components, Daisy UI or Flowbite might be more your speed, I've used both with minimal headache.
https://daisyui.com/
-
DaisyUI + Alpine.js + Codehooks.io - the simple web app trio
This guide is tailored for front-end developers looking to explore the smooth integration of DaisyUI's stylish components, Alpine.js's minimalist reactive framework, and the straightforward back-end capabilities of Codehooks.io.
- DaisyUI: The most popular component library for Tailwind CSS
-
Shadcn: Beautifully designed components that you can copy-paste into your apps
Others:
- https://daisyui.com/
What are some alternatives?
sycamore - A library for creating reactive web apps in Rust and WebAssembly
flowbite - Open-source UI component library and front-end development framework based on Tailwind CSS
Seed - A Rust framework for creating web apps
headlessui - Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.
solid - A declarative, efficient, and flexible JavaScript library for building user interfaces.
shadcn/ui - Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.
solid - A declarative, efficient, and flexible JavaScript library for building user interfaces. [Moved to: https://github.com/solidui/solid]
Material UI - Ready-to-use foundational React components, free forever. It includes Material UI, which implements Google's Material Design.
Svelte - Cybernetically enhanced web apps
theme-change - Change CSS theme with toggle, buttons or select using CSS custom properties and localStorage
rust-rdom - đ A Rust-based simulated DOM (browser-independent replacement for web_sys)
fullcalendar - Full-sized drag & drop event calendar in JavaScript