Dual-layer responsiveness: display-level adaptability combined with server-side platform detection.
Platform → UI Technology→ Clients | WebAssembly | Symbols | Drawing | Responsive | Layouts
FrameworX implements responsiveness at two distinct levels: display-level resize behavior (how content adapts within a display) and server-side responsive selection (RESS - which displays are delivered to each platform).
This dual approach enables true "build once, run everywhere" capability while optimizing for each device class.
Both dashboards and canvas displays have customizable responsiveness. They can stretch proportionately to the client area, keeping gate relationship of object, or reposition internally the objects.
The configuration of the behavior is defined at the Display-Level, with the OnResize Property of the displays
Responsive Design + Server-Side Components (RESS) delivers optimal user experience across all devices.
The configuration of that behavior is implemented at the Layout-Level, the internal displays are the same:
Build-once: share some display configuration for multiple types of devices
Run everywhere: Identifies client device and deliver content with proper layout
Every display—whether created with Canvas or Dashboard drawing tools—has configurable resize behavior through the OnResize property:
OnResize Mode | Behavior | Use Case | Typical For |
---|---|---|---|
StretchUniform | Scales maintaining aspect ratio | Complex diagrams, P&IDs | Canvas (default) |
StretchFill | Fills space, may distort | Backgrounds, simple graphics | Rare |
Responsive | Elements reposition/resize individually | Data displays, forms | Dashboard (default) |
ResizeChildren | All elements scale proportionally | Maintain exact layout | Canvas alternative |
NoAction | Fixed size, may clip | Fixed-size panels | Special cases |
<ac:structured-macro ac:name="info"> ac:rich-text-body
Important: Canvas vs Dashboard is about the drawing method, not responsiveness. A Canvas display can be responsive, and a Dashboard display can use StretchUniform. The drawing tool determines how you position objects during design; OnResize determines runtime behavior.
When a Canvas display uses OnResize="Responsive", individual elements can be configured to:
Example: A sidebar that maintains fixed width while content area expands.
Dashboard displays inherently support grid-based responsiveness:
<ac:structured-macro ac:name="info"> ac:rich-text-body
Defaults:
- Canvas displays default to StretchUniform - preserving diagram integrity
- Dashboard displays default to Responsive - adapting to screen size
RESS (Responsive + Server-Side) adds intelligence before content delivery. The server identifies the client type and sends optimized content:
Responsive Design & RESS (Concept): Responsive Design + Server-Side Components (RESS) delivers optimal user experience across all devices:
Build-once: share some display configuration for multiple types of devices
Run everywhere: Identifies client device and deliver content with proper layout
Responsive Design + Server-Side Components delivers optimal user experience across all devices:
Server Detection - Identifies device class (phone, tablet, desktop)
Optimized Delivery - Sends appropriate content and resources
Responsive Behavior - Maintains flexibility within device class
Result - Fast loading with adaptive layouts
Client Type | Detection Method | Typical Delivery |
---|---|---|
Desktop Native | WPF client signature | Full interface, all regions |
Desktop Web | Browser user agent | Full interface, web-optimized |
Tablet | Screen size + touch | Simplified menu, touch controls |
Mobile Portrait | Aspect ratio + size | Single column, essential only |
Mobile Landscape | Aspect ratio + size | Adapted layout, larger controls |
The two responsive layers complement each other:
Stage | Desktop | Mobile |
---|---|---|
1. Client connects | Identifies as WPF client | Identifies as mobile browser |
2. Server selects | Full layout with all regions | Mobile layout, header+content only |
3. Display loads | P&ID with StretchUniform | Simplified dashboard, Responsive |
4. User resizes | Maintains aspect ratio | Reflows to new orientation |
Set in Display properties during design:
Configure in Layouts:
Details in .
Scenario | Recommended Approach |
---|---|
Complex P&ID diagram | Canvas with StretchUniform, desktop-only via RESS |
KPI dashboard | Dashboard with Responsive, shared across platforms |
Data entry form | Dashboard with Responsive, simplified mobile version |
Equipment mimic | Canvas with ResizeChildren, tablet/desktop only |
Status overview | Dashboard with Responsive, all platforms |