Tek kod tabanı, her yerde

OpenAEC ekosistemindeki her araç, tüm platformlarda çalışan tek bir uygulama olarak geliştirilir. Web ve masaüstü için ayrı sürümler yok, çift bakım yok. Aynı kod, aynı özellikler, her yerde.

Bunu temel olarak Tauri ve Rust üzerine inşa ederek başarıyoruz; modern bir web frontend hem tarayıcıda hem de yerel bir kabukta çalışır.

Mimari özeti

Platformlar
Windows macOS Linux Web browser Android iOS
Runtime
Tauri 2.0 WebView (native) Browser (web)
Core (Rust)
IFC Parser IFCX Engine Doğrulama Hesaplamalar File I/O API Client
Frontend
HTML / CSS JavaScript / TypeScript Three.js (3D) Web Components
Data
IFCX SQLite (lokaal) PostgreSQL (server) REST API NextCloud

Teknoloji stack'i

Tauri 2.0 Core

Web teknolojisiyle masaüstü ve mobil uygulamalar oluşturmak için framework. Chromium yerine işletim sisteminin yerel webview'unu kullanır — küçük kurulum dosyaları (<10MB) ve düşük bellek kullanımı sağlar.

Rust Backend

Her aracın temel mantığı Rust ile yazılmıştır: IFC ayrıştırma, doğrulama, hesaplamalar ve dosya işleme. Rust bellek güvenliği, yüksek performans sunar ve her platforma derlenir.

WebAssembly Web

Aynı Rust kodu web sürümü için WebAssembly'ye (WASM) derlenir. Bu, tam hesaplama mantığının da tarayıcıda yerel performansa yakın çalışmasını sağlar.

HTML / CSS / JS UI

Kullanıcı arayüzü standart web teknolojisi ile inşa edilmiştir. Ağır framework'ler yok — hafif, hızlı ve sürdürülebilir. Aynı UI Tauri'de ve tarayıcıda çalışır.

Three.js 3D

Three.js ve That Open Engine aracılığıyla IFC modellerinin 3D görselleştirmesi. WebGL tabanlı, tarayıcının çalıştığı her yerde çalışır.

FastAPI API

Asenkron doğrulama, belge yönetimi ve entegrasyonlar için Python FastAPI ile sunucu tarafı API'ler. Docker üzerinden dağıtılır.

Yerel ve bulutta — tek sistem

Her OpenAEC aracı, internet bağlantısı olmadan kendi makinenizde bağımsız olarak çalışır. Ancak çevrimiçi olduğunuzda, her şey OpenAEC platformu aracılığıyla bulutla sorunsuz bir şekilde senkronize olur. Projeler, belgeler ve model verileri yerel kurulumlar ve sunucu arasında otomatik olarak akar. Seçim sizin: tamamen yerel, tamamen bulutta veya hibrit yapılandırma.

Platform karşılaştırması

Özellik Desktop (Tauri) Web (Browser) Mobil (Tauri)
Çevrimdışı çalışmaSınırlı (PWA)
Dosya erişimi✓ TamSınırlı (yükleme)
IFC işleme✓ Native Rust✓ WASM✓ Native Rust
3D Viewer
Kurulum boyutu<10 MB0 MB<15 MB
Otomatik güncellemeHer zaman güncel
Kamera erişimi
Sistem entegrasyonu✓ TamSınırlı

Genişletilebilirlik ve entegrasyon

Ekosistemdeki her araç genişletilebilir ve entegre edilebilir olacak şekilde tasarlanmıştır. Dört genişletilebilirlik katmanı:

Open Feedback Studio Feedback

Her araçta yerleşik geri bildirim sistemi. Kullanıcılar geri bildirim sağlayabilir, hata raporlayabilir ve özellik isteklerini doğrudan uygulamadan gönderebilir. Merkezi platforma bağlıdır.

REST API API

Her araç harici sistemlerle entegrasyon için bir REST API sunar. İş akışlarını otomatikleştirin, ERP sistemleriyle bağlantı kurun veya ekosistemin üzerine kendi gösterge panolarınızı oluşturun.

MCP Servers AI

Her araç için Model Context Protocol (MCP) sunucuları. Bu, AI ajanlarının (Claude gibi) araçlarla doğrudan iletişim kurmasını sağlar — modelleri doğrulayın, belgeler oluşturun veya doğal dil ile hesaplamalar gerçekleştirin.

Extensions Plugins

Her araç özel işlevsellik için uzantıları destekler. TypeScript veya Rust'ta kendi eklentilerinizi oluşturun ve uzantı kayıt defteri aracılığıyla toplulukla paylaşın.

Mevcut açık kaynak projeler üzerine inşa etmek

Tekerleği yeniden icat etmiyoruz. OpenAEC ekosistemi mümkün olduğunca BIM ve 3D dünyasından kanıtlanmış açık kaynak projeler üzerine inşa edilir:

That Open Engine

Görüntüleyicilerimizdeki 3D render ve IFC ayrıştırma That Open Engine'e (eski adıyla IFC.js) dayanır. Tarayıcıda BIM için güçlü bir TypeScript/Three.js kütüphanesi.

Blender & Bonsai

3D modelleme ve BIM oluşturma için Blender ve Bonsai eklentisi (eski adıyla BlenderBIM) ile entegre oluyoruz. Dünyanın en güçlü açık kaynak 3D aracı.

IfcOpenShell

IFC dosyalarını okumak, yazmak ve manipüle etmek için endüstri standardı Python/C++ kütüphanesi. Sunucu tarafı IFC işlememizin omurgası.

PDF.js & pdf-lib

Render için Mozilla'nın PDF.js'i ve PDF belgelerini programatik olarak oluşturmak ve düzenlemek için pdf-lib. Kanıtlanmış teknoloji, milyonlarca kullanıcı.

Neden bu yaklaşım?

Küçük ve hızlı

Electron yok, Chromium yok. Tauri yerel webview'u kullanır — kurulum dosyaları 10MB'den küçüktür ve bellek kullanımı minimumdur.

Güvenli

Rust bellek hatalarını, buffer overflow'larını ve race condition'ları önler. Uygulama tasarım gereği güvenlidir.

Açık kaynak

Tauri, Rust ve kullanılan tüm kütüphaneler açık kaynaktır. Framework düzeyinde tedarikçi bağımlılığı yoktur.

Geleceğe dayanıklı

Web standartları ve Rust uzun ömürlü teknolojilerdir. Framework değişimi yok, breaking change yok.