🦕 Astrodon

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

Discord Server deno module deno compatibility


😎 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.

Run the demo:

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

📜 To-do

  • Unit tests
  • Cross-platform compiling (missing: Apple Silicon)
  • Typescript checking in the background (astrodon-build’s Develop should manage this)
  • Pass permission and arguments as flags and also put them in the executable metadata (wip)
  • Organize project a little bit better (e.g move dependencies to deps.ts)
  • A real-world app example
  • Update the templates
  • 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
  • Make Cli’s command astrodon run also support HTTPs uris

🤔 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.
  • Rust (stable toolchain)
  • Deno

Running both Deno and Rust tests:

deno task test

MIT License

GitHub

View Github