|
|
11 miesięcy temu | |
|---|---|---|
| .. | ||
| Definitions | 11 miesięcy temu | |
| Samples | 11 miesięcy temu | |
| readme.md | 11 miesięcy temu | |
| ui-layout-avalonia-controls.xsd | 11 miesięcy temu | |
| ui-layout-basic-controls.xsd | 11 miesięcy temu | |
| ui-layout-def.xsd | 11 miesięcy temu | |
| ui-layout-patterns.xsd | 11 miesięcy temu | |
| ui-layout-validation.xsd | 11 miesięcy temu | |
| ui-layout-views.xsd | 11 miesięcy temu | |
| ui-layout-winforms-controls.xsd | 11 miesięcy temu | |
Version: 1.3
Documentation Version: 1.3
Author: Dalibor Votruba
URL: quadarax.com/ui-layout-def
A comprehensive XML-based format for describing user interface layouts with inheritance, pattern definitions, view organization, external includes, platform-specific extensions, and advanced validation. This format enables cross-platform UI generation with strict validation, modular component libraries, and modern development practices.
The UI Layout Definition Format provides a standardized way to define user interfaces that can be translated to various platforms (Windows Forms, WPF, Avalonia, Qt, Web, Mobile). It emphasizes:
Advanced State Management
Comprehensive Accessibility Framework
Performance Optimization System
Security and Data Protection
Enhanced Testing Framework
Advanced Localization
Modern UI Controls
Validation System 2.0
Views represent logical business functions (ProductView, OrderView) that group related windows and define shared data context, state management, and behaviors.
All controls and structures must be defined in the <patterns> section before use in windows, with comprehensive validation and platform-specific extensions.
Modular design allows splitting definitions across multiple files:
Support for modern state management patterns including Redux, MobX, and state machines with persistence and synchronization.
Built-in support for WCAG compliance, screen readers, voice control, and adaptive technologies.
Integrated performance monitoring, lazy loading, virtualization, and optimization suggestions.
Comprehensive security framework with vulnerability protection, data encryption, and audit trails.
<?xml version="1.0" encoding="UTF-8"?>
<ui-layout-def xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="ui-layout-definition ui-layout-def.xsd"
version="1.3"
schema-version="1.3"
target-platform="avalonia"
accessibility-compliance="wcag-aa">
<!-- Enhanced validation rules with custom validators -->
<validation-rules>
<validation-include src="wcag-validation.xml" important="true" />
<validation-include src="performance-rules.xml" important="true" />
<validation-include src="security-rules.xml" important="true" />
<custom-validator name="BusinessRuleValidator">...</custom-validator>
<validation-profile name="ProductionProfile">...</validation-profile>
</validation-rules>
<!-- Enhanced pattern definitions -->
<patterns>
<pattern-include src="avalonia-controls.xml" important="true" platform="avalonia" />
<pattern-include src="accessibility-controls.xml" important="true" />
<pattern-include src="performance-controls.xml" important="false" />
</patterns>
<!-- Advanced view definitions -->
<views>
<view-include src="business-views.xml" important="true" />
<view name="EnhancedView" type="ai-assisted" category="ai-enhanced">
<state-management pattern="redux" persistence="distributed" />
<accessibility level="aaa" tested="true" />
<performance target-load-time="1000" memory-limit="100MB" />
<security level="high" audit-required="true" />
<localization default-culture="en-US" rtl-support="true" />
<testing coverage-target="95" strategy="e2e" />
</view>
</views>
<!-- Window includes with conditional loading -->
<window-includes>
<window-include src="main-windows.xml" important="true" />
<window-include src="accessibility-windows.xml" important="false" />
</window-includes>
<!-- Enhanced window definitions -->
<window name="ModernWindow" title="Enhanced Application"
target-platform="avalonia" schema-version="1.3">
<data-binding>
<data-context source="ModernViewModel" mode="TwoWay" />
</data-binding>
<accessibility compliance-level="wcag-aa">
<screen-reader window-title="Modern Application" />
<keyboard-navigation focus-trap="true" />
</accessibility>
<!-- Window content with modern controls -->
</window>
</ui-layout-def>
<view name="ReactiveView" type="real-time" category="analytics">
<state-management pattern="redux" persistence="distributed">
<state name="loading" initial="true" data-snapshot="LoadingState" />
<state name="loaded" final="false" data-snapshot="LoadedState" />
<transition from="loading" to="loaded" trigger="data-received"
condition="data.isValid" action="processData" />
</state-management>
</view>
<accessibility compliance-level="wcag-aa">
<compliance standard="wcag" level="aa" verified="true" />
<feature name="screen-reader" type="screen-reader" required="true" />
<feature name="voice-control" type="voice-control" required="false" />
<feature name="high-contrast" type="high-contrast" required="true" />
</accessibility>
<performance target-load-time="1000" memory-limit="100MB">
<metric name="first-contentful-paint" type="load-time" target="800ms" critical="true" />
<optimization technique="lazy-loading" impact="high" />
<optimization technique="virtualization" impact="medium" />
</performance>
<security level="high" audit-required="true">
<permission name="data-read" type="read" required="true" scope="view" />
<permission name="data-write" type="write" required="false" scope="data" />
<vulnerability-protection type="xss" protection="input-sanitization" severity="high" />
<data-protection encryption="true" gdpr-compliant="true" />
</security>
<testing coverage-target="95" strategy="e2e">
<test-scenario name="user-login" type="functional" priority="high" automated="true">
<step action="enter-username" expected="username-field-filled" />
<step action="enter-password" expected="password-field-filled" />
<step action="click-login" expected="dashboard-displayed" />
</test-scenario>
<automation framework="playwright" selector-strategy="accessibility" />
</testing>
<localization default-culture="en-US" rtl-support="true">
<supported-culture code="ar-SA" name="Arabic (Saudi Arabia)" completion="85" />
<supported-culture code="he-IL" name="Hebrew (Israel)" completion="90" />
<resource-bundle name="MainResources" path="Resources/Main" type="resx" />
</localization>
Avalonia UI 11.0+
Windows Forms .NET 6+
Web Technologies
Mobile Platforms
Version 1.3 includes an automatic migration tool that can upgrade most 1.2 documents:
ui-layout-migrate --from 1.2 --to 1.3 --input myapp.xml --output myapp-v13.xml
Update Schema References
<!-- Old -->
<ui-layout-def version="1.2">
<!-- New -->
<ui-layout-def version="1.3" schema-version="1.3">
Add Accessibility Compliance
<ui-layout-def accessibility-compliance="wcag-aa">
Update Control Declarations
schema-version="1.3" to custom controlsEnhanced Validation Rules
Add State Management
<state-management pattern="redux" persistence="session">
Enable Performance Monitoring
<performance target-load-time="2000" memory-limit="200MB">
Configure Testing
<testing coverage-target="80" strategy="integration">
Add Localization Support
<localization default-culture="en-US">
| Feature | v1.2 | v1.3 | Migration Required |
|---|---|---|---|
| Basic Controls | ✓ | ✓ | No |
| Window Includes | ✓ | ✓ | No |
| View Definitions | ✓ | ✓ | Optional |
| State Management | ✗ | ✓ | New Feature |
| Accessibility | Basic | Enhanced | Recommended |
| Performance | ✗ | ✓ | New Feature |
| Security | Basic | Enhanced | Recommended |
| Testing | ✗ | ✓ | New Feature |
| Localization | Basic | Enhanced | Optional |
Removed Deprecated Attributes
legacy-mode attribute removedcompatibility-level replaced with schema-versionEnhanced Validation Requirements
Updated Namespace Requirements
Incremental Migration
Validation First
Testing Integration
Performance Optimization
This format specification v1.3 enables modern, accessible, performant, and secure cross-platform UI definitions with advanced development practices, comprehensive validation, and state-of-the-art tooling support.