Dirk Richter
Software-Entwicklung und Architektur

Strategie Wizards mit Blazor


Entwicklung von einheitlichen Web-Anwendungen mit Blazor

Unterschiedliche Teams sollen ähnliche Wizards entwickeln, die jeweils bis zu 15 Formulare umfassen und ein einheitliches Design haben. Dieser Leitfaden beschreibt, wie man standardisierte Vorgaben definieren kann, um konsistente Ergebnisse zu gewährleisten, und wie man bestehende Frameworks oder eigene Frameworks nutzt.

Vorgehensweise und Vorgaben für die Teams

  1. Zentrale Anforderungen definieren:
  1. UI/UX-Design abstimmen:
  1. Wiederverwendbare Architektur festlegen:
  1. Code-Richtlinien und Dokumentation:
  1. Tooling und Fertigungshilfen:

Vorhandene Frameworks

Hier sind einige Frameworks, die Blazor-kompatibel sind und sich für die Entwicklung von Wizards und Formularen eignen:

  1. Blazorise:
  1. MudBlazor:
  1. Radzen Blazor Components:
  1. Syncfusion Blazor Components:
  1. Bootstrap Framework (mit Blazor):

Eigenes Framework erstellen

Sollten bestehende Frameworks nicht alle Anforderungen abdecken, kann ein leichtgewichtiges eigenes Framework entwickelt werden:

Schritte zur Entwicklung eines eigenen Frameworks

  1. Definition von Basiskomponenten:
  1. State-Verwaltung vereinheitlichen:
  1. Theming und Design:
  1. Zusätzliche Funktionen einbauen:
  1. Verbreitung und Wartung:

=== Wizard-Beispiel in C# mit Blazor

ist ein Beispiel für einen einfachen Wizard:

@using System.ComponentModel.DataAnnotations;

<WizardBase>
    <WizardStep Title="Persönliche Daten">
        <EditForm Model="@personalData" OnValidSubmit="@HandleFirstStep">
            <DataAnnotationsValidator />
            <ValidationSummary />
            <label for="name">Name</label>
            <InputText id="name" @bind-Value="personalData.Name" />
            <span>@(context.GetError(nameof(personalData.Name)))</span>
            <button type="submit">Weiter</button>
        </EditForm>
    </WizardStep>
    <WizardStep Title="Zusammenfassung">
        <h3>Vielen Dank!</h3>
    </WizardStep>
</WizardBase>

@code {
    private PersonalData personalData = new();

    private void HandleFirstStep()
    {
        Console.WriteLine("Daten aufgenommen");
    }

    public class PersonalData
    {
        [Required]
        [StringLength(50)]
        public string Name { get; set; }
    }
}

Mit WizardBase und WizardStep können weitere Wizards auf derselben Basis aufgebaut werden.

Fazit

Für die konsistente Entwicklung von Wizards bietet es sich an, entweder bestehende Frameworks wie MudBlazor oder Blazorise zu verwenden oder ein eigenes Framework zu entwickeln. Eine gute Dokumentation, vorgefertigte Templates und wiederverwendbare Komponenten stellen sicher, dass verschiedene Teams einheitlich arbeiten und schnell Ergebnisse erzielen können. Das Framework kann auf langfristige Wiederverwendung und Erweiterungsmöglichkeiten ausgelegt werden.

#Blazor #Design #Development