{"id":780,"date":"2021-10-18T12:10:23","date_gmt":"2021-10-18T12:10:23","guid":{"rendered":"https:\/\/tremp.info\/?p=780"},"modified":"2021-10-18T12:15:15","modified_gmt":"2021-10-18T12:15:15","slug":"razor-and-blazor","status":"publish","type":"post","link":"https:\/\/tremp.info\/?p=780","title":{"rendered":"Razor and Blazor"},"content":{"rendered":"\n<p>Was hat Razor and Blazor mit Software Engineering zu tun? Nun <strong>Razor <\/strong>ist die C#-basierte Syntax f\u00fcr ASP.NET Webseiten. D.h. serverseitig werden die XHTML (Extended HTML) Seiten des ASP.NET (Active Server Page) mit C# Code erweitert. Der \u00dcbergang in den C#-Code erfolgt mit dem @ Symbol.<\/p>\n\n\n\n<p>Beispiel: &lt;p>Heute ist: @DateTime.Now&lt;\/p><\/p>\n\n\n\n<p>Weitere Details zur Razor-Syntax ersehen Sie in der<a href=\"https:\/\/docs.microsoft.com\/de-de\/aspnet\/core\/mvc\/views\/razor?view=aspnetcore-5.0\" target=\"_blank\" rel=\"noreferrer noopener\"> Microsoft Dokumentation hier&#8230;<\/a><\/p>\n\n\n\n<p>Browser + Razor = <strong>Blazor<\/strong><\/p>\n\n\n\n<p>Blazor ist ein open-source Web-Framework von Microsoft, welches auf HTML und CSS zur Darstellung der Web-Seiten basiert. Im Unterschied zu herk\u00f6mmlichen HTML5-Frameworks erstellt der Webprogrammierer den ausf\u00fchrbaren Code nicht in JavaScript sondern in C#, indem er die Razor-Syntax verwendet. Dabei kann in einer der Varianten der Code mit dem <strong>Blazor WebAssembly (WASM)<\/strong> komplett im Browser ausgef\u00fchrt werden, wie das nachfolgende Diagramm aufzeigt:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/tremp.info\/wp-content\/uploads\/2021\/10\/Blazor-WebAssembly-Variante.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"810\" height=\"407\" src=\"https:\/\/tremp.info\/wp-content\/uploads\/2021\/10\/Blazor-WebAssembly-Variante.jpg\" alt=\"\" class=\"wp-image-781\" srcset=\"https:\/\/tremp.info\/wp-content\/uploads\/2021\/10\/Blazor-WebAssembly-Variante.jpg 810w, https:\/\/tremp.info\/wp-content\/uploads\/2021\/10\/Blazor-WebAssembly-Variante-300x151.jpg 300w, https:\/\/tremp.info\/wp-content\/uploads\/2021\/10\/Blazor-WebAssembly-Variante-768x386.jpg 768w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/a><figcaption>Bildquelle und weitere Ausf\u00fchrungen siehe hier: <a href=\"https:\/\/www.bbv.ch\/blazor\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.bbv.ch\/blazor\/<\/a><\/figcaption><\/figure>\n\n\n\n<p>Mit der WebAssembly-Variante lassen sich auch PWA (Progressive Web Apps) realisieren. Die Skalierbarkeit ist optimal. Beim erstmaligen Laden gibt es hingegen je nach Netzwerkkapazit\u00e4t Verz\u00f6gerungen. Da der Code im Client ist, ist die Vulnerabilit\u00e4t tendenziell h\u00f6her. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Was hat Razor and Blazor mit Software Engineering zu tun? Nun Razor ist die C#-basierte Syntax f\u00fcr ASP.NET Webseiten. D.h. serverseitig werden die XHTML (Extended HTML) Seiten des ASP.NET (Active Server Page) mit C# Code erweitert. Der \u00dcbergang in den C#-Code erfolgt mit dem @ Symbol. Beispiel: &lt;p>Heute ist: @DateTime.Now&lt;\/p> [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":781,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[46],"tags":[54,64,63,53],"class_list":["post-780","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-engineering","tag-net","tag-blazor","tag-razor","tag-verteilte-systeme"],"_links":{"self":[{"href":"https:\/\/tremp.info\/index.php?rest_route=\/wp\/v2\/posts\/780","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tremp.info\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tremp.info\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tremp.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tremp.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=780"}],"version-history":[{"count":2,"href":"https:\/\/tremp.info\/index.php?rest_route=\/wp\/v2\/posts\/780\/revisions"}],"predecessor-version":[{"id":784,"href":"https:\/\/tremp.info\/index.php?rest_route=\/wp\/v2\/posts\/780\/revisions\/784"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tremp.info\/index.php?rest_route=\/wp\/v2\/media\/781"}],"wp:attachment":[{"href":"https:\/\/tremp.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tremp.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tremp.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}