Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Pauan/rust-dominator
Zero-cost ultra-high-performance declarative DOM library using FRP signals for Rust!
https://github.com/Pauan/rust-dominator
dom frp reactive-programming rust wasm
Last synced: 8 days ago
JSON representation
Zero-cost ultra-high-performance declarative DOM library using FRP signals for Rust!
- Host: GitHub
- URL: https://github.com/Pauan/rust-dominator
- Owner: Pauan
- License: mit
- Created: 2018-02-21T06:33:26.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-12-09T05:33:52.000Z (11 months ago)
- Last Synced: 2024-04-14T10:01:22.663Z (7 months ago)
- Topics: dom, frp, reactive-programming, rust, wasm
- Language: Rust
- Homepage:
- Size: 603 KB
- Stars: 931
- Watchers: 25
- Forks: 61
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ccamel - Pauan/rust-dominator - Zero-cost ultra-high-performance declarative DOM library using FRP signals for Rust! (Rust)
README
[![crates.io](https://img.shields.io/crates/v/dominator.svg)](https://crates.io/crates/dominator)
[![docs.rs](https://docs.rs/dominator/badge.svg)](https://docs.rs/dominator)Zero-cost ultra-high-performance declarative [DOM] library using [FRP] signals for Rust!
Overview
========Dominator is one of the fastest DOM frameworks in the world ([it is just as fast as Inferno][benchmark]).
It does not use [VDOM], instead it uses raw DOM nodes for maximum performance. It is close to the metal and
has almost no overhead: everything is inlined to raw DOM operations.It scales incredibly well even with very large applications, because updates are always `O(1)` time, no
matter how big or deeply nested your application is.It has a convenient high level declarative API which works similar to React components, but is
designed for Rust and FRP signals.It is generally feature complete, though more convenience methods might be added over time.
It is quite stable: breaking changes are very rare, and are handled with the normal semver system.
I have successfully used Dominator on multiple large applications, and it performed excellently.
Running the examples
====================Just do `yarn` and then `yarn start` (it will take a while to compile the dependencies, please be patient)
Community
=========We have a [Discord server](https://discord.gg/fDFGvnR). Feel free to ask any Dominator questions there.
[benchmark]: https://rawgit.com/krausest/js-framework-benchmark/master/webdriver-ts-results/table.html
[DOM]: https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model
[FRP]: https://quickbirdstudios.com/blog/what-is-functional-reactive-programming-frp/
[VDOM]: https://medium.com/cstech/demystifying-javascript-virtual-dom-a-guide-for-web-developers-fae7dd9d0cd0