├── README.md └── awesome.json /README.md: -------------------------------------------------------------------------------- 1 | # **Awesome Dioxus** 2 | 3 | [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 4 | 5 | A collection of awesome things regarding the Dioxus ecosystem. 6 | 7 | This repository contains the list of awesome stuff that [Dioxus Awesome](https://dioxuslabs.com/awesome) uses. 8 | 9 | # Contributing 10 | 11 | To add your project, simply copy an existing entry and fill out all the values. It should be clear what most of them mean. `"github"` and `"link"` are optional, but recommended. There's some enums, so here are their values: 12 | 13 | - `"type"`: 14 | - `"Awesome"`: Libraries/tools/or something else that helps developers with making Dioxus projects. 15 | - `"MadeWith"`: Real-world apps made with Dioxus. If the primary purpose of the app is aiding Dioxus developers, use `"Awesome"` instead. 16 | - `"category"`: 17 | - `"Misc"` 18 | - `"Util"` 19 | - `"Logging"` 20 | - `"Components"` 21 | - `"Example"` 22 | - `"Styling"` 23 | - `"Deployment"` 24 | - `"Renderer"` 25 | - `"App"`: Generic category for `"MadeWith"` entries. Not actually displayed at the moment, because all `"MadeWith"` entries have this category. 26 | 27 | ```rust 28 | struct Item { 29 | name: String, 30 | description: String, 31 | category: Category, 32 | 33 | /// Items won't display stars without this. 34 | github: Option, 35 | 36 | /// Replaces the auto-generated github link with an external link. 37 | link: Option, 38 | } 39 | 40 | struct GithubInfo { 41 | username: String, 42 | repo: String, 43 | } 44 | 45 | enum Category { 46 | Util, 47 | Logging, 48 | Components, 49 | Example, 50 | Styling, 51 | Deployment, 52 | Renderer, 53 | Misc, 54 | } 55 | ``` 56 | -------------------------------------------------------------------------------- /awesome.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Lumen Blocks", 4 | "description": "A Tailwind-styled components library for Dioxus, inspired by the shadcn/ui project and built on top of the Dioxus Primitives unstyled components library.", 5 | "type": "Awesome", 6 | "category": "Components", 7 | "github": { 8 | "username": "Leaf-Computer", 9 | "repo": "lumen-blocks" 10 | }, 11 | "link": "https://lumenblocks.dev" 12 | }, 13 | { 14 | "name": "dioxus-use-js", 15 | "description": "A macro that generates Rust bindings to JavaScript or TypeScript functions, with compile time checks. No need to use `eval` directly anymore. Works across Web, Desktop, and Mobile — no wasm-bindgen required.", 16 | "type": "Awesome", 17 | "category": "Util", 18 | "github": { 19 | "username": "mcmah309", 20 | "repo": "dioxus-use-js" 21 | }, 22 | "link": null 23 | }, 24 | { 25 | "name": "daisy-rsx", 26 | "description": "A Dioxus version of the Daisy UI components.", 27 | "type": "Awesome", 28 | "category": "Util", 29 | "github": { 30 | "username": "bionic-gpt", 31 | "repo": "daisy-rsx" 32 | }, 33 | "link": null 34 | }, 35 | { 36 | "name": "Chap-App", 37 | "description": "Web IDE for Chap programming language powered by dioxus (client side execution)", 38 | "type": "MadeWith", 39 | "category": "App", 40 | "github": { 41 | "username": "ali77gh", 42 | "repo": "ChapApp" 43 | }, 44 | "link": "https://ali77gh.github.io/ChapApp/" 45 | }, 46 | { 47 | "name": "PersianToolsWeb", 48 | "description": "Web GUI for rust-persian-tools library", 49 | "type": "MadeWith", 50 | "category": "App", 51 | "github": { 52 | "username": "ali77gh", 53 | "repo": "PersianToolsWeb" 54 | }, 55 | "link": "https://ali77gh.github.io/PersianToolsWeb/" 56 | }, 57 | { 58 | "name": "Dioxus Motion 🚀", 59 | "description": "A lightweight, cross-platform animation library for Dioxus, designed to bring smooth, flexible animations to your Rust web, desktop, and mobile applications.", 60 | "type": "Awesome", 61 | "category": "Util", 62 | "github": { 63 | "username": "wheregmis", 64 | "repo": "dioxus-motion" 65 | }, 66 | "link": "https://crates.io/crates/dioxus-motion" 67 | }, 68 | { 69 | "name": "HTML to RSX Converter", 70 | "description": "Convert HTML to RSX for Dioxus. Using dioxus's own dioxus-rsx-rosetta. All credit goes to to the maintainers of Dioxus. This is just a web port of their cli convert feature.", 71 | "type": "Awesome", 72 | "category": "Util", 73 | "github": { 74 | "username": "wheregmis", 75 | "repo": "dioxus_html_rsx" 76 | }, 77 | "link": "https://wheregmis.github.io/dioxus_html_rsx/" 78 | }, 79 | { 80 | "name": "dioxus-query", 81 | "description": "Fully-typed, async, reusable state management and synchronization for Dioxus.", 82 | "type": "Awesome", 83 | "category": "Util", 84 | "github": { 85 | "username": "marc2332", 86 | "repo": "dioxus-query" 87 | }, 88 | "link": null 89 | }, 90 | { 91 | "name": "dioxus-provider", 92 | "description": "Effortless, scalable data fetching, caching, and state management for Dioxus apps. Features global providers, intelligent caching, mutations, and composable async operations.", 93 | "type": "Awesome", 94 | "category": "Util", 95 | "github": { 96 | "username": "wheregmis", 97 | "repo": "dioxus-provider" 98 | }, 99 | "link": "https://crates.io/crates/dioxus-provider" 100 | }, 101 | { 102 | "name": "dioxus-cheatsheet", 103 | "description": "Cheatsheet for Dioxus.", 104 | "type": "Awesome", 105 | "category": "Example", 106 | "github": { 107 | "username": "marc2332", 108 | "repo": "dioxus-cheatsheet" 109 | }, 110 | "link": null 111 | }, 112 | { 113 | "name": "dioxus-sdk", 114 | "description": "A library to provide abstractions to access common utilities when developing Dioxus applications.", 115 | "type": "Awesome", 116 | "category": "Util", 117 | "github": { 118 | "username": "DioxusLabs", 119 | "repo": "sdk" 120 | }, 121 | "link": null 122 | }, 123 | { 124 | "name": "dioxus-logger", 125 | "description": "A logging utility to provide a standard interface whether you're targeting web, desktop, or mobile.", 126 | "type": "Awesome", 127 | "category": "Logging", 128 | "github": { 129 | "username": "DogeDark", 130 | "repo": "dioxus-logger" 131 | }, 132 | "link": null 133 | }, 134 | { 135 | "name": "Geolocation Example", 136 | "description": "Dioxus & Dioxus-SDK geolocation demonstration.", 137 | "type": "Awesome", 138 | "category": "Example", 139 | "github": { 140 | "username": "DogeDark", 141 | "repo": "dioxus-geolocation-example" 142 | }, 143 | "link": null 144 | }, 145 | { 146 | "name": "dioxus-sortable", 147 | "description": "Sortable tables for Dioxus.", 148 | "type": "Awesome", 149 | "category": "Components", 150 | "github": { 151 | "username": "feral-dot-io", 152 | "repo": "dioxus-sortable" 153 | }, 154 | "link": null 155 | }, 156 | { 157 | "name": "Deploy Dioxus to Vercel", 158 | "description": "Deploy dioxus-web to Vercel.", 159 | "type": "Awesome", 160 | "category": "Deployment", 161 | "github": { 162 | "username": "lucifer1004", 163 | "repo": "dioxus-vercel-demo" 164 | }, 165 | "link": null 166 | }, 167 | { 168 | "name": "Nix template for Dioxus Desktop apps", 169 | "description": "Project template based on Nix for developing Dioxus Desktop apps with support for macOS, NixOS and other Linuxes", 170 | "type": "Awesome", 171 | "category": "Deployment", 172 | "github": { 173 | "username": "srid", 174 | "repo": "dioxus-desktop-template" 175 | }, 176 | "link": null 177 | }, 178 | { 179 | "name": "NixOS Install Script", 180 | "description": "Fetches necessary dependencies for running Dioxus in desktop mode when using the Nix package manager.", 181 | "type": "Awesome", 182 | "category": "Deployment", 183 | "github": null, 184 | "link": "https://gist.github.com/FruitieX/73afe3eb15da45e0e05d5c9cf5d318fc" 185 | }, 186 | { 187 | "name": "t5.rs", 188 | "description": "Template for developing & deploying cross-platform apps with authentication, database integration and storage using Supabase.", 189 | "type": "Awesome", 190 | "category": "Deployment", 191 | "github": { 192 | "username": "albbus-stack", 193 | "repo": "t5.rs" 194 | }, 195 | "link": null 196 | }, 197 | { 198 | "name": "Golde", 199 | "description": "Use Dioxus to execute JavaScript and get the result.", 200 | "type": "Awesome", 201 | "category": "Util", 202 | "github": { 203 | "username": "mrxiaozhuox", 204 | "repo": "golde" 205 | }, 206 | "link": null 207 | }, 208 | { 209 | "name": "Freya", 210 | "description": "A skia renderer for Dioxus.", 211 | "type": "Awesome", 212 | "category": "Renderer", 213 | "github": { 214 | "username": "marc2332", 215 | "repo": "freya" 216 | }, 217 | "link": null 218 | }, 219 | { 220 | "name": "dioxus-websocket-hooks", 221 | "description": "Dioxus hooks for websocket connections.", 222 | "type": "Awesome", 223 | "category": "Util", 224 | "github": { 225 | "username": "FruitieX", 226 | "repo": "dioxus-websocket-hooks" 227 | }, 228 | "link": null 229 | }, 230 | { 231 | "name": "dioxus-helmet", 232 | "description": "Place elements in the head tag of your document.", 233 | "type": "Awesome", 234 | "category": "Util", 235 | "github": { 236 | "username": "saicu", 237 | "repo": "dioxus-helmet" 238 | }, 239 | "link": null 240 | }, 241 | { 242 | "name": "dioxus-layout", 243 | "description": "Layout components for Dioxus.", 244 | "type": "Awesome", 245 | "category": "Components", 246 | "github": null, 247 | "link": "https://gitlab.com/MAlrusayni/dioxus-layout" 248 | }, 249 | { 250 | "name": "dioxus-free-icons", 251 | "description": "Free icon components for Dioxus.", 252 | "type": "Awesome", 253 | "category": "Components", 254 | "github": { 255 | "username": "nissy-dev", 256 | "repo": "dioxus-free-icons" 257 | }, 258 | "link": null 259 | }, 260 | { 261 | "name": "dioxus-material-icons", 262 | "description": "Material icons for Dioxus.", 263 | "type": "Awesome", 264 | "category": "Components", 265 | "github": { 266 | "username": "lennartkloock", 267 | "repo": "dioxus-material-icons" 268 | }, 269 | "link": null 270 | }, 271 | { 272 | "name": "Lucide Dioxus", 273 | "description": "Dioxus port of Lucide, a beautiful & consistent icon toolkit made by the community.", 274 | "type": "Awesome", 275 | "category": "Components", 276 | "github": { 277 | "username": "RustForWeb", 278 | "repo": "lucide" 279 | }, 280 | "link": "https://lucide.rustforweb.org/frameworks/dioxus.html" 281 | }, 282 | { 283 | "name": "Examples Repo", 284 | "description": "A repository containing many examples of how to use Dioxus.", 285 | "type": "Awesome", 286 | "category": "Example", 287 | "github": { 288 | "username": "DioxusLabs", 289 | "repo": "example-projects" 290 | }, 291 | "link": null 292 | }, 293 | { 294 | "name": "File Navigator Example", 295 | "description": "Shows how a Dioxus app can directly leverage system calls and libraries.", 296 | "type": "Awesome", 297 | "category": "Example", 298 | "github": null, 299 | "link": "https://github.com/DioxusLabs/example-projects/tree/master/file-explorer" 300 | }, 301 | { 302 | "name": "Todo-MVC Example", 303 | "description": "An example of a Todo-MVC built with different patterns.", 304 | "type": "Awesome", 305 | "category": "Example", 306 | "github": null, 307 | "link": "https://github.com/DioxusLabs/example-projects/tree/master/todomvc" 308 | }, 309 | { 310 | "name": "Ecommerce Example", 311 | "description": "A liveview app that leverages the FakeStoreAPI and Tailwind.", 312 | "type": "Awesome", 313 | "category": "Example", 314 | "github": null, 315 | "link": "https://github.com/DioxusLabs/example-projects/tree/master/ecommerce-site" 316 | }, 317 | { 318 | "name": "WIFI Scanner Example", 319 | "description": "An example of utilizing background-threads in a desktop Dioxus app.", 320 | "type": "Awesome", 321 | "category": "Example", 322 | "github": null, 323 | "link": "https://github.com/DioxusLabs/example-projects/tree/master/wifi-scanner" 324 | }, 325 | { 326 | "name": "Lookbook", 327 | "description": "UI preview framework for Dioxus.", 328 | "type": "Awesome", 329 | "category": "Util", 330 | "github": { 331 | "username": "matthunz", 332 | "repo": "lookbook" 333 | }, 334 | "link": "https://dioxus-material-lookbook.netlify.app" 335 | }, 336 | { 337 | "name": "Uplink", 338 | "description": "Secure, encrypted, P2P chat app.", 339 | "type": "MadeWith", 340 | "category": "App", 341 | "github": { 342 | "username": "satellite-im", 343 | "repo": "uplink" 344 | }, 345 | "link": null 346 | }, 347 | { 348 | "name": "Ambient", 349 | "description": "Multiplayer game engine that runs in the browser", 350 | "type": "MadeWith", 351 | "category": "App", 352 | "github": { 353 | "username": "ambientrun", 354 | "repo": "ambient" 355 | }, 356 | "link": null 357 | }, 358 | { 359 | "name": "Bionic GPT", 360 | "description": "ChatGPT replacement with a focus on data confidentiality", 361 | "type": "MadeWith", 362 | "category": "App", 363 | "github": { 364 | "username": "bionic-gpt", 365 | "repo": "bionic-gpt" 366 | }, 367 | "link": null 368 | }, 369 | { 370 | "name": "Ebou", 371 | "description": "Cross platform Mastodon Client", 372 | "type": "MadeWith", 373 | "category": "App", 374 | "github": { 375 | "username": "terhechte", 376 | "repo": "ebou" 377 | }, 378 | "link": null 379 | }, 380 | { 381 | "name": "Cloak", 382 | "description": "Secrets automation for developers", 383 | "type": "MadeWith", 384 | "category": "App", 385 | "github": { 386 | "username": "purton-tech", 387 | "repo": "cloak" 388 | }, 389 | "link": null 390 | }, 391 | { 392 | "name": "Freya editor", 393 | "description": "Experimental code editor", 394 | "type": "MadeWith", 395 | "category": "App", 396 | "github": { 397 | "username": "marc2332", 398 | "repo": "freya-editor" 399 | }, 400 | "link": null 401 | }, 402 | { 403 | "name": "InterSpace", 404 | "description": "The graphical interface pipeline visualized", 405 | "type": "MadeWith", 406 | "category": "App", 407 | "github": { 408 | "username": "erithax", 409 | "repo": "interspace" 410 | }, 411 | "link": null 412 | }, 413 | { 414 | "name": "Hemi", 415 | "description": "Typing tutor for training hands separately", 416 | "type": "MadeWith", 417 | "category": "App", 418 | "github": { 419 | "username": "kualta", 420 | "repo": "hemi" 421 | }, 422 | "link": null 423 | }, 424 | { 425 | "name": "Dead-good HTML to RSX converter", 426 | "description": "A minimalist HTML to RSX converter website", 427 | "type": "MadeWith", 428 | "category": "App", 429 | "github": { 430 | "username": "PurpleBooth", 431 | "repo": "dead-good-html-to-rsx-converter-website" 432 | }, 433 | "link": "https://dead-good-html-to-rsx-converter-web.shuttleapp.rs/" 434 | }, 435 | { 436 | "name": "dioxus-toast", 437 | "description": "Add toast support for dioxus project.", 438 | "type": "Awesome", 439 | "category": "Util", 440 | "github": { 441 | "username": "mrxiaozhuox", 442 | "repo": "dioxus-toast" 443 | }, 444 | "link": null 445 | }, 446 | { 447 | "name": "Text Adventure", 448 | "description": "A text adventure game built with Dioxus web", 449 | "type": "MadeWith", 450 | "category": "App", 451 | "github": { 452 | "username": "spideyclick", 453 | "repo": "dioxus-text-adventure" 454 | }, 455 | "link": "https://text-adventure.spideyclick.net/" 456 | }, 457 | { 458 | "name": "Floneum", 459 | "description": "A graph editor for local AI workflows", 460 | "type": "MadeWith", 461 | "category": "App", 462 | "github": { 463 | "username": "floneum", 464 | "repo": "floneum" 465 | }, 466 | "link": "https://floneum.com/" 467 | }, 468 | { 469 | "name": "Dev Widgets", 470 | "description": "Collection of useful conversions and widgets implemented as a portable Rust app", 471 | "type": "MadeWith", 472 | "category": "App", 473 | "github": { 474 | "username": "esimkowitz", 475 | "repo": "dev-widgets" 476 | }, 477 | "link": "https://widgets.fyi/" 478 | }, 479 | { 480 | "name": "dioxus-radio", 481 | "description": "Fully-typed global state management with a topics subscription system for Dioxus.", 482 | "type": "Awesome", 483 | "category": "Util", 484 | "github": { 485 | "username": "dioxus-community", 486 | "repo": "dioxus-radio" 487 | }, 488 | "link": null 489 | }, 490 | { 491 | "name": "modx", 492 | "description": "A way to handle states with structs in Dioxus", 493 | "type": "Awesome", 494 | "category": "Util", 495 | "github": { 496 | "username": "tkr-sh", 497 | "repo": "modx" 498 | }, 499 | "link": "https://github.com/tkr-sh/modx" 500 | }, 501 | { 502 | "name": "dioxus-web-component", 503 | "description": "Create your HTML custom elements (aka web components) with Dioxus.", 504 | "type": "Awesome", 505 | "category": "Util", 506 | "github": { 507 | "username": "ilaborie", 508 | "repo": "dioxus-web-component" 509 | }, 510 | "link": null 511 | }, 512 | { 513 | "name": "dioxus-chessboard", 514 | "description": "A chessboard component built with Dioxus.", 515 | "type": "Awesome", 516 | "category": "Util", 517 | "github": { 518 | "username": "vnermolaev", 519 | "repo": "dioxus-chessboard" 520 | }, 521 | "link": null 522 | }, 523 | { 524 | "name": "dioxus-aws", 525 | "description": "Tools for deploying Dioxus apps to AWS Serverless (AWS Lambda, S3, CloudFront, Route53).", 526 | "type": "Awesome", 527 | "category": "Deployment", 528 | "github": { 529 | "username": "hackartists", 530 | "repo": "dioxus-aws" 531 | }, 532 | "link": null 533 | }, 534 | { 535 | "name": "MyLife Timeline", 536 | "description": "Visualize how you have spend your time up until now, reflecting on your mortality.", 537 | "type": "MadeWith", 538 | "category": "App", 539 | "github": { 540 | "username": "waozixyz", 541 | "repo": "mylife" 542 | }, 543 | "link": "https://mylife.waozi.xyz/" 544 | }, 545 | { 546 | "name": "SQLite File Format", 547 | "description": "Visual representation of on-disk database file format used by all releases of SQLite since version 3.0.0.", 548 | "type": "MadeWith", 549 | "category": "App", 550 | "github": { 551 | "username": "torymur", 552 | "repo": "sqlite-repr" 553 | }, 554 | "link": "https://torymur.github.io/sqlite-repr/" 555 | }, 556 | { 557 | "name": "Freyr", 558 | "description": "A UI components crate for Dioxus that aims to make building an app easier and beautiful.", 559 | "type": "Awesome", 560 | "category": "Components", 561 | "github": { 562 | "username": "cbdefontenay", 563 | "repo": "freyr" 564 | }, 565 | "link": "https://freyr-doc.onrender.com/" 566 | }, 567 | { 568 | "name": "dioxus-oauth", 569 | "description": "Tools for OAuth2 authentication in Dioxus web.", 570 | "type": "Awesome", 571 | "category": "Util", 572 | "github": { 573 | "username": "biyard", 574 | "repo": "rust-sdk" 575 | }, 576 | "link": "https://github.com/biyard/rust-sdk/tree/main/packages/dioxus-oauth" 577 | }, 578 | { 579 | "name": "Biyard Website", 580 | "description": "Company website utilizes dioxus 0.6.0-alpha.2 and AWS serverless services with CI/CD", 581 | "type": "MadeWith", 582 | "category": "App", 583 | "github": { 584 | "username": "biyard", 585 | "repo": "homepage" 586 | }, 587 | "link": "https://biyard.co" 588 | }, 589 | { 590 | "name": "dioxus-translate", 591 | "description": "Libraries for internalization on Dioxus", 592 | "type": "Awesome", 593 | "category": "Util", 594 | "github": { 595 | "username": "biyard", 596 | "repo": "democrasee" 597 | }, 598 | "link": "https://github.com/biyard/democrasee/tree/main/packages/dioxus-translate" 599 | }, 600 | { 601 | "name": "Save Cloud", 602 | "description": "Nintendo 3DS homebrew for game save backup and sync", 603 | "type": "MadeWith", 604 | "category": "App", 605 | "github": { 606 | "username": "save-cloud", 607 | "repo": "save-cloud-3ds" 608 | }, 609 | "link": "https://github.com/save-cloud/save-cloud-3ds/blob/main/README-EN.md" 610 | }, 611 | { 612 | "name": "LinkEcho", 613 | "description": "Batch replace/restore shortcut icons, personalized custom icon design", 614 | "type": "MadeWith", 615 | "category": "App", 616 | "github": { 617 | "username": "iKineticate", 618 | "repo": "LinkEcho" 619 | }, 620 | "link": "https://github.com/iKineticate/LinkEcho/blob/master/README-en.md" 621 | }, 622 | { 623 | "name": "Supa Dioxus", 624 | "description": "Supabase template for quickly getting started with supabase.", 625 | "type": "Awesome", 626 | "category": "Example", 627 | "github": { 628 | "username": "SuddenlyHazel", 629 | "repo": "supa-dioxus" 630 | }, 631 | "link": "https://github.com/SuddenlyHazel/supa-dioxus" 632 | } 633 | ] --------------------------------------------------------------------------------