Implement both API and GUI?

This page summarizes the projects mentioned and recommended in the original post on /r/rust

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • egui

    egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

  • Besides a browser based GUI you have many other options like egui, Iced etc. In this case you can still use HTTP for communication between your programs, but also sockets, and, if the programs run on the same machine, named pipes and shared memory (which is more efficient for sharing big data chunks).

  • serde

    Serialization framework for Rust

  • If you're not using shared memory you need to serialize your Rust data with Serde with a suitable format. If you use a browser GUI you probably want to use the JSON format, but otherwise you can choose a more efficient format like MessagePack.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • iced

    A cross-platform GUI library for Rust, inspired by Elm

  • Besides a browser based GUI you have many other options like egui, Iced etc. In this case you can still use HTTP for communication between your programs, but also sockets, and, if the programs run on the same machine, named pipes and shared memory (which is more efficient for sharing big data chunks).

  • actix-web

    Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

  • First I would decide if the GUI application should run in the browser or not. If you have a very complex UI, that's probably the best idea and in that case you want to use HTTP for communication between the programs. You can then either write your GUI code in JavaScript (or a language that compiles to JavaScript) or in Rust which you compile to WASM. In either case you can pick and choose any JS framework you like. The other program should be a HTTP server built using Actix, Axum etc.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Empowering Web Privacy with Rust: Building a Decentralized Identity Management System

    3 projects | dev.to | 9 Apr 2024
  • Build an API to count GitHub profile views with Rust, Actix and MongoDB

    4 projects | dev.to | 6 Aug 2022
  • Form Validation in Rust (Actix-Web)

    6 projects | dev.to | 27 Jun 2022
  • Hey Rustaceans! Got an easy question? Ask here (15/2021)!

    20 projects | /r/rust | 12 Apr 2021
  • Show HN: Storing Private Keys in the Browser Securely

    2 projects | news.ycombinator.com | 23 Apr 2024