0Pricing
React Academy · Lección

Arquitectura de Electron: procesos principal y de renderizado

Comprenda el modelo multiproceso de Electron: el proceso principal para las API nativas y el proceso de renderizado para la interfaz de React.

Arquitectura de Electron: procesos principal y de renderizado es una lección gratuita de React Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de React Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de React Academy incluye 4 lecciones en total.

¿Qué es Electron?

Electron es un framework que combina Chromium (para la representación web) con Node.js (para acceder a las API nativas), lo que permite a los desarrolladores crear aplicaciones de escritorio multiplataforma utilizando tecnologías web conocidas. Su aplicación React se ejecuta dentro de una ventana del navegador Chromium, mientras que Node.js le proporciona acceso a las capacidades del sistema operativo.

El proceso principal

El proceso principal es el punto de entrada de una aplicación Electron: gestiona el ciclo de vida de la aplicación, crea y controla las ventanas y gestiona las interacciones nativas con el sistema operativo. Genera procesos de renderizado y tiene acceso completo a las API de Node.js y al sistema operativo subyacente.

El proceso de renderizado

Cada BrowserWindow genera su propio proceso de renderizado, en el que se ejecuta Chromium y su aplicación React. Hay un proceso de renderizado por ventana, y se comporta de forma muy similar a una pestaña normal del navegador: representa HTML, CSS y JavaScript.

Capacidades del proceso principal

Como el proceso principal tiene acceso completo a Node.js, puede leer y escribir en el sistema de archivos, crear menús nativos, gestionar la bandeja del sistema, generar procesos secundarios e interactuar con el hardware. Estas capacidades no están disponibles de forma predeterminada en el proceso de renderizado por motivos de seguridad.

Aislamiento del proceso de renderizado

Cuando contextIsolation está establecido en true (el valor predeterminado moderno), el proceso de renderizado se ejecuta en un entorno aislado y no puede acceder directamente a las API de Node.js. Este modelo de seguridad impide que contenido web malicioso acceda a su sistema de archivos o ejecute comandos arbitrarios del sistema.

IPC: el puente entre procesos

La comunicación entre procesos (IPC) es el mecanismo que permite a los procesos principal y de renderizado intercambiar mensajes. El proceso principal utiliza ipcMain para escuchar y responder a los mensajes, mientras que el proceso de renderizado utiliza ipcRenderer para enviarlos; toda la comunicación es asíncrona y se basa en mensajes.

El script de precarga

El script de precarga ocupa una posición intermedia especial: se ejecuta en el contexto del proceso de renderizado, pero conserva el acceso a las API de Node.js antes de que se cargue el contenido de la página. Esto lo convierte en el puente seguro entre el proceso de renderizado aislado y el proceso principal con privilegios.

contextBridge: exposición segura de la API

contextBridge.exposeInMainWorld permite al script de precarga exponer selectivamente una API segura y cuidadosamente seleccionada al proceso de renderizado. El proceso de renderizado puede llamar a estas funciones expuestas sin obtener nunca acceso directo a Node.js ni a los componentes internos de Electron, manteniendo un límite de seguridad sólido.

Acceder a las API expuestas desde React

Una vez que contextBridge ha expuesto una API con un nombre como "api", sus componentes React pueden llamarla mediante window.api.myFunction(). Esto funciona como una llamada a una función normal de JavaScript, pero internamente se enruta mediante IPC al proceso principal.

Resumen del modelo de seguridad

El modelo de seguridad de Electron prohíbe explícitamente el acceso directo a Node.js desde el proceso de renderizado cuando contextIsolation está habilitado. Todas las operaciones con privilegios deben pasar por el script de precarga y contextBridge, lo que garantiza que, incluso si se produce un ataque XSS en el proceso de renderizado, este no pueda acceder al sistema de archivos.

Flujo de comunicación entre procesos

Una interacción típica sigue este flujo: el componente React llama a window.api.readFile() → el script de precarga invoca ipcRenderer.invoke() → el proceso principal ejecuta ipcMain.handle() y fs.readFile() → el resultado vuelve como una Promise al proceso de renderizado. Esta arquitectura mantiene el proceso de renderizado limpio y seguro.

Propósito de contextBridge

¿Cuál es el propósito principal de contextBridge.exposeInMainWorld en Electron?

Resumen de la lección

Electron combina Chromium y Node.js: el proceso principal gestiona el ciclo de vida de la aplicación y tiene acceso completo al sistema operativo, mientras que los procesos de renderizado ejecutan su interfaz de React en un entorno aislado. El script de precarga y contextBridge forman el puente seguro, e IPC permite una comunicación segura entre el proceso principal con privilegios y el proceso de renderizado aislado.

Preguntas frecuentes

¿La lección «Arquitectura de Electron: procesos principal y de renderizado» es gratis?

Sí — el texto completo de «Arquitectura de Electron: procesos principal y de renderizado» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de React Academy, actualiza a CoddyKit PRO. El curso de React Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Arquitectura de Electron: procesos principal y de renderizado»?

Comprenda el modelo multiproceso de Electron: el proceso principal para las API nativas y el proceso de renderizado para la interfaz de React. Practicas React Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar React Academy?

No se requiere experiencia previa. React Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Arquitectura de Electron: procesos principal y de renderizado»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de React Academy?

Sí. Cada lección de React Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Arquitectura de Electron: procesos principal y de renderizado
  2. Configuración de React con Electron
  3. Comunicación IPC entre procesos
  4. Empaquetado y distribución para plataformas de escritorio
← Volver a React Academy