-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Material for the revamped website #49
Comments
Under "what do we want to highlight?" I would definitely add bidirectional C interop. Few places are going to want to go "whole hog" on Rust for an embedded product but might be willing to implement a module in Rust (with C as the "master") or use Rust as the "master" but continue to make use of existing things like drivers they have written in C. Related discussion in #48 |
Belated update: During the Rust All Hands we talked with the website team and drafted the embedded WG webpage. This is the content that we agreed upon (remember that this single page is basically a marketing sheet that answers the question "why Rust for embedded development?"):
Summary of what we briefly discussed in the last meeting: We have issue #108 for collecting commercial testimonials. Videos will come from commercial users and from popular hobby projects like the monotron. Work on books is tracked elsewhere (#56 and #59). |
@jamesmunns and @japaric will be working with the website team on the style of the embedded web Header / carouselWe wrote down: "Videos of embedded Rust projects (carousel)". A carousel makes me think of something
Also, if I look at the video of an embedded project. I would probably ask myself "What am I looking
I would also think "That's look cool! I want to know more! I want to look at the code!". So,
Finally,
Why Rust?We had decided for icon + header + text + link to book per attribute / property. I think Powerful static analysisIcon: ??? Rust type system lets you enforce pin and peripheral configuration at compile time. Its ownership Flexible memory managementIcon: RAM stick? Dynamic memory (heap) allocation is optional. Use a global allocator and dynamic data structures Safe concurrencyIcon: ??? Rust memory safety holds regardless of the concurrency framework. Be it threads with explicit shared InteroperabilityIcon: ??? Integrate Rust into your existing C codebase or leverage an existing SDK to write a Rust application. PortabilityIcon: ??? Write a library / driver once and use it with a variety of systems ranging from very small
DocumentationNext we have links to documentation. We should decide on the style. We could We have three books: DiscoveryIcon: SOP-8? Learn embedded development from scratch using Rust! The embedded Rust bookIcon: TQFP-32? Get started with embedded Rust and learn all the tricks. The embedonomiconIcon: BGA? Look under the hood of foundational embedded libraries. TestimonialsNext section is testimonials. We should decide on the style -- Based on what we have collected in #108 we could go for something short like:
which is fragment of #108 (comment) Or with something more detailed like:
which is a paraphrase of #108 (comment) Or a mix of the two. Production usersHere we list companies / institutions using Rust for embedded development. I think we can use the |
Initial layout and content was submitted. The page has been integrated into the new website and styling was applied by the website team. The revamped website is not public yet so I can't share a picture with you at this time but it already looks nice, IMO. This issue is done! Next stage is to iterate on the submitted content. #131 will track that work. |
A revamped Rust website will be released with the Epoch 2018 in mid September. The four domain WG
will have a space in the website to showcase their accomplishments and make the case for Rust in
their domain.
Some ideas that were discussed in the first meeting.
Who's our audience?
Early adopters: students, hobbyists, researchers, startups
Regular firmware developers
Safety critical market: automotive, aviation, etc.
There was consensus on focusing on the first group in the short term, on the second group in the
medium term and on the last group in the long term.
What do we want to highlight?
Tooling: Cargo, package manager; RLS, IDE support; debugging Just Works, etc.
Zero cost abstractions: we are competing against C, not against MicroPython, eLua, Espruino, etc.
Type system preventing memory safety / logic bugs
Reusable code: crates.io,
embedded-hal
driversOne step / easy setup
Consistent development experience across different architectures cf. Consistent development experience #44
What should we show on the website?
Hardware demos
Getting started guide that walks you through the development of an embedded application using an IDE
Cargo project templates
TODO
The text was updated successfully, but these errors were encountered: