OpenAEC Ecosysteem

Software architectuur

Een codebase, alle platformen. Onze tools draaien als web-app, als desktop-applicatie op Windows, Linux en macOS, en als mobiele app — vanuit dezelfde broncode.

Een codebase, overal

Elke tool in het OpenAEC-ecosysteem wordt ontwikkeld als een enkele applicatie die op alle platformen draait. Geen aparte versies voor web en desktop, geen dubbel onderhoud. Dezelfde code, dezelfde features, overal.

Dit bereiken we door te bouwen op Tauri en Rust als fundament, met een moderne web-frontend die zowel in de browser als in een native shell draait.

Rust · Tauri

Architectuur overzicht

  1. Platformen
    WindowsmacOSLinuxWeb browserAndroid
  2. Runtime
    Tauri 2.0WebView (native)Browser (web)
  3. Core (Rust)
    IFC ParserIFCX EngineValidatieBerekeningenFile I/OAPI Client
  4. Frontend
    TypeScriptReact · SvelteThree.js (3D)Vite
  5. Data
    IFCXSQLite (lokaal)PostgreSQL (server)REST APINextCloud

Technologie stack

Tauri 2.0 Core

Framework voor het bouwen van desktop- en mobiele apps met webtechnologie. Gebruikt de native webview van het OS in plaats van Chromium — resulteert in kleine installatiebestanden (<10MB) en laag geheugengebruik.

Rust Backend

De core-logica van elke tool is geschreven in Rust: IFC-parsing, validatie, berekeningen en bestandsverwerking. Rust biedt geheugen-veiligheid, hoge performance en compileert naar elk platform.

WebAssembly Web

Dezelfde Rust-code compileert naar WebAssembly (WASM) voor de webversie. Hierdoor draait de volledige rekenlogica ook in de browser, met near-native performance.

TypeScript UI

De gebruikersinterface is gebouwd met webtechnologie: TypeScript met React of Svelte, gebundeld met Vite. Dezelfde UI draait in Tauri en in de browser.

Three.js 3D

3D-visualisatie van IFC-modellen via Three.js en That Open Engine. WebGL-gebaseerd, draait overal waar een browser draait.

FastAPI API

Server-side API's gebouwd met Python FastAPI voor async validatie, documentbeheer en integraties. Deployed via Docker.

Lokaal en in de cloud — een systeem

Elke OpenAEC-tool werkt standalone op je eigen machine, zonder internetverbinding. Maar wanneer je verbinding maakt, synchroniseert alles naadloos met de cloud via het OpenAEC-platform. Projecten, documenten en modeldata stromen automatisch tussen lokale installaties en de server. Je kiest zelf: volledig lokaal, volledig in de cloud, of een hybride setup.

Platform vergelijking

Functie Desktop (Tauri) Web (Browser) Mobiel (Tauri)
Offline werken✓Beperkt (PWA)✓
Bestandstoegang✓ VolledigBeperkt (upload)✓
IFC-verwerking✓ Native Rust✓ WASM✓ Native Rust
3D Viewer✓✓✓
Installatiegrootte<10 MB0 MB<15 MB
Auto-update✓Altijd actueel✓
Camera toegang—✓✓
Systeemintegratie✓ VolledigBeperkt✓

Uitbreidbaarheid & integratie

De tools zijn ontworpen om uitgebreid en gekoppeld te worden. Vier manieren, die per tool verschillen:

Open Feedback Studio Feedback

Een feedbackknop in de app, zoals in Open Safety Studio en Open 3D Viewer. Gebruikers melden bugs en wensen direct vanuit de applicatie.

REST API API

Tools met een server, zoals BIM Validator, BCF Manager Studio en OpenAEC Docs, bieden een REST API. Koppel ze aan eigen systemen of dashboards.

MCP Servers AI

Model Context Protocol (MCP), onder andere in Open Pointcloud Studio. Daarmee kunnen AI-agents (zoals Claude) de tool direct bedienen via natuurlijke taal.

Extensions Plugins

Tools zoals Open 2D Studio ondersteunen extensions voor maatwerk, bijvoorbeeld Drawing Statistics. Bouw je eigen plugins in TypeScript of Rust.

Open source

Bouwen op bestaande open source projecten

We vinden het wiel niet opnieuw uit. Het OpenAEC-ecosysteem bouwt zoveel mogelijk verder op bewezen open source projecten uit de BIM- en 3D-wereld:

Waarom deze aanpak?

Klein & snel

Geen Electron, geen Chromium. Tauri gebruikt de native webview — installatiebestanden zijn kleiner dan 10MB en het geheugengebruik is minimaal.

Veilig

Rust voorkomt geheugenfouten, buffer overflows en race conditions. De applicatie is veilig by design.

Open source

Tauri, Rust, en alle gebruikte bibliotheken zijn open source. Geen vendor lock-in op framework-niveau.

Toekomstbestendig

Web-standaarden en Rust zijn technologieen met lange levensduur. Geen framework-churn, geen breaking changes.