ASP.Net Core

Zum kommenden Oster-Urlaub hatte ich beschlossen mich mit den neuesten .Net Core Technologien zumindest teilweise zu beschäftigen. Hier bin ich leider schon seit 10 Jahren völlig aus dem Geschäft… im Geiste grob bei PHP 4…

Daher habe ich nun eine Demo-Website mit 4 verschiedenen Technologien aufgebaut um mich ein wenig selbst zu trainieren: http://zipcode.depon.net/

Screenshot: http://zipcode.depon.net/

Im Prinzip eine sehr einfache Website, welche eine Datenbank über alle Postleitzahlen beinhaltet und dem Nutzer zur Verfügung stellt:

  • WebAPI über ASP.Net Core Controller:
    • Hier wird eine statische Seite eingeladen, die ein JavaScript (kompiliert aus TypeScript) beinhaltet. Diese lädt die Daten über die Web-API vom Server. (ASP.Net Core Web Controller)
  • Statische Seite über Razor Pages:
    • Dies ist ein klassisches Formular, welches über einen POST-Request eine neue Seite aufbaut. Server-Seitig wird dann über Razor-Pages eine komplett neue Seite geschickt
  • Server-Side Blazor-Pages:
    • Schon etwas freakiger… Im Prinzip eine statische Seite, bei der die Java Script-Events über eine persistente SignalR (WebSockets)-Verbindung zum Server geschickt wird. Der Server aktualisiert daraufhin Teile der Website (Components) und das fertig gerenderte DOM wird dann wieder über die SignalR-Schnittstelle zum Browser geschickt.
  • Client-Side Blazor Pages:
    • Massiv freakig… Hier wird die Razor-Page auf dem Browser in einer WebAssembly gerendert. Der dahinterliegende Code ist in C# geschrieben und in diesem Falle exakt der gleiche Code wie auf der Server-Side. Das WebAssembly enthält auch große Teile des .Net Codes, so dass nahezu alle Funktionen zur Verfügung stehen.
    • Die Daten werden bei Änderung über die WebAPI, wie im ersten Beispiel eingeladen. Die Tabelle wird aber dann nicht per JavaScript (via TypeScript) aufgebaut, sondern in der WebAssembly.
    • Hierbei braucht man überhaupt kein JavaScript mehr schreiben…
    • Allerdings gibt es einen Offset von ~15 MB um die kompilierten .Net Assemblies einzuladen. Hier ist aber noch viel Verbesserung für die Zukunft versprochen.

Der Sourcecode findet sich unter:

datenmeister-new/src/Web at · mbrenn/datenmeister-new · GitHub

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.