Einige von euch kennen mein Projekt, wo ich die Inventardaten mit einem C# Programm auslese und mittels FLURL.HTTP in eine Datenbank sende um die Einträge dann auf einer Webseite anzeigen zu lassen. Das haben wir ja über Monate durchgekaut und dank eurer Hilfe habe ich ja auch was Funktionierendes. Darum geht es aber auch -es funktioniert. Mehr aber auch nicht und professionell ist es aber nicht.
Nun will ich mir die Zeit nehmen mein bisheriges Projekt neu und professionell aufsetzen mit allem was dazu gehört. Ich bin dafür auch bereit Geld in die Hand zu nehmen und Zeit zu investieren. Das Problem: Ich weiß überhaupt nicht was ich eigentlich lernen soll, bzw. lernen will. Daher kurz nochmal mein Ziel.
Am Ende will ich
Beim Recherchieren und erste Lernkurse durcharbeiten habe ich aber das Gefühl mich total zu verzetteln. Ich bekomme eine solche Informationsflut, dass ich jetzt gar nicht mehr weiß, welche Techniken für mich schlussendlich von Relevanz sind und welche Techniken am Ende überhaupt miteinander interagieren können / sollen und was ich überhaupt brauche.
Ich lese da von
Bei dem Kurs, den ich gerade durch habe, befindet man sich ständig nur im "Swagger"-Modus. Ich hätte am Ende gerne was fassbares. Der Dozent hat sich mit seinem Kurs zwar echt Mühe gegeben, aber ich habe nicht kapiert, was der da gemacht hat, geschweige wie ich das auf mein Vorhaben übertragen kann.
IDE: Visual Studio 2022
Sofern nicht anders genannt basieren meine Projekte auf C# und .net 6
Klar, C# brauchst Du auf jeden Fall.
Aber Symfony und Laravel sind ein PHP-Frameworks 😉
Der Client liest also Daten und schaufelt sie in eine DB.
Die DB liegt hinter einer Web-API, mit der der Client reden muss.
Die Web-Anwendung mit der Web-API hostet gleichzeitig auch die Website.
Den Client würde ich mit WPF entwickeln, WinForms tut's aber auch - oder Du setzt auf das fast (nicht ganz) fertige MAUI oder irgendein anderes Drittanbieter-Framework.
Der Server wäre bei mir in jedem Fall ASP.NET Core, wie Du die Website umsetzt, kannst Du dir aussuchen - z.B. Balzor.
Die API kannst Du z.B. mit REST oder gRPC umsetzen, für die Kommunikation vom Client mit einer REST-API hilft das Framework Refit.
Die verwendeten Frameworks sind beim Faktor "Professionalität" aber nicht der entscheidenden Faktor.
Ich verbinde damit (neben den Softskills fürs Teamwork) in erster Linie die Fähigkeit, den Quellcode und die Architektur klug zu schneiden und dafür zu sorgen, dass das ganze System langfristig testbar und wartbar bleibt und auch alle anderen Anforderungen wie erwartet funktionieren. Richtig aufgebaut ist dann auch eine Fehlentscheidung bei einem der Frameworks kein Todesurteil für die Software, sondern man kann es mit überschaubarem Aufwand umstellen.
Die Themen dahinter sind aber nicht so einfach, dass man nur ein paar Artikel auflisten könnte, aber ich denke, die S.O.L.I.D.-Prinzipien sind die beste und wichtigste Grundlage, auf der alles Andere aufbaut. Ich finde die Erklärung im "Clean Architecture"-Buch von Robert C. Martin sehr gut (bzw. Vollständiger als Andere), die ist aber nicht ganz leicht zu verstehen.
NuGet Packages im Code auslesen
lock Alternative für async/await
Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.