[{"data":1,"prerenderedAt":230},["ShallowReactive",2],{"technical-blog-page-content":3,"technical-blog-post-blazor-a-new-old-experiment":30,"technical-blog-author-blazor-a-new-old-experiment":6},{"id":4,"title":5,"author":6,"blogTags":6,"body":7,"customExcerpt":6,"date":6,"description":11,"excerpt":6,"extension":14,"h1":15,"image":6,"meta":16,"navigation":17,"path":18,"readingStats":19,"seo":24,"stem":28,"__hash__":29},"technicalBlogPage\u002Ftechnical-blog-page.md","Technical Blog Page",null,{"type":8,"value":9,"toc":10},"minimark",[],{"title":11,"searchDepth":12,"depth":12,"links":13},"",2,[],"md","Technical insights, stories and opinions from our team of consultants, analysts, developers and testers.",{},true,"\u002Ftechnical-blog-page",{"text":20,"minutes":21,"time":22,"words":23},"1 min read",0.29,17400,58,{"title":25,"description":26,"keywords":27},"Technology Insights | Audacia Digital Transformation","Technical insights, stories and opinions from leading software development company Audacia's teams of consultants, analysts, developers and testers.","Digital transformation technology, Technology blog, Technology insights, software development blog, software engineering blog","technical-blog-page","XD1gWfEur9Mu64WptQ5pF-e7Ej60LGiq7sRC58wOAeQ",{"id":31,"title":32,"author":33,"blogTags":34,"body":38,"customExcerpt":213,"date":214,"description":43,"excerpt":215,"extension":14,"h1":6,"image":216,"meta":217,"navigation":17,"path":218,"readingStats":219,"seo":224,"stem":228,"__hash__":229},"technicalBlog\u002Ftechnical-blog\u002Fblazor-a-new-old-experiment.md","Software development frameworks: Blazor (a new\u002Fold experiment)","Jamie Taylor",[35,36,37],"NET","NET Core","Code",{"type":8,"value":39,"toc":207},[40,44,49,64,71,76,87,91,102,126,138,149,173,177,188,193,197,202],[41,42,43],"p",{},"Blazor is the name of an experiment which Steve Sanderson has been running for eight months, namely: Can we run .NET in a web browser?",[45,46,48],"h2",{"id":47},"what-is-blazor-and-what-does-it-mean-for-software-development-projects","What is Blazor and what does it mean for software development projects?",[41,50,51],{},[52,53,54,55,63],"span",{},"Essentially, Blazor uses ",[56,57,62],"a",{"rel":58,"href":60,"target":61},[59],"noopener","http:\u002F\u002Fwebassembly.org\u002F","_blank","WebAssembly"," to bootstrap a cut down Mono run time within the browser. It’s described in the official GitHub repository in the following way:",[41,65,67],{"style":66},"padding-left: 30px;",[68,69,70],"em",{},"Blazor uses only the latest web standards. No plugins or transpilation needed. It runs in the browser on a real .NET runtime (Mono) implemented in WebAssembly that executes normal .NET assemblies. It works in older browsers too by falling back to an asm.js based .NET runtime.",[41,72,73],{},[52,74,75],{},"This means that, essentially, we now have the ability to create front end code using C# and Razor alongside standard HTML.",[41,77,78],{},[52,79,80,81,86],{},"For a more in depth look at what Blazor is and what it can do, I would recommend reading through ",[56,82,85],{"rel":83,"href":84,"target":61},[59],"https:\u002F\u002Fgithub.com\u002Faspnet\u002FBlazor\u002Fwiki\u002FFAQ","the official FAQ",".",[45,88,90],{"id":89},"a-short-history-of-blazor-just-the-highlights","A short history of Blazor - Just the highlights",[41,92,93],{},[52,94,95,96,101],{},"Blazor is based on an older open source project called ",[56,97,100],{"rel":98,"href":99,"target":61},[59],"https:\u002F\u002Fgithub.com\u002Fchrisdunelm\u002FDotNetAnywhere","DotNetAnywhere"," which was started in 2010, and abandoned shortly after the initial version of Blazor was shown off at NDC Oslo - although no commits had been made to the project since Jan 23, 2012.",[41,103,104],{},[52,105,106,107,113,114,119,120,125],{},"The initial version of Blazor, which was still an experiment, was shown off at NDC Oslo in June of 2017. The video of Steve showing it off can be found ",[56,108,112],{"rel":109,"href":110,"target":61,"dataAnchor":111},[59],"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=MiLAE6HMr10","?v=MiLAE6HMr10","here",", it’s really worth watching for some of the technical details behind how Blazor works. The version of Blazor that Steve showed off during the NDC talk was not very old, as the initial commit for the ",[56,115,118],{"rel":116,"href":117,"target":61},[59],"https:\u002F\u002Fgithub.com\u002FSteveSanderson\u002FBlazor","GitHub repo"," was pushed on ",[56,121,124],{"rel":122,"href":123,"target":61},[59],"https:\u002F\u002Fgithub.com\u002FSteveSanderson\u002FBlazor\u002Fcommit\u002F91a51a3746e1f4cac64bf3b7b23376a6f97dd7ea","May 25th, 2017"," implying that there was less than a month between its initial commit and the demo version at NDC.",[41,127,128],{},[52,129,130,131,137],{},"After it was announced at NDC, Microsoft held an internal hackathon for enhancing and prototyping software applications using Blazor. This lead to a lot of bug fixes and additions to the code base, in an extremely short amount of time. This was shown during the ",[56,132,136],{"rel":133,"href":134,"target":61,"dataAnchor":135},[59],"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=TSrf4f6Crvw","?v=TSrf4f6Crvw","ASPNET Community Standup call"," which took place on July 25th, 2017 - Damian Edwards (one of the hosts of the ASPNET Community Standup) was present for the length of the hackathon and was reporting live from the event as it progressed.",[41,139,140],{},[52,141,142,143,148],{},"On Jan 6th, 2018 it was announced that Blazor had been added as an official ASP.NET project with ",[56,144,147],{"rel":145,"href":146,"target":61},[59],"https:\u002F\u002Fgithub.com\u002Faspnet\u002Fblazor","it’s own repository"," under the official ASPNET collection of repositories. This means that Microsoft engineers are now actively working on Blazor full time, and that it could possibly ship with the next version of ASP.NET - assuming that it is ready by that time.",[41,150,151],{},[52,152,153,154,159,160,166,167,86],{},"Blazor has evolved rapidly since it was first announced, just over eight months ago, however it is still not ready for production and is currently in an experimentation phase. This was pointed out in the ",[56,155,158],{"rel":156,"href":157,"target":61},[59],"https:\u002F\u002Fblogs.msdn.microsoft.com\u002Fwebdev\u002F2018\u002F02\u002F06\u002Fblazor-experimental-project\u002F","announcement blog post",", on a recent episode of ",[56,161,165],{"rel":162,"href":164,"target":61},[59,163],"noreferrer","https:\u002F\u002Fwww.dotnetrocks.com\u002F?show=1517","DotNetRocks"," and on a ",[56,168,172],{"rel":169,"href":170,"target":61,"dataAnchor":171},[59],"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Ta_qXpXQqGQ","?v=Ta_qXpXQqGQ","recent episode of the ASPNET Community Standup",[45,174,176],{"id":175},"a-live-demo-of-using-blazor-to-develop-software","A live demo of using Blazor to develop software",[41,178,179],{},[52,180,181,182,86],{},"Microsoft have spun up a live demo application which runs Blazor available online. It looks a lot like the ASP.NET Core SPA templates, and that is intentional because Steve and his team work on the SPA services for ",[56,183,187],{"rel":184,"href":185,"target":61,"title":186},[59],"\u002Ftechnical-blog\u002Fwhat-is-net-core","What is .NET Core?","ASP.NET Core",[41,189,190],{},[52,191,192],{},"If you head to this site with the browser tools open, you’ll see all of the Mono run time DLLs being loaded - which is why it takes a moment to initially render the page.",[45,194,196],{"id":195},"will-we-be-using-blazor-in-our-software-development-projects","Will we be using Blazor in our software development projects?",[41,198,199],{},[52,200,201],{},"We have never shied away from using new technology, which has led to us becoming leaders in the evolving tech space. As such we are beginning to experiment internally with Blazor, what it can do, and will watch it with interest as it develops over the coming months.",[203,204],"div",{"className":205},[206],"blog-post--cta-wrapper",{"title":11,"searchDepth":12,"depth":12,"links":208},[209,210,211,212],{"id":47,"depth":12,"text":48},{"id":89,"depth":12,"text":90},{"id":175,"depth":12,"text":176},{"id":195,"depth":12,"text":196},"Blazor is the name of an experiment which Steve Sanderson has been running for eight months, namely: Can we run .NET in a web browser? Read our latest insight about our experiences with this framework. ","2018-02-12T00:00:00.000Z","[object Object]","\u002Fimg\u002Ftechnical-blog\u002Fblazor.jpg",{},"\u002Ftechnical-blog\u002Fblazor-a-new-old-experiment",{"text":220,"minutes":221,"time":222,"words":223},"4 min read",3.9,234000,780,{"title":225,"keywords":226,"description":227},"Blazor - a new\u002Fold experiment | Audacia","Blazor, Microsoft Blazor, .NET software development, ASP.NET Core, C#, Web application development, Bespoke web application, Microsoft software development","Software development company Audacia gives an introduction to browser-based web application development with .NET and Blazor.","technical-blog\u002Fblazor-a-new-old-experiment","jkJIEVDh7LCFMqESFL8YTXJ4aXAjU1TQwVk5IEx87pw",1778146006223]