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
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ışma | ✓ | Sınırlı (PWA) | ✓ |
| Dosya erişimi | ✓ Tam | Sınırlı (yükleme) | ✓ |
| IFC işleme | ✓ Native Rust | ✓ WASM | ✓ Native Rust |
| 3D Viewer | ✓ | ✓ | ✓ |
| Kurulum boyutu | <10 MB | 0 MB | <15 MB |
| Otomatik güncelleme | ✓ | Her zaman güncel | ✓ |
| Kamera erişimi | — | ✓ | ✓ |
| Sistem entegrasyonu | ✓ Tam | Sı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.