axo-cli-0.1.2 is not a library.
Axo Framework
Crea más rápido. Hazlo completo. Extiéndelo todo.
Axo es un framework UI multiplataforma con motor Rust (wgpu) y capa de scripting Lua. Ideal para apps internas, dashboards embebidos, terminales POS, y herramientas de nicho.
Stack
| Capa | Tecnología |
|---|---|
| Renderizado | wgpu (Vulkan/Metal/DX12/WebGL2) |
| Layout | Taffy (Flexbox/CSS Grid) |
| Scripting | Lua 5.4 via mlua |
| Hot Reload | File watcher (notify) |
| Texto | ab_glyph (outline rendering) |
| Objetivos | Linux, macOS, Windows, Android, iOS, Web |
Quickstart
# Instalar desde crates.io
# O desde el repositorio
# cargo install --path cli
# Crear proyecto
# Desarrollo con hot reload
# Build producción
Conceptos
UI desde Lua
local UI = require
return App
onClick — Nombres de función global
onClick recibe un string con el nombre de una función Lua global. Cuando el usuario hace clic, Axo busca y ejecuta esa función.
-- Function reference (almacenada automáticamente)
UI.
-- Global function name
UI.
Device API
Acceso a hardware del dispositivo desde Lua:
local info = Device.
print
Device.
Device.
Device.
local data = Device.
Device.
| Función | Descripción |
|---|---|
Device.info() |
OS, versión, modelo, pantalla |
Device.checkPermission(name) |
Estado de permiso |
Device.requestPermission(name) |
Solicitar permiso |
Device.getLocation() |
GPS (lat, lng, accuracy) |
Device.getSensors() |
Acelerómetro, giroscopio |
Device.readFile(path) |
Leer archivo |
Device.writeFile(path, content) |
Escribir archivo |
Device.deleteFile(path) |
Eliminar archivo |
Device.showNotification(title, body) |
Notificación |
Device.takePhoto() |
Cámara (stub) |
Permisos disponibles
"camera","location","storage","notifications","microphone","contacts"
CLI
Estructura del proyecto
my-app/
├── app/
│ ├── app.lua # Entry point (debe retornar App())
│ │ └── axo/init.lua # Std library (View, Text, Button, etc.)
└── README.md
Arquitectura
┌─────────────────┐ ┌──────────────────┐
│ Lua App │ │ Rust Core │
│ app.lua │◄───►│ wgpu + Taffy │
│ init.lua │ │ + ab_glyph │
└────────┬────────┘ └────────┬─────────┘
│ │
▼ ▼
Device API Hot Reload
(permisos, (file watcher)
GPS, storage)
Licencia
MIT