blob: 64f5d1336a06e61735a9d12d0e281853d4d01ebf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# ard-000: desktop GUI implemented in iced.rs
Satisfied by: task-010, task-011
## Problem
Various requirements ask for the user to interact with Schist using a desktop
computer.
- req-014
- req-016
- req-021
- req-023
- req-048
- req-050
- req-052
We need a way for the user to interact with Schist using a desktop computer.
## Options
- A command-line interface
- A terminal UI (TUI)
- A GUI implemented in another programming language
- A GUI implemented in another Rust framework
## Decision
The desktop interface will be a GUI implemented in iced.rs.
## Discussion
A GUI is a standard solution. Prominent alternatives are a command line or a
TUI, but these alternatives are generally not suited to applications with lots
of data and complex interactions.
I like Rust.
iced.rs is the most popular Rust GUI framework available at the time of writing.
It is used in many diverse open-source projects, is well-supported, and is
cross-platform, which could be useful when extending Schist to a Web GUI.
## Consequences
There must be documented processes for installing and updating the desktop GUI
on the user's machine.
|