Dies ist eine unvollendete Basic ASP.NET 8 und Angular 17 Webanwendung. Die App basiert auf der Projektvorlage "Angular und ASP.NET Core" in Visual Studio 2022. Das Ziel war die Verwendung von Devexpress 'Devextreme UI -Vorlage Galerie Angular Application und als Client -Seite einer ASP.NET -Anwendung, um eine gut aussehende Geschäftszeile (LOB) zu demonstrieren.
Mir ist aufgefallen, wenn nicht alle ASP.NET -Apps auf GitHub eine Benutzeroberfläche fehlen oder eine sehr simple Benutzeroberfläche verwenden. Ich entschied, dass jemand eine gute Benutzeroberfläche zeigen sollte.
Die originale Benutzeroberfläche von Devexpress erhält alle Daten von Devexpress 'Webdiensten. Ich habe ihre Winkelversion kopiert und geändert, damit sie als Teil der ASP.NET -App als Web -Client -Teil ausgeführt wird. Der Abschnitt "Kontaktliste" erhält nun seine Daten vom ASP.NET -Back -End, das sie aus der Datenbank erhält. Das Ziel war es, für den Rest der Benutzeroberfläche die gleiche Konvertierung durchzuführen, aber ich blieb kurz und konzentrierte mich weiter auf Blazor. Das Back -End basiert auf dem Muster für saubere Architektur und dem gleichen Worflow of Endpoint -> Dienste -> Repository -> Die Datenbank kann unter Verwendung derselben Konvention auf den Rest der Anwendung angewendet werden.
Die Anwendung implementiert keine Authentifizierung, Autorisierung, Protokollierung und Container. usw. Um solche Funktionen zu implementieren, finden Sie in Inspiration und Implementierung Jasontaylordev/Cleanarchitecture.
Die Benutzeroberfläche basiert auf Devexpress 'Devextreme, einer vollständigen und polierten UI -Komponentensuite, und die Demo -Galerie war eine schöne Demo. Ich kann es nur empfehlen. Devextreme ist für nicht gewerbliche Anwendungen kostenlos und benötigt eine Lizenz für kommerzielle Apps.
Anweisungen zum Einrichten der Datenbank:
- Der erste Schritt ist das Einrichten der Datenbank. Die App verwendet SQL Server. Wenn Sie SQL Server 2019 oder höher verwenden, können Sie die Datenbank einfach aus der Sicherungsdatei dxfullapp.bak im Ordner "misc_files" im Infrastrukturprojekt wiederherstellen.
- Andernfalls führen Sie das Skript dxfullapp.sql aus, das sich im Ordner "misc_files" befindet, um die Datenbank mit Daten zu erstellen und zu füllen. Bearbeiten Sie die Datei gegebenenfalls, um die Dateinamenwerte auf die richtigen Pfade Ihrer SQL Server -Installation in Ihrem System zu aktualisieren.
- Aktualisieren Sie den Standard -Wert für den Wert von DefaultConnectionString, falls erforderlich in der Datei appSettings.json im Serverprojekt.
Anweisungen zum Ausführen der App:
- (Es gibt ein Problem, bei dem die Lösung einige Minuten dauert, um in VS 2022 zu laden. Noch nicht sicher, ob es sich um ein lokales Problem handelt.)
- Machen Sie nach dem Einrichten der Datenbank und der Verbindungszeichenfolge das Serverprojekt zum Startprojekt. Führen Sie die App aus und starten Sie den Browser mit der mit Kontakten geladenen Seite. Auf der ersten Seite wird eine kaputte Seite angezeigt und dann automatisch aktualisiert und ordnungsgemäß rendert. Dies sollte behoben werden.
Auflistung (derzeit kein Plan, um sie zu beenden):
- Konvertieren Sie die gesamte Benutzeroberfläche, um das ASP.NET -Back -End anstelle der Endpunkte von Devexpress zu verwenden.
- Erstellen Sie alle DTOs, um dem Kunden zu dienen, und zeichnen Sie den Entitäten zu. (Verwenden Sie Automapper oder Mapster, wenn dies bevorzugt wird).
- Fügen Sie Einheits-, Funktions-, Integrations- und End -to -End -Tests hinzu.
- Die Benutzeroberfläche führt keine Updates wie das Speichern der Änderungen oder das Erstellen neuer Objekte durch. Diese implementieren.
- Authentifizierung, Autorisierung, Protokollierung, Gesundheitschecks hinzufügen.
- Probieren Sie minimale APIs anstelle von Controller -basierten APIs aus.
- Der Angular -Client während der Version 17 verwendet er keine der spezifischen Funktionen der Version. Ich habe es nur von Version 15 auf 17 konvertiert.
Warum devextreme:
- Es verfügt über zehn hohe Qualität, polierte und erweiterbare UI -Komponenten, die winkel, reagieren, vue, jQuery und einfaches JavaScript nativ unterstützen.
- Ausgezeichnete technische Unterstützung und Dokumentation. Online mit Echtzeit -anpassbaren Demos, die die Funktionen jeder Komponente anzeigen.
- Leistungsstarkes und mobiles reaktionsschnelles Datenraster. Der Preis der gesamten Suite ist geringer als der Preis einer anderen Populär-UI-Komponente.
- Während es Geld kostet, spart es auf lange Sicht viel Geld, indem es die Kosten für die Entwicklung und die Unterstützung der Zeit im Vergleich zu einer HodgePodge von Open -Source -UI -Komponenten senkt, die funktionieren, sich verhalten und inkonsistent aussehen. Verwenden Sie Komponenten, von denen ein Unternehmen ihren Lebensunterhalt verdient, anstatt von einem Entwickler oder einer Freizeit einer Gemeinschaft abhängig zu sein.
- PS: Ich bin nicht mit Devexpress verbunden, als ein zufriedener Kunde zu sein. Ich drücke nur meine persönlichen Meinungen aus.
- Genieße es, Codierung zu kodieren!