Interview mit Christian Liebel, Thinktecture, über die Vor- und Nachteile der Erstellung von PWAs mit Blazor WebAssembly
Interview mit Christian Liebel, Thinktecture, über die Vor- und Nachteile der Erstellung von PWAs mit Blazor WebAssembly
Windows Developer: Also erstmal vielen Dank, dass du dir die Zeit nimmst für das Interview. Aber bevor wir zum eigentlichen Thema, also PWAs mit Blazor kommen: Was macht Progressive Web Apps im Allgemeinen so interessant?
Christian Liebel: Ja, Progressive Web Apps sind ein plattformübergreifendes Anwendungsmodell. Das macht es an sich schon mal sehr spannend. Es basiert alles auf HTML, CSS und JavaScript und das ist halt extrem portierbar. Man kommt sowohl in die verschiedenen Browser rein, Firefox, Edge, Chrome oder Safari, als auch auf jedes Betriebssystem, auf dem die Browser laufen, also auf jedem relevanten. Du kommst auf Spielekonsolen. Und überall sonst, wo ein Browser läuft. Verbessert hat sich das Modell über die letzten paar Jahre noch mal durch neue Webplattformschnittstellen, die hinzugefügt wurden. Die haben es möglich gemacht, zum Beispiel auf das Dateisystem zuzugreifen, Bestandscode ins Web portieren zu können und beeindruckende 3D-Anwendungen auch für das Web zu entwickeln, sodass es zum Beispiel Microsoft jetzt möglich war, Visual Studio Code ins Web zu bringen oder Adobe, die konnten Photoshop ins Web bringen, was zeigt, wie leistungsfähig das Modell ist. Und das macht es so interessant.
WD: Kannst du kurz sinnvolle Einsatzgebiete von Progessive Web Apps mit Blazor umreißen und unseren Lesern und Leserinnen einige Beipiele dazun nennen?
Liebel: Ich fange vielleicht sogar einfach mal bei Blazor an. Die Frage ist nämlich: Wann würde man Blazor einsetzen? Wir treffen uns gerade am Rand der BASTA!-Konferenz, die ja sehr klassisch aus der .NET-Ecke auf die Anwendungsentwicklung blickt. Und Blazor bietet sich vor allem für .NET-Entwickler an, weil ich eben mit C# und mit Razor meine Anwendungen oder auch meine Progressive Web Apps schreiben kann. Und das ist zunächst mal eines der Hauptanwendungsgebiete. Wenn nämlich mein Team eben C# kann. Kurze Klammer auf: Das heißt allerdings nicht, dass sich das Team nicht trotzdem mit HTML, CSS und JavaScript auseinandersetzen muss, weil diese Technologien ja trotzdem unten drunter liegen. Das heißt, dass das erste Einsatzgebiet ist, wenn mein Team eher aus der .NET-Welt kommt. Und Progressive Web Apps kann man dann tatsächlich für fast alles verwenden, was nicht allzu tiefe native Integration benötigt. Das heißt, bei einem Treiber, bei anderen Cloud-Upload-Programmen oder bei einem Virenscanner wäre Schluss. Stattdessen geht es mehr um Produktivitätsanwendungen, zum Beispiel bei Bildeditoren, Videoeditoren, Cut-Anwendungen bis hin zu einfachen Use Cases wie Artikelverwaltung, beispielsweise CRMs usw. Also alles, was man heute schon als Webanwendung abbildet. All das sind mögliche Einsatzgebiete für PWAs mit Blazor.
WD: Welche Blazor-Features könnten die Entwicklung von PWAs erleichtern? Du hattest eben auch angesprochen, dass es einige Neuerungen gab, die besonders interessant sind. Könntest du da bei beiden Fragen deine Erläuterungen bitte noch ein bisschen weiter ausführen?
Liebel: Sehr gerne. Welche großen Änderungen hat es da gegeben? Die eine ist im PWA-Bereich. Ganz, ganz lange hat auf der Apple-Plattform gefehlt, dass man an die Anwendung Pushbenachrichtigungen schicken kann. Das geht seit kurzem und das schließt aus meiner Sicht die letzte größere Lücke. Das war das, was ich am häufigsten gefragt worden bin, wenn ich Vorträge zu PWAs gemacht habe und das ist jetzt endlich da. Dann gibt es da für PWAs auf Blazor noch die interessante Weiterentwicklung, dass es eben diese neuen Webplattformschnittstellen gibt. Projekt Fugu ist da ein bisschen das Stichwort. Das Problem dort ist immer, dass diese ganzen APIs typischerweise JavaScript-basiert sind und ich sie somit nicht einfach aus .NET oder aus C# heraus aufrufen kann. Das heißt,...