Home → Overview → Technology → UI -> Clients | Responsive | Layouts | Canvas & Dashboards | WebAssembly
Overview → Architecture | Technology | Differentiators | Solution | Pillars | Editions
Technology → Real-Time Tag Database | Unified Namespace | Native Drivers | UI Technologies
UI Technologies → Clients | Responsive | Layouts | Canvas & Dashboards | WebAssembly
WebAssembly, WPF & HTML5 (Concept):
WebAssembly (Wasm) is a binary instruction format that enables high-performance applications to run in web browsers at near-native speed. It allows code written in languages like C# to be compiled and executed directly in browsers, eliminating the traditional performance gap between desktop and web applications.
The fundamental challenge in industrial automation has always been the trade-off between powerful desktop clients and accessible web interfaces. WebAssembly changes this equation entirely.
With FrameworX's WebAssembly implementation, a single display configuration can run:
The display markup (XAML) remains consistent - only the runtime changes.
For control room operations, native desktop clients provide irreplaceable capabilities:
See Desktop, Web & Mobile Clients for detailed client comparisons.
Modern operations demand web access for:
Traditional approaches forced a choice:
This meant maintaining two codebases, doubling development effort, and risking inconsistencies.
WebAssembly enables the same C# code to execute in both environments:
csharp
// This exact code runs in both WPF and WebAssembly
public void UpdateTemperature(double value)
{
if (value > AlarmLimit)
{
TriggerAlarm();
LogEvent($"Temperature exceeded: {value}°C");
}
UpdateDisplay(value);
}
WebAssembly delivers performance previously impossible in browsers:
Traditional HTML5/JavaScript architectures struggle with:
WebAssembly handles these scenarios natively.
The entire data pipeline runs in compiled code:
Only the final rendering uses browser APIs.
Beyond displays, WebAssembly enables code sharing across:
Modern browsers with WebAssembly support:
WebAssembly transforms the traditional desktop-vs-web dilemma into a unified solution. Industrial applications no longer sacrifice power for portability or accessibility for control. The same C# code, the same business logic, and the same displays run everywhere - from locked-down control rooms to mobile devices in the field.
This is not about replacing desktop applications or making everything web-based. It's about having the freedom to deploy the right client for each use case without multiplying development effort.
Related Topics: