Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
**Razor und Blazor sind zwei der beliebtesten Web-UI-Frameworks für die Erstellung von Webanwendungen in der Visual Studio-Entwicklungsumgebung. In diesem Blogbeitrag werden die Gemeinsamkeiten und Unterschiede zwischen diesen beiden .NET-Technologien anhand ihrer Syntax, Interaktionen, Vorteile und Nachteile untersucht. Außerdem werden einige Anwendungsfälle mit einigen Codebeispielen demonstriert
Razor ist eine serverseitige Auszeichnungssprache, die es Entwicklern ermöglicht, Webseiten dynamisch mit HTML und eingebettetem, serverseitigem .NET-Code zu erstellen. Razor generiert Webseiten aus Razor-Seiten, Webseiten-Vorlagendateien, die mit C# oder VB. Razor-Seiten, die mit VB-Code geschrieben wurden, verwenden die Dateierweiterung .vbhtml
, und Razor-Seiten, die mit C#-Code geschrieben wurden, verwenden die Dateierweiterung .cshtml
.
Moderne ASP.NET-Webanwendungen unterstützen Razor, und es kann anstelle von traditionellem ASP.NET-Markup verwendet werden, um Komponenten für die Anwendungsansicht zu generieren.
Blazor ist ein Webapplikations-Framework, das es Entwicklern ermöglicht, interaktive, clientseitige Schnittstellenanwendungen mit .NET-Programmiersprachen zu erstellen. Mit Blazor erstellte Webanwendungen sind einseitige Anwendungen (SPA) die innerhalb eines Webbrowser-Clients ausgeführt werden (nicht auf einem Webserver). Die browser-seitige Ausführung von Anwendungen ist dank WebAssembly möglich. WebAssembly ist eine plattformübergreifende Befehlssatzbibliothek, die in allen modernen Webbrowsern zu finden ist und mit der .NET-Quellcode ausgeführt werden kann.
Mit Blazor ist es Entwicklern möglich, wiederverwendbare, interaktive clientseitige Webkomponenten mit C#, HTML und CSS zu erstellen (ohne JavaScript einbinden zu müssen). Da diese Komponenten in C# geschrieben sind, können die Entwickler außerdem Implementierungsdetails zwischen Client und Server in Form von Quellcode und Bibliotheken hin- und herschieben.
Blazor unterstützt die Razor-Syntax vollständig. Sie können Blazor-Anwendungen mit dem vollen Funktionsumfang von Razor erstellen: mit Schleifen, Bedingungen usw. Betrachten Sie das folgende Beispiel.
@page "/HelloWorld"
<h1>
Example Component
</h1>
@foreach(var person in People){
<h2>person.FirstName</h2>
}
@page "/HelloWorld"
<h1>
Example Component
</h1>
@foreach(var person in People){
<h2>person.FirstName</h2>
}
'INSTANT VB TODO TASK: The following line could not be converted:
page "/HelloWorld" (Of h1) Example Component </h1> foreach(var person in People)
If True Then
(Of h2) person.FirstName</h2>
End If
Wir können deutlich sehen, dass es eine Beziehung zwischen Blazor und Razor gibt. Schließlich ist der Name Blazor selbst eine Kombination aus den Wörtern "Browser" und "Rasiermesser"
Razor und Blazor werden beide zur Erstellung von Webanwendungen mit HTML und C# verwendet. Da sie quelloffen und kostenlos sind, können Entwickler sie sofort und ohne Einschränkung nutzen. Bei der Entwicklung von ASP.NET-Webanwendungen verwenden wir die Razor-Syntax, weil sie ASP.NET Core und ASP.NET MVC ähnlicher ist.
Blazor erstellt flexible, interaktive Benutzeroberflächen aus einer oder mehreren Komponenten, die mit der Razor-Syntax geschrieben wurden.
An dieser Stelle müssen wir einen wichtigen Unterschied zur Verwendung von Razor in Blazor machen: Razor wird verwendet, um Komponenten zu erstellen (schaltflächen, Seitenelemente, etc)und nicht um ganze Seiten zu erstellen.
Außerdem werden Razor-Dateien (dateien mit der Erweiterung .chtml
) innerhalb von Blazor sind formal als Razor-Komponenten bekannt, nicht als Blazor-Komponenten (obwohl beide Begriffe in vielen Entwicklungskreisen synonym verwendet werden).
Razor arbeitet innerhalb von MVC-Anwendungen, um ganze Seiten an den Browser zu liefern.
Wenn ein Benutzer auf eine Schaltfläche oder einen Link klickt, sendet der Browser eine Anfrage an den Server, der auf die Datenbank zugreift und die .cshtml Razor Views abruft (oder Razor-Seite)verarbeitet die Daten und das Markup zusammen und gibt das Ganze an den Browser zurück (neudarstellung der gesamten Seite).
Mit Blazor hingegen können Sie eine ganze Webseite aus einer Reihe kleinerer Komponenten erstellen, die in Razor-Syntax geschrieben sind.
Dies veranschaulicht die Funktionsweise von Blazor WebAssembly (Blazor WASM).
Der erste Aufruf Ihrer Blazor-WASM-Anwendung gibt das komplette Programm zurück, einschließlich aller von Ihnen definierten Komponenten, ähnlich wie eine mit JavaScript erstellte Single Page Application.
Da der Browser nun Zugriff auf diese Elemente hat, kann er sie in Reaktion auf Informationen und Ereignisse anzeigen, verbergen und aktualisieren.
Auf diese Weise ähneln Blazor-Anwendungen eher den Anwendungen, die Sie mit einer "modernen" JavaScript-Bibliothek/einem Framework wie Vue oder Angular entwickeln würden. Blazor-Anwendungen führen Netzwerkaufrufe an ein Backend aus, während sie im Browser laufen, um Daten abzurufen und zu senden.
Lassen Sie uns nun einige Vor- und Nachteile der Blazor-App und der Razor View-Engine diskutieren.
Wenn es um die Erstellung interaktiver Webanwendungen auf der Grundlage des .NET-Frameworks geht, sind Blazor und Razor sehr beliebt. Diese Technologien bieten einen neuartigen Übergang von der Verwendung von C# als primäre Programmiersprache für Standard-JavaScript-Projekte.
Hier sind einige Vor- und Nachteile, die bei der Erstellung einer Webanwendung mit Razor oder Blazor zu bedenken sind.
Mehrere in sich geschlossene Seiten können mit Razor schwer zu verwalten und zu pflegen sein.
Das herausragende Merkmal von IronPDF ist das Konvertieren HTML zu PDF, wodurch Layouts und Stile erhalten bleiben. Diese Funktionalität ist ideal zur Erstellung von PDFs aus webbasierten Inhalten, wie zum Beispiel Berichten, Rechnungen und Dokumentationen. HTML-Dateien, URLs und HTML-Strings können alle in PDFs konvertiert werden.
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
Razor kann API-Logik und serverseitiges Templating verarbeiten, aber es kann keine clientseitige Logik verarbeiten, die nicht auf JavaScript basiert. Blazor ermöglicht es Programmierern, sowohl client- als auch serverseitige Funktionen mit C# zu verwalten. Razor ist eine Auszeichnungssyntax für Vorlagen. Er bindet serverseitigen Code in das HTML ein. Blazor hingegen ist ein SPA-Framework, das je nach Situation entweder auf Blazor WebAssembly oder dem Blazor Server laufen kann.
IronPDF bietet die einfachste Möglichkeit, PDF-Dateien zu erstellen, zu lesen, zu aktualisieren und zu bearbeiten, sowohl in Rasiermesser und Blazor anwendungen. IronPDF ist ein Teil von Iron Software's Iron Suite die aus fünf nützlichen Bibliotheken besteht, die bei der Erstellung von Razor- oder Blazor-Webanwendungen mit Excel, PDF, Barcodes, QR-Codes und Bildern hilfreich sind.
Iron Suite ist für den persönlichen Gebrauch frei verfügbar. Für weitere Informationen über den Erwerb einer kommerziellen Lizenz, klicken Sie bitte auf hier.
9 .NET API-Produkte für Ihre Bürodokumente