{"id":13440168,"url":"https://github.com/seed-rs/seed","last_synced_at":"2025-05-13T21:04:04.333Z","repository":{"id":40990955,"uuid":"159957569","full_name":"seed-rs/seed","owner":"seed-rs","description":"A Rust framework for creating web apps","archived":false,"fork":false,"pushed_at":"2025-01-11T09:42:45.000Z","size":10526,"stargazers_count":3835,"open_issues_count":55,"forks_count":156,"subscribers_count":46,"default_branch":"master","last_synced_at":"2025-04-28T11:59:58.100Z","etag":null,"topics":["frontend-framework","rust","wasm","wasm-bindgen","web-framework","webassembly"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seed-rs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-12-01T15:20:42.000Z","updated_at":"2025-04-27T12:06:21.000Z","dependencies_parsed_at":"2025-04-28T12:00:06.797Z","dependency_job_id":"9203471e-2ceb-4a07-bf3e-bbeebcfb171b","html_url":"https://github.com/seed-rs/seed","commit_stats":{"total_commits":1037,"total_committers":67,"mean_commits":"15.477611940298507","dds":0.7164898746383799,"last_synced_commit":"f0fdb7005816f367a066c68e0dd4475adfd545e1"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seed-rs%2Fseed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seed-rs%2Fseed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seed-rs%2Fseed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seed-rs%2Fseed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seed-rs","download_url":"https://codeload.github.com/seed-rs/seed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254028190,"owners_count":22002204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["frontend-framework","rust","wasm","wasm-bindgen","web-framework","webassembly"],"created_at":"2024-07-31T03:01:20.373Z","updated_at":"2025-05-13T21:04:04.290Z","avatar_url":"https://github.com/seed-rs.png","language":"Rust","funding_links":[],"categories":["Libraries","Rust","rust","Official Resources","webassembly","Alternatives"],"sub_categories":["Web programming","Frameworks"],"readme":"[![crates.io version](https://img.shields.io/crates/v/seed.svg)](https://crates.io/crates/seed)\n[![crates.io downloads](https://img.shields.io/crates/d/seed.svg)](https://crates.io/crates/seed)\n[![docs.rs](https://docs.rs/seed/badge.svg)](https://docs.rs/seed)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/seed-rs/seed-rs.org/81ed1acc77062ede3295683f21f2d39611843192/seed_branding/seed_logo.min.svg\" width=\"256\" title=\"Seed logo\"\u003e\n\u003c/p\u003e\n\n### Website | [Discord](https://discord.gg/JHHcHp5)\n\u003e [!WARNING]\n\u003e The link to seed-rs.org is temporally disabled because a third party may have acquired it (see https://github.com/seed-rs/seed-rs.org/issues/126)\n---\nSeed is a Rust front-end framework for creating fast and reliable web apps with an Elm-like architecture.\n\n- completely written in Rust, including the templating system (e.g. `div!` macro).\n- built-in state management that is based on the Elm architecture.\n- clear and extensive documentation for Rust beginners and pros alike.\n- WebAssembly.\n\n## Why Seed?\n\nSeed allows you to develop the front-end with all the benefits of Rust, meaning speed, safety, and too many more things to count.\n\nThe Seed templating system uses a macro syntax that makes Rustaceans feel right at home.\nThis means linting, formatting, and commenting will work, and it's all in Rust.\nThis is opposed to a JSX-like syntax that relies on IDE extensions to improve the developer experience.\n\n## Why not Seed?\n\n- It's not maintained at the moment.\n- WebAssembly is newer with less support. [Browser compatibility is at 95.5%](https://caniuse.com/?search=webassembly).\n- Pre-built components are rare. You will likely have to roll your own components such as date pickers.\n- No server-side rendering yet [#232](https://github.com/seed-rs/seed/issues/232).\n- You may prefer [other Rust frameworks](https://github.com/flosse/rust-web-framework-comparison#frontend-frameworks-wasm)\n\n## Getting Started\n\nTo get started right away, we can use the quickstart template:\n```sh\ncargo install cargo-generate\ncargo install trunk\ncargo install wasm-bindgen-cli\ncargo generate --git https://github.com/seed-rs/seed-quickstart.git --name seed-quickstart\ncd seed-quickstart\ntrunk serve\n```\n\nIf you get an error about wasm being linked against a different version of `wasm-bindgen`, just follow the suggestion to run `cargo update -p wasm-bindgen`. This will fix the linkings.\n\nYou should now see a working counter app in your browser at `localhost:8080`.\n\n## Getting into Seed\n\nThe ~~Seed website~~ and the [library docs](https://docs.rs/seed/latest) are the best way to learn about the functionalities of Seed.\n\nThe [Seed examples](examples/) are another good resource.\n\n[Trunk](https://github.com/thedodd/trunk) is the recommended application bundler for Seed.\nSeed projects are typically run with `trunk serve` instead of `cargo run`.\nYou might also see `cargo make start project_name` in the examples. Going forward, we recommend using Trunk.\n\n[Seed Styles](https://github.com/seed-rs/styles_hooks) is a styling library for Seed to create global and scoped styles.\n\nTo use web APIs, there is [`web-sys`](https://github.com/rustwasm/wasm-bindgen/tree/master/crates/web-sys)\nwhich is a part of the [`wasm-bindgen`](https://github.com/rustwasm/wasm-bindgen) project. `wasm-bindgen` is a dependency of Seed.\n\nThere are also two template repositories. However, they are not currently up to date.\n- [Quickstart](https://github.com/seed-rs/seed-quickstart)\n- [Webpack quickstart](https://github.com/seed-rs/seed-quickstart-webpack)\n\n## FAQ\n\n### How stable is Seed?\n\nAs a framework, Seed is mostly feature-complete. You can build complete web apps in Seed.\nProjects built in Seed do use Rust `stable`. Being in Rust, it's easy to create robust, predictable programs.\n\n### What's next for Seed?\n\nSeed is not maintained at the moment\nbut if you want to see some features and bring a budget, feel free to contact us.\n\n## Documentation\n\n- Guides can be found at ~~seed-rs.org~~\n- API documentation can be found at [docs.rs/seed](https://docs.rs/seed)\n\n## Resources\n\n- [Awesome-seed-rs](https://github.com/seed-rs/awesome-seed-rs): A curated list of resources\n- [Seed Realworld](https://github.com/seed-rs/seed-rs-realworld): A detailed realworld example (outdated but still helpful)\n- [Engineering Rust Web Applications](https://erwabook.com/intro/): A book describing full-stack Rust web development using Seed (oudated but still helpful)\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Supported By\n\nSee [BACKERS.md](BACKERS.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseed-rs%2Fseed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseed-rs%2Fseed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseed-rs%2Fseed/lists"}