Wie läuft denn das ab? Erzeuge ich eine Datei die jeder runterladen kann und dann zu Hause in seinem Browser ausführen kann oder benötige ich immer eine Domain/eine Server wo die Datei zentral hinterlegt ist?
Da ist beides möglich. Wobei man normalerweise die Rohdaten speichert und erst wenn es benötigt wird ein PDF-generiert.
Und wenn jemand seinen Charakter abspeichern möchte, wo liegt die Datei bei so einer Webanwendung ab, wenn man nicht gleich Accounts dafür anlegen möchte?
Du kannst Daten auf dem Server speichern - z.B. in einer Datenbank oder einer Datei. Das Anlegen von Accounts ist in einigen serverseitigen Frameworks schon enthalten und ziemlich leicht zu verwenden. Alternativ kann man die Daten auch lokal im Browser speichern (Stichwort: Local Storage). Dabei speichert der Webbrowser Daten permanent (quasi größere und langlebige Cookies).
Wenn JavaScript die Programmiersprache ist, was ist dann React bzw. ASP.Net core und warum brauche ich das alles? Wie hängen diese nun wieder mit html zusammen?
Als alles angefangen hat, gab es nur HTML. Das ist eine Beschreibungssprache und sagt quasi immer nur, was was ist - z.B.: Das ist eine Liste, das ist ein Bild, das ist eine Überschrift, das ist ein Zitat, usw. Schön aussehen tut das aber nicht.
Also kam CSS dazu. Damit sagt man, wie HTML-Elemente auszusehen haben - z.B.: das Element hat einen grünen Hintergrund, das Element hat einen gestrichelten Rahmen, das Element hat nach oben 20 Pixel Luft, usw.
So richtig dynamisch sind HTML und CSS aber nicht. Also kam als nächstes Javascript (JS). Das ist eine Programmiersprache, mit der man Webseiten um dynamische Funktionen erweitern kann - z.B. Eingaben vor dem Absenden prüfen, Countdown-Timer anzeigen lassen, verständlichere Text-Editoren in Foren einbauen, usw.
Damit hat man aber nur Front-End, was im Browser läuft. Jetzt will man bei einigen Anwendungen - z.B. Blogs, Foren und Social-Media-Seiten - nicht jedes mal das HTML von Hand schreiben. Also lässt man sich das auf dem Server generieren - z.B. von ASP.Net oder PHP. Damit kann man dann Dinge auf dem Server speichern, dort berechnen und verifizieren - z.B. für Browsergames.
Und irgendwann hat man festgestellt, dass man auch ganze Programme mit HTML, CSS und JS im Webbrowser laufen lassen kann. Aber das wird mit reinem Javascript sehr schnell unwartbar. Also hat man sogenannte Single-Page-Applications entwickelt - z.B.: React. Dabei wird nicht jedes mal eine neue HTML-Seite geladen, sondern man macht im Hintergrund eine Javascript-Anfrage an den Webserver und zeigt die Daten dann dynamisch an. Der Clou daran ist, dass diese SPA-Frameworks einzelne Kompontenen erstellen, die man leicht testen sowie erweitern kann und vor allem koppeln sie Daten mit Aussehen. Damit kann man dann ziemlich gut arbeiten.
Edit: Wenn es nur darum geht Daten einzulesen, zu speichern sowie bearbeiten und am Ende daraus ein PDF zu generieren, dann reicht auch HTML+CSS sowie ein Framework auf Serverseite.