Ein Forum mit C# entwickeln?
Ich interessiere mich schon länger für programmieren, bisher aber nur mit der Theorie und hab noch nie selber programmiert
Jetzt möchte ich das aber gerne lernen und hab mir überlegt so eine Art kleines Forum mit C# zu entwickeln. Ich weiß, dass das für den Anfang viel ist und man eigentlich eher kleinere Sachen nimmt. Aber bei so Mini-Übungsaufgaben vergeht mir immer schnell der Spaß. Ich lerne allgemein besser, wenn ich direkt was mache, was mich auch wirklich interessiert, auch wenn es schwerer wird.
Ich will mich auch erstmal nur auf die Grundfunktionen konzentrieren, also: Registrieren, Anmelden, Benutzerrechte und natürlich Kategorien, Beiträge und Antworten
Könnt ihr mir da Empfehlungen geben, wie ich am besten anfange bzw. vielleicht auch anfängerfreundliche Frameworks etc. die man dafür nutzen kann?
Oder vielleicht auch typische Fehler etc. auf die ich gleich achten sollte?
Bin für alle Tipps und Hilfen dankbar!
4 Antworten
Aber bei so Mini-Übungsaufgaben vergeht mir immer schnell der Spaß.
Nur einmal dazu: Umso komplexer ein Projekt, umso mehr sind Planung und Kenntnisse gefragt, damit man sich nicht verrennt. Wenn es scheitert, birgt es ebenfalls einiges Frustrationspotenzial.
Es gibt auch Übungsprojekte, die gut motivieren können (z.B. Minispiele wie Pac-Man, Pong, Snake, Space Invaders).
Könnt ihr mir da Empfehlungen geben, wie ich am besten anfange (...)
Plane erst einmal das System, bevor du mit einer Implementation beginnst. Stelle dafür die einzelnen Anwendungsfälle heraus (z.B. Nutzer meldet sich an, Nutzer schreibt Beitrag, ...) und beschreibe sie Schritt für Schritt. Dazu gehören sowohl Erfolgs- als auch Misserfolgsfälle. Darauf aufbauend kannst du die Lösungsalgorithmen erstellen und sicherlich wird dir dabei auffallen, was du noch für zusätzliche Ressourcen oder Strukturen (z.B. Datenstruktur für Beiträge/Kategorien, Nutzerrollen) benötigst. Auch die Designs der grafischen Oberfläche würde ich vor einer direkten Umsetzung kreieren, nicht zuletzt da anhand diesen ab und an nochmal bisher versteckte Anforderungen sichtbar werden.
Wenn du das hast, kannst du damit beginnen, die Algorithmen in C# zu übersetzen.
Ich würde dir einen Backend-first-Ansatz empfehlen. Erst wird die Backendlogik implementiert und später die grafische Oberfläche.
(...) vielleicht auch (...) Frameworks etc. die man dafür nutzen kann?
Für die Entwicklung von Webanwendungen mit C#/.NET wird üblicherweise ASP.NET genutzt. Zur Beschreibung der grafischen Oberfläche benötigst du HTML und CSS (Lernmaterial findest du unter anderem auf MediaEvent und MDN), Daten kannst du persistent in einer Datenbank ablegen. Ich denke, ADO.NET zur Kommunikation mit der Datenbank zu nutzen, ist für einen Anfänger die einfachere Option als das Entity Framework.
Visual Studio kann dir generell gut unter die Arme greifen. Es bietet Support für die Webentwicklung (Workload: ASP.NET und Webentwicklung) und ebenso Tools zur Verwaltung einer MS LocalDB.
Ein eigenes Forum in C# zu entwickeln ist ein anspruchsvoller, aber großartiger Einstieg, wenn du praxisnah lernen willst. Am besten nutzt du dafür ASP.NET Core mit Entity Framework Core und Visual Studio, das dir viele Dinge erleichtert. Beginne mit den Grundfunktionen wie Registrierung, Login und Benutzerrechten und baue danach Kategorien, Beiträge und Antworten auf. Für sichere Logins kannst du ASP.NET Identity verwenden, als Datenbank reicht dir am Anfang SQLite. Achte darauf, klein anzufangen und Schritt für Schritt zu arbeiten. Typische Fehler wie zu große Sprünge, unsichere Passwörter oder fehlende Tests kannst du so vermeiden. Mit einer klaren Struktur und etwas Geduld lernst du dabei nicht nur Programmieren, sondern baust direkt etwas Eigenes auf, das dich wirklich interessiert.
https://www.youtube.com/watch?v=nItgtJwgV4Y&list=PL3_YUnRN3Uhiz2HomrXKcaEW6b3pDhKTX
Hi Wessi15,
das klingt nach einem interessanten Plan. Damit du das Frontend erstellen kannst, brauchst unbedignt Fachwissen in HTML, CSS und JavaScript. Damit kannst du dann das Frontend programmieren. C# wird dann als serverseitige Programmiersprache/Programm genutzt um mit Anfragen und Request antworten bzw. bearbeiten zu können.
Mit Forum ist sicherlich ein "Internetforum" im Web gemeint.
Letztendlich müssen die Inhalte als HTML ausgespielt werden, können aber mit JavaScript und Webassembly beim Client angereichert werden.
Webassembly kann aus C# erzeugt werden.
C# eignet sich wohl auch grundsätzlich für die serverseitige Programmierung. Da liegen mir selbst keine Erfahrungswerte vor.
Mit Forum ist sicherlich ein "Internetforum" im Web gemeint.
Ja genau. Quasi so wie hier nur halt viel einfacher.