Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/astrodon/astrodon

Make Desktop apps with Deno 🦕
https://github.com/astrodon/astrodon

astrodon deno javascript rust tauri typescript

Last synced: 3 days ago
JSON representation

Make Desktop apps with Deno 🦕

Awesome Lists containing this project

README

        

# ⚠️ CURRENTLY UNMAINTAINED ⚠️





🦕 Astrodon


Desktop App Framework (not there yet!) for Deno, based on Tauri

[![Discord Server](https://discordapp.com/api/guilds/928673465882513430/widget.png)](https://discord.gg/adYYqHHDBA)
[![deno module](https://shield.deno.dev/x/astrodon)](https://deno.land/x/astrodon)
![deno compatibility](https://shield.deno.dev/deno/^1.20.2)

---

### 😎 Features

- Create webview windows with your own title and URL
- Bidirectional communication between your frontend and backend
- Compile your apps as executables and even make installers
- And most of what you get with Deno, e.g, TypeScript out of the box...

A lot is still missing, but we will get there!

### 🎁 Demo

~~**Note**: Latest public release only supports Windows and Linux, MacOS is not
supported. This will be fixed in the next release.~~

⚠️ **This will fail as Astrodon is currently unmaintained**

~~Run the demo:~~

```
deno run -A --unstable --reload https://deno.land/x/[email protected]/examples/hello_world/demo.ts
```

### 📜 To-do

- [x] Unit tests
- [x] Cross-platform compiling (missing: Apple Silicon)
- [ ] Typescript checking in the background (astrodon-build's Develop should
manage this)
- [x] Pass permission and arguments as flags and also put them in the executable
metadata
- [x] Organize project a little bit better (e.g move dependencies to deps.ts)
- [x] A real-world app example
- [ ] Update the templates (wip)
- [x] Match `deno_runtime` version (and also things like `Deno.build`) with
Deno's releases
- [ ] Implement Web Workers
- [ ] Schematize and create plugin system
- [ ] Organize configs by usage hierarchy (e.g. global.icon -> build.icon)
- [ ] Ability apps register custom system URI protocols (installer)
- [ ] Add Cli command `astrodon clean` to remove cached runtimes
- [x] Make Cli's command `astrodon run` also support HTTPs uris
- [ ] Add support for common permission flags as CLI arguments

## 🤔 Plugins ideas

- [ ] Cross process reactivity module (plugin)
- [ ] Cross process store module (plugin)
- [ ] Env variable manager and injection for builds (plugin)

### 👩‍💻 Development

Requisites:

- Install the tauri dependencies as indicated in
[Tauri's Guide](https://tauri.studio/v1/guides/getting-started/prerequisites).
- Rust (stable toolchain)
- Deno

Running both Deno and Rust tests:

```
deno task test
```

MIT License