Skip to content

IntegraciΓ³n Electron ​

La integraciΓ³n Electron de KuaDashboard envuelve el stack completo (Express + Vue) en una aplicaciΓ³n de escritorio nativa.

Arquitectura de Procesos ​

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Proceso Principal Electron       β”‚
β”‚                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  child_process.fork()         β”‚   β”‚
β”‚  β”‚  β†’ server.js (Express)        β”‚   β”‚
β”‚  β”‚  β†’ Escucha en :7190           β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  BrowserWindow                β”‚   β”‚
β”‚  β”‚  β†’ Carga http://localhost:7190β”‚   β”‚
β”‚  β”‚  β†’ preload.js (contextBridge)β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  Manejadores IPC              β”‚   β”‚
β”‚  β”‚  β†’ app:version                β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Archivos ​

electron/main.js ​

Punto de entrada del proceso principal. Responsabilidades:

  1. Hacer fork de server.js como proceso hijo con silent: true
  2. Esperar la seΓ±al stdout "KuaDashboard running"
  3. Crear BrowserWindow con preferencias web seguras
  4. Construir el menΓΊ de la aplicaciΓ³n (adaptado por plataforma)
  5. Manejar eventos IPC
  6. Limpiar el proceso hijo al salir

electron/preload.js ​

Puente seguro entre el renderer y el proceso principal:

js
window.kuaElectron = {
  openExternal(url)      // Abrir URL en el navegador del sistema
  platform()             // Retorna 'win32' | 'darwin' | 'linux'
  getVersion()           // VersiΓ³n de la app desde package.json
  on(channel, callback)  // Escuchar eventos IPC (canales permitidos)
  removeListener(channel, handler)
}

Canales IPC permitidos:

  • update:available
  • system-tools:changed
  • server:ready
  • server:error

Released under the MIT License.