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. Hier sind einige Frameworks, die Blazor-kompatibel sind und sich für die Entwicklung von Wizards und Formularen eignen: Sollten bestehende Frameworks nicht alle Anforderungen abdecken, kann ein leichtgewichtiges eigenes Framework entwickelt werden: === Wizard-Beispiel in C# mit Blazor Mit 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.
Vorgehensweise und Vorgaben für die Teams
dotnet new
).Vorhandene Frameworks
Eigenes Framework erstellen
Schritte zur Entwicklung eines eigenen Frameworks
IStringLocalizer
).
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; }
}
}
WizardBase
und WizardStep
können weitere Wizards auf derselben Basis aufgebaut werden.Fazit