Una base de código, en todas partes
Cada herramienta del ecosistema OpenAEC se desarrolla como una única aplicación que funciona en todas las plataformas. Sin versiones separadas para web y escritorio, sin mantenimiento duplicado. El mismo código, las mismas funciones, en todas partes.
Lo conseguimos construyendo sobre Tauri y Rust como base, con un frontend web moderno que se ejecuta tanto en el navegador como en un shell nativo.
Visión general de la arquitectura
Pila tecnológica
Tauri 2.0 Core
Framework para crear apps de escritorio y móviles con tecnología web. Usa el webview nativo del sistema operativo en lugar de Chromium, lo que da lugar a archivos de instalación pequeños (<10MB) y un bajo consumo de memoria.
Rust Backend
La lógica central de cada herramienta está escrita en Rust: parsing de IFC, validación, cálculos y procesamiento de archivos. Rust ofrece seguridad de memoria, alto rendimiento y compila para todas las plataformas.
WebAssembly Web
El mismo código Rust compila a WebAssembly (WASM) para la versión web. Esto permite que toda la lógica de cálculo también se ejecute en el navegador, con un rendimiento casi nativo.
HTML / CSS / JS UI
La interfaz de usuario está construida con tecnología web estándar. Sin frameworks pesados: ligera, rápida y mantenible. La misma UI se ejecuta en Tauri y en el navegador.
Three.js 3D
Visualización 3D de modelos IFC mediante Three.js y That Open Engine. Basada en WebGL, funciona allá donde funcione un navegador.
FastAPI API
APIs del lado del servidor construidas con Python FastAPI para validación asíncrona, gestión documental e integraciones. Desplegadas mediante Docker.
En local y en la nube: un solo sistema
Cada herramienta de OpenAEC funciona de forma autónoma en tu propia máquina, sin conexión a internet. Pero cuando te conectas, todo se sincroniza sin fricciones con la nube a través de la plataforma OpenAEC. Los proyectos, documentos y datos de modelos fluyen automáticamente entre las instalaciones locales y el servidor. Tú eliges: totalmente local, totalmente en la nube o una configuración híbrida.
Comparativa de plataformas
| Característica | Desktop (Tauri) | Web (Browser) | Móvil (Tauri) |
|---|---|---|---|
| Trabajo sin conexión | ✓ | Limitado (PWA) | ✓ |
| Acceso a archivos | ✓ Completo | Limitado (subida) | ✓ |
| Procesamiento de IFC | ✓ Native Rust | ✓ WASM | ✓ Native Rust |
| 3D Viewer | ✓ | ✓ | ✓ |
| Tamaño de instalación | <10 MB | 0 MB | <15 MB |
| Actualización automática | ✓ | Siempre al día | ✓ |
| Acceso a la cámara | — | ✓ | ✓ |
| Integración con el sistema | ✓ Completo | Limitado | ✓ |
Extensibilidad & integración
Cada herramienta del ecosistema está diseñada para ser ampliada e integrada. Cuatro capas de extensibilidad:
Open Feedback Studio Feedback
Sistema de feedback integrado en cada herramienta. Los usuarios pueden dar su opinión, notificar errores y enviar solicitudes de funcionalidades directamente desde la aplicación. Conectado a la plataforma central.
REST API API
Cada herramienta ofrece una API REST para la integración con sistemas externos. Automatiza flujos de trabajo, conecta con sistemas ERP o construye tus propios paneles sobre el ecosistema.
MCP Servers AI
Servidores Model Context Protocol (MCP) para cada herramienta. Esto permite que los agentes de IA (como Claude) se comuniquen directamente con las herramientas: validar modelos, generar documentos o realizar cálculos mediante lenguaje natural.
Extensions Plugins
Cada herramienta admite extensiones para funcionalidad personalizada. Crea tus propios plugins en TypeScript o Rust y compártelos con la comunidad a través del registro de extensiones.
Construimos sobre proyectos open source existentes
No reinventamos la rueda. El ecosistema OpenAEC se apoya, en la medida de lo posible, en proyectos open source consolidados del mundo BIM y 3D:
That Open Engine
El renderizado 3D y el parsing de IFC de nuestros visores se basan en That Open Engine (antes IFC.js). Una potente biblioteca TypeScript/Three.js para BIM en el navegador.
Blender & Bonsai
Para el modelado 3D y la autoría BIM nos integramos con Blender y el complemento Bonsai (antes BlenderBIM). La herramienta 3D open source más potente del mundo.
IfcOpenShell
La biblioteca Python/C++ estándar del sector para leer, escribir y manipular archivos IFC. La columna vertebral de nuestro procesamiento de IFC en el servidor.
PDF.js & pdf-lib
PDF.js de Mozilla para el renderizado y pdf-lib para crear y editar documentos PDF de forma programática. Tecnología probada, millones de usuarios.
¿Por qué este enfoque?
Pequeño & rápido
Sin Electron, sin Chromium. Tauri usa el webview nativo: los archivos de instalación pesan menos de 10MB y el consumo de memoria es mínimo.
Seguro
Rust evita errores de memoria, desbordamientos de búfer y condiciones de carrera. La aplicación es segura por diseño.
Open source
Tauri, Rust y todas las bibliotecas utilizadas son open source. Sin vendor lock-in a nivel de framework.
Preparado para el futuro
Los estándares web y Rust son tecnologías de larga vida. Sin churn de frameworks, sin cambios incompatibles.