{"id":315728,"date":"2021-08-05T15:00:37","date_gmt":"2021-08-05T12:00:37","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/what-is-microsofts-blazor-web-framework-and-should-you-use-it-cloudsavvy-it\/"},"modified":"2021-08-05T15:00:37","modified_gmt":"2021-08-05T12:00:37","slug":"what-is-microsofts-blazor-web-framework-and-should-you-use-it-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/what-is-microsofts-blazor-web-framework-and-should-you-use-it-cloudsavvy-it\/","title":{"rendered":"#What Is Microsoft\u2019s Blazor Web Framework, and Should You Use It? \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a26e9fe42b89\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a26e9fe42b89\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-microsofts-blazor-web-framework-and-should-you-use-it-cloudsavvy-it\/#What_Is_ASPNET_Even\" >What Is ASP.NET Even?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-microsofts-blazor-web-framework-and-should-you-use-it-cloudsavvy-it\/#So_What_Is_Blazor\" >So What Is Blazor?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-microsofts-blazor-web-framework-and-should-you-use-it-cloudsavvy-it\/#The_Future_of_Blazor\" >The Future of Blazor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-microsofts-blazor-web-framework-and-should-you-use-it-cloudsavvy-it\/#Blazor_Server_vs_Blazor_WebAssembly\" >Blazor Server vs. Blazor WebAssembly<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-microsofts-blazor-web-framework-and-should-you-use-it-cloudsavvy-it\/#How_Does_Blazor_Work_with_JavaScript\" >How Does Blazor Work with JavaScript?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/what-is-microsofts-blazor-web-framework-and-should-you-use-it-cloudsavvy-it\/#Can_You_Use_Blazor_on_Desktop_Electron\" >Can You Use Blazor on Desktop (Electron)?<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#What Is Microsoft\u2019s Blazor Web Framework, and Should You Use It? \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage alignnone wp-image-13185 size-full\" srcset=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/08\/bca5f5f6-1.png?width=398&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 400w, https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/08\/bca5f5f6-1.png?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 1200w\" sizes=\"auto, 400w, 1200w\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/08\/bca5f5f6-1.png?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Blazor logo\" width=\"1200\" height=\"675\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/click.linksynergy.com\/deeplink?id=2QzUaswX1as&amp;mid=24542&amp;u1=csit\/12493&amp;murl=https%3A%2F%2Fdotnet.microsoft.com%2Fapps%2Faspnet%2Fweb-apps%2Fblazor\">Blazor<\/a> is a new web framework from Microsoft designed to compete with industry-leading platforms like React. Except, instead of using Java<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">Script<\/a>, it runs on the .NET runtime, and allows developers to make interactive web apps with C# and HTML.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"What_Is_ASPNET_Even\"><\/span>What Is ASP.NET Even?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you\u2019re coming from the world of JavaScript frameworks, you might be confused about Blazor\u2019s relationship with ASP.NET. They\u2019re both \u201cweb frameworks,\u201d but Blazor is just one part of the ASP.NET ecosystem.<\/p>\n<p>While the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/click.linksynergy.com\/deeplink?id=2QzUaswX1as&amp;mid=24542&amp;u1=csit\/12493&amp;murl=https%3A%2F%2Fdotnet.microsoft.com%2Fapps%2Faspnet\">ASP.NET platform<\/a> is nearly 20 years old at this point, it isn\u2019t a dinosaur framework\u2014it\u2019s been consistently improving alongside C# and .NET as a whole, as Microsoft uses it internally. It\u2019s completely cross-platform and as performant as ever.<\/p>\n<p>In the beginning, there was just ASP.NET, which can be used to make all sorts of web applications. There was ASP.NET MVC (Model-View-Controller), which creates data-driven web pages, and ASP.NET WebAPI, which specializes in backend APIs. These were recently merged into a unified package with the modernized ASP.NET Core.<\/p>\n<p>Five years ago, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.microsoft.com\/en-us\/aspnet\/core\/razor-pages\/?view=aspnetcore-5.0&amp;tabs=visual-studio\">Razor Pages<\/a> (which is a separate thing from Blazor and confusingly named) was released to simplify the expressive syntax of MVC, which requires a lot of boilerplate and, as such, doesn\u2019t play well with the component-focused design of modern applications. MVC requires you to make a view and model for each page in separate files:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13168 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/08\/36c34bdc.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"MVC requires you to make a view and model for each page in separate files:\" width=\"1200\" height=\"498\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Meanwhile, with Razor, you can make more streamlined pages or components with integrated code on the page itself. This works better when the pages are simpler, but both are available as options for you to use.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13170 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/08\/f6150c99.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Meanwhile, with Razor, you can make more streamlined pages or components with integrated code on the page itself.\" width=\"992\" height=\"762\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>All of these features are part of the \u201cASP.NET\u201d ecosystem. The great part about it is the packages and support. Much like NPM for JavaScript, C# also has a healthy package environment with the NuGet package manager.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"So_What_Is_Blazor\"><\/span>So What Is Blazor?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/click.linksynergy.com\/deeplink?id=2QzUaswX1as&amp;mid=24542&amp;u1=csit\/12493&amp;murl=https%3A%2F%2Fdotnet.microsoft.com%2Fapps%2Faspnet%2Fweb-apps%2Fblazor\">Blazor<\/a> doesn\u2019t change anything about the syntax of these pages. You\u2019ll still be using Razor pages and\/or MVC. This actually isn\u2019t even a bad thing, because there are already numerous UI and component libraries made for C#-backed Razor pages.<\/p>\n<p>What Blazor adds is <em>interactivity<\/em>. Traditional MVC\/Razor pages using ASP.NET have always been clunky and have struggled to keep up with real-time web applications like React. Real-time web apps are so fast that they\u2019re starting to take over the desktop as well, with frameworks like Electron running apps in a Chromium container, with users none the wiser.<\/p>\n<p>So, Blazor was created to meet this demand. It works a lot like React, where actions modify state and props and trigger updates to the app. The framework will handle updating the DOM for you based on which components need updating. This enables real-time applications where the page can be updated or even completely redrawn without having to actually refresh the browser.<\/p>\n<p>The benefit of Blazor over an established framework like React is the language. It lets you build web apps with C#, and that alone makes it alluring to many developers. Whatever opinion you might have on the dynamic vs. static typing debate, there are definitely benefits to \u201cdesktop\u201d languages like C#, and the web is seriously lacking in alternatives to JavaScript.<\/p>\n<p>If you have a backend that requires high performance, C# will also run a lot faster than JavaScript. Even though JS is by no means slow and has improved a lot over the years, it will still end up less performant than C#, which actually runs pretty close to native C++ performance.<\/p>\n<p>Blazor allows for better interoperability. Many apps also already use C# on the backend. For example, you might have an ASP.NET API that interacts with your React frontend. You\u2019ll need separate models for the server and the client side as well as separate code for interacting with them. If they\u2019re the same language, it allows you to easily share code and\u00a0libraries between client and server. This is the entire reason why NodeJS exists on the server side\u2014even though JavaScript is not the ideal desktop language,\u00a0having apps built in one language cuts down on development time.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"The_Future_of_Blazor\"><\/span>The Future of Blazor<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>There are actually a few different types of Blazor, as Microsoft has been making a big development push recently to modernize the ASP.NET ecosystem. Currently, there are two versions that have been released:<\/p>\n<ul>\n<li><strong>Blazor Server<\/strong>, which works like React Server Side Rendering and does most of the processing on the server.<\/li>\n<li><strong>Blazor WebAssembly<\/strong>, which uses the magic of WebAssembly to run actual .NET code in an actual client web browser.<\/li>\n<\/ul>\n<p>Microsoft also plans to release three more versions of Blazor, which are still in development and available for preview:<\/p>\n<ul>\n<li><strong>Blazor PWA<\/strong>, which is designed around publishing the site as an installable Progressive Web App (PWA).<\/li>\n<li><strong>Blazor Desktop\/Hybrid<\/strong>, which allows Blazor apps to be packaged into desktop apps and is basically like Electron but with better performance.<\/li>\n<li><strong>Blazor Native,<\/strong> which replaces the web-based UI with a platform-native interface. It\u2019s not clear how useful this even is besides interop with existing Blazor tools, and this version is still in the planning phases.<\/li>\n<\/ul>\n<p>In their announcement for Blazor Desktop, Microsoft stated that \u201cBlazor is an application programming model. It is very adaptable, and can be executed in multiple ways (depending on the need).\u201d<\/p>\n<p>Microsoft seems to think of Blazor as their next standard for making application frontends.\u00a0Their work is well worth it, too, because as applications become more and more web-dependent, it\u2019s harder to justify creating separate frontends for web and desktop.\u00a0Blazor has a bright future, and web applications made today on Blazor Server and WebAssembly will have a lot of room to grow.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"Blazor_Server_vs_Blazor_WebAssembly\"><\/span>Blazor Server vs. Blazor WebAssembly<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Blazor Server uses a <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/click.linksynergy.com\/deeplink?id=2QzUaswX1as&amp;mid=24542&amp;u1=csit\/12493&amp;murl=https%3A%2F%2Fdotnet.microsoft.com%2Fapps%2Faspnet\/signalr\">SignalR connection<\/a>\u00a0to communicate between the client and server. This is just a fancy layer on top of a WebSocket connection, which can optionally fall back to other connections when needed. This keeps all of the processing on the server and leaves the client as a simple view with a basic way to manipulate the DOM.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13175 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/08\/f502d4cf.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Blazor Server uses a SignalR connection\u00a0to communicate between the client and server. \" width=\"699\" height=\"406\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Blazor WebAssembly is where it gets seriously cool. WebAssembly (WASM) isn\u2019t really a language that you write in, but a compiler target. It actually works almost exactly like the Microsoft Inter<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/social-mediaa\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Social Media\" target=\"_blank\" rel=\"noopener\">media<\/a>ry Language (MSIL) that all C#, F#, and VB.NET compile to. Except that, rather than running with a .NET runtime, it runs using the WebAssembly runtime in the browser.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"imgchk9 alignnone wp-image-4170 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2020\/03\/429ee069.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Wasm can be used as a portable compilation target for other languages\" width=\"628\" height=\"368\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>The cool part about WebAssembly is that it\u2019s a relatively easy compiler target to hit. Much like how C# can compile down to MSIL, C# can also compile to WebAssembly. Well, technically, it\u2019s MSIL compiling to WebAssembly (as that\u2019s simpler), but the point is the same.<\/p>\n<p>Any language can compile to WASM, even fully native desktop languages like C++. This isn\u2019t theoretical\u2014it actually works in practice. AutoDesk was able to port AutoCAD, a 30-year-old C++ codebase, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.infoq.com\/presentations\/autocad-webassembly\/\">over to a WebAssembly-based web app<\/a>, in a few months with relative ease. Someone even <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/wasm.continuation-labs.com\/d3demo\/\">ported <em>Doom 3<\/em><\/a>.<\/p>\n<p>Blazor WebAssembly basically takes the entire server as well as the .NET runtime and runs it on top of WASM. Then, instead of talking to the server over SignalR, it directly talks to the DOM. This cuts out the server side processing, which can be ideal for some apps.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13176 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/08\/f1f009bb.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Instead of talking to the server over SignalR, Blazor WebAssembly directly talks to the DOM.\" width=\"533\" height=\"395\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>This makes it uniquely positioned to compete with frameworks like React, as it\u2019s essentially the first true competitor to JavaScript for client web applications.\u00a0While you have to add a few script tags to load the runtime and might have to dip your toes into JavaScript code for a few things, you should, for the most part, be able to make an entire production web app without writing a single line of JavaScript.<\/p>\n<p>Whether you use Blazor Server or Blazor WebAssembly is up to you. They both have their advantages. Blazor Server runs all processing code in a trusted environment and doesn\u2019t require you to have a public API. Blazor WASM is responsive and fast, and can even be deployed as a static site served with just NGINX.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"How_Does_Blazor_Work_with_JavaScript\"><\/span>How Does Blazor Work with JavaScript?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>In either case, you actually have full JavaScript interoperability. Blazor can call JS functions from managed code:<\/p>\n<pre>private async Task ConvertArray()&#13;\n{&#13;\n    text = new(await JS.InvokeAsync&lt;string&gt;(\"convertArray\", quoteArray));&#13;\n}<\/pre>\n<p>And vice versa:<\/p>\n<pre>DotNet.invokeMethodAsync('{ASSEMBLY NAME}', '{.NET METHOD ID}', {ARGUMENTS});<\/pre>\n<p>Although, keep in mind that this will, of course, use reflection, and certainly isn\u2019t the most performant thing in the world.<\/p>\n<p>You can technically use all NPM packages with Blazor, although setting that up and interacting with it from the .NET side might be a bit of a headache, so you should prefer a NuGet package most of the time.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"Can_You_Use_Blazor_on_Desktop_Electron\"><\/span>Can You Use Blazor on Desktop (Electron)?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-13180 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/08\/07bbf33a.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"You can use Blazor on desktop.\" width=\"1200\" height=\"483\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Surprisingly, the answer to this is yes. While Microsoft plans to release Blazor Desktop\/Hybrid, which does the same thing, in the meantime, you can actually just use normal Electron. This is because Electron really doesn\u2019t care about what web page it\u2019s serving and can just serve a Blazor app.<\/p>\n<p>You might think that it would use a Blazor WebAssembly app, but it\u2019s actually easier to just add Electron to an existing ASP.NET Core server. WASM does have some overhead, so this method is faster. That\u2019s what <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/ElectronNET\/Electron.NET\">Electron.NET<\/a> does, and it works surprisingly well. All you have to do is install it and add Electron as an ASP.NET service. You can also call Electron native functions from C#.<\/p>\n<p>Microsoft has bigger plans for Blazor Desktop, though. They plan to completely get rid of the dependence on a browser and JavaScript and just run a native container with a web view that\u2019s .NET all the way down.<\/p>\n<p>\u201cBlazor desktop will be structured similarly to the way Electron works. There will be a WebView control that renders content from an embedded Blazor web server, which can serve both Blazor and other web content (JavaScript, CSS, etc.).\u201d<em><br \/><\/em><\/p>\n<p>This web view would use Safari,\u00a0WebKitGTK, or WebView2, depending on the OS. WebView2 uses Chromium under the hood, so it would function a lot like Electron, except for being more performant and using less memory.<\/p>\n<hr\/>\n<p>Whatever the implementation ends up being, it\u2019s exciting to see another platform competing with JavaScript and Electron for building cross-platform web and desktop apps. <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/click.linksynergy.com\/deeplink?id=2QzUaswX1as&amp;mid=24542&amp;u1=csit\/12493&amp;murl=https%3A%2F%2Fdevblogs.microsoft.com%2Fdotnet%2Fannouncing-net-6-preview-1%2F\">Blazor Desktop should be released in November of 2021 with .NET 6\u2019s first preview<\/a>.\n<\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/12493\/what-is-microsofts-blazor-web-framework-and-should-you-use-it\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#What Is Microsoft\u2019s Blazor Web Framework, and Should You Use It? \u2013 CloudSavvy IT&#8221; Blazor is a new web framework from Microsoft designed to compete with industry-leading platforms like React. Except, instead of using JavaScript, it runs on the .NET runtime, and allows developers to make interactive web apps with C# and HTML. What Is&#8230;<\/p>\n","protected":false},"author":1,"featured_media":315729,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/08\/bca5f5f6-1.png","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-315728","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/315728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=315728"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/315728\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/315729"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=315728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=315728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=315728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}