Azoth
Web Components-first PWA framework for Elixir, powered by WebAssembly.
⚠️ Warning: This project is in very early development.
Installation
If available in Hex, the package can be installed
by adding azoth to your list of dependencies in mix.exs:
def deps do
[
{:azoth, "~> 0.1.0"}
]
endDocumentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/azoth.
Architecture
┌─────────────────────────────────┐
│ Azoth Framework │
│ │
│ ┌─────────────────────────┐ │
│ │ Lit Web Components │ │
│ │ (TypeScript, ~5KB) │ │
│ │ Reaktive UI-Schicht │ │
│ └──────────┬──────────────┘ │
│ │ │
│ ┌──────────▼──────────────┐ │
│ │ Elixir/WASM │ │
│ │ (AtomVM/Orb) │ │
│ │ Business Logik │ │
│ └──────────┬──────────────┘ │
│ │ │
│ ┌──────────▼──────────────┐ │
│ │ Service Worker │ │
│ │ IndexedDB │ │
│ └─────────────────────────┘ │
└──────────────┬──────────────────┘
│ Phoenix Channels
▼
Phoenix Server