OpenAEC Ecosystem
Arquitectura de software
Una sola base de código, todas las plataformas. Nuestras herramientas funcionan como aplicación web, como aplicación de escritorio en Windows, Linux y macOS, y como app móvil, a partir del mismo código fuente.
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.
Rust · Tauri
Visión general de la arquitectura
- PlataformasWindowsmacOSLinuxWeb browserAndroid
- RuntimeTauri 2.0WebView (native)Browser (web)
- Core (Rust)IFC ParserIFCX EngineValidaciónCálculosFile I/OAPI Client
- FrontendTypeScriptReact · SvelteThree.js (3D)Vite
- DataIFCXSQLite (lokaal)PostgreSQL (server)REST APINextCloud
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.
TypeScript UI
La interfaz de usuario está hecha con tecnología web: TypeScript con React o Svelte, empaquetado con Vite. La misma interfaz 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
Las herramientas están pensadas para ampliarse y conectarse. Cuatro formas, que varían según la herramienta:
Open Feedback Studio Feedback
Un botón de comentarios en la aplicación, como en Open Safety Studio y Open 3D Viewer. Los usuarios informan de errores y deseos directamente desde la aplicación.
REST API API
Las herramientas con servidor, como BIM Validator, BCF Manager Studio y OpenAEC Docs, ofrecen una API REST. Conéctalas a tus propios sistemas o paneles.
MCP Servers AI
Model Context Protocol (MCP), entre otras en Open Pointcloud Studio. Permite que agentes de IA (como Claude) manejen la herramienta directamente en lenguaje natural.
Extensions Plugins
Herramientas como Open 2D Studio admiten extensiones a medida, por ejemplo Drawing Statistics. Crea tus propios plugins en TypeScript o Rust.
Open source
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.