Rust Studio/Built with Rust

Built with Rust

A data grid, charts, a Kanban board, a scheduler and a Markdown editor, all Rust, all included as samples.

UI component suites sell grids, charts, boards, schedulers and editors. Here is each of those as a small Ruststudio sample, built entirely with Rust: the data and the rules are Rust, the page is plain HTML and JavaScript that Rust serves, and there is nothing to install but Rust. Create one from New Project > Samples and showcase, press F5 and open the address it prints.

The applications

ApplicationLike the componentWhat Rust does
Data grida data grid with sorting, filtering and pagingholds 100,000 rows; every sort, search and page change is a Rust function call. On a laptop, with a release build, sorting and paging all 100,000 rows took about 54 milliseconds
Charts dashboarda chart suiteworks out totals, shares and growth; the page draws bar, line and donut charts as SVG with tooltips, with no chart library
Kanban boarda board with cardskeeps the cards and enforces the rules (title length, known columns); two windows stay in step
Schedulera calendar and schedulerchecks every date (leap years included) and time, lists a month in order
Markdown editora rich text or Markdown editorrenders the preview, counts words, and turns raw HTML into text so a pasted <script> can never run
To-do list APIa first REST serviceshared state, JSON in and out, status codes, and tests that call the API without a server
Word counta first command-line toolfiles, standard input, options, with tests and no dependencies

Why these are good first looks at Rust

  • They are small. Each application is one main.rs of about 100 to 250 lines plus a page, so you can read it in one sitting.
  • They are tested. Every sample has unit tests next to the code (cargo test), including the rules that matter: dates, limits, escaping. The Markdown editor has a test that a <script> in the text comes out as text.
  • They are honest about what Rust does. The data grid shows the time Rust took on every request. The page "Why choose Rust" has the measurements and says where Rust is not the fastest.
  • They are starting points. Each README ends with things to try: add a column, a fourth product, a new board column, an end time for events.

Using the same ideas in your own project

  • Put the rules in plain functions and methods, and keep the HTTP code thin: that is what makes them easy to test.
  • Use the packages from the Rupm view for the usual chores: json-tools for JSON, config-tools for settings, http-tools for calling other services, log-tools for logging.
  • Use the Debug panel's Immediate window to look inside a running handler.