Skip to content
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

Document projects related to bluesky-web #2

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 113 additions & 0 deletions references/related_projects.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# Related Projects

An annotated list of related web UI projects in use or under development
for experiment controls or data acquisition/exploration/analysis/visualization.

Innevitably the commentary here will contain subjective opionions.
Here we should strive to reflect a consensus opinion of the project maintainers,
with an emphasis on the technical aspects of reviewed projects.

## Experiment Control & Data Browsing

### Bluesky WebClient

_TypeScript React app using Material UI for a Bluesky queueserver client. A prototype for data collection._

| Pros | Cons |
| --- | --- |
| TBA | TBA |

#### Notes
* Project repo: [bluesky/bluesky-webclient](https://github.com/bluesky/bluesky-webclient)

### CS Web

_React-based prototype to display control system data on web pages; and an npm library for Control Systems web applications._

| Pros | Cons |
| --- | --- |
| TBA | TBA |

#### Notes
* Project repos:
* [dls-controls/cs-web-proto](https://github.com/dls-controls/cs-web-proto)
* [dls-controls/cs-web-lib](https://github.com/dls-controls/cs-web-lib)

### Daiquiri UI

_Daiquiri UI is the web based javascript User Interface for [Daiquiri](https://gitlab.esrf.fr/ui/daiquiri), the beamline control and data acquisition framework. It is built in React with Redux and is modular in design, allowing it to be adapted to many different beamline setups and requirements._

| Pros | Cons |
| --- | --- |
| TBA | TBA |

#### Notes
* NOBUGS 2002 [presentation](https://www.youtube.com/watch?v=QdwANxtdLcY) + [slides](https://docs.google.com/presentation/d/e/2PACX-1vTACrCEOHQet3UdppgSIr-Kx5lvs8qzttHTcwyCC3zijSs5q4PYUrjv6hEWoQUmzsz94pItpiwN4_6w/pub?start=false&slide=id.p) by Stu Fisher (ESRF)
* [Daiquiri](https://gitlab.esrf.fr/ui/daiquiri) -- _Daiquiri is a python based framework for beamline control and data acquisition. It is controls system agnostic accessing hardware and scans through interfaces. It exposes a REST and Websockets API that can be consumed via the web or any other client._

### Davidia

_React component and web endpoints for scientific data visualization._

| Pros | Cons |
| --- | --- |
| TBA | TBA |

#### Notes
* Project repo: [DiamondLightSource/davidia](https://github.com/DiamondLightSource/davidia)
* A plotting subsystem similar to h5web

### Diamond Light Source's Web UI Components Library

_Generic components for React based Diamond web apps._

| Pros | Cons |
| --- | --- |
| TBA | TBA |

#### Notes
* Project repo: [DiamondLightSource/web-ui-components](https://github.com/DiamondLightSource/web-ui-components)
* Storybook: <https://diamondlightsource.github.io/web-ui-components>

### React Automation Studio

_React Automation Studio is a new software platform to enable the control of large scientific equipment through EPICS.._

| Pros | Cons |
| --- | --- |
| TBA | TBA |

#### Notes
* Project repo: [React-Automation-Studio/React-Automation-Studio](https://github.com/React-Automation-Studio/React-Automation-Studio)
* Presented at ICALEPCS; "FR2BCO01: React Automation Studio: Modern Scientific Control With the Web", <https://icalepcs2023.org/final-programme/>

## General Data Dashboards

### H20 Wave

_Realtime Web Apps and Dashboards for Python and R._
_H2O Wave is a software stack for building beautiful, low-latency, realtime, browser-based applications and dashboards entirely in Python without using HTML, Javascript, or CSS. It excels at capturing data, visualizations, and graphics from multiple sources and broadcasting them live over the web._

| Pros | Cons |
| --- | --- |
| TBA | TBA |

#### Notes
* Project repo: [h2oai/wave](https://github.com/h2oai/wave)

### Plotly Dash

_Description._

| Pros | Cons |
| --- | --- |
| TBA | TBA |

#### Notes
TBA

## WASM Output from General GUI Libraries

### [WebGui]([url](https://github.com/jnmaloney/WebGui)) (IMGUI)

_An example project showing how to use [Dear ImGui]([url](https://github.com/ocornut/imgui)https://github.com/ocornut/imgui) in a web browser_