Keynote - Welcome to .NET 5

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] today we have a world of applications and websites and we think of those as two different worlds when dot net those become one thing we are providing you with the v1 of that technology today as i said it represents a tremendous amount of work scott guthrie walks in with what appears to be a fully functional version of visual studio that he wrote over the weekend it's a big thing to say i'm going to introduce a brand new programming paradigm and i'm going to convince all my developers to move over to it and scott just cranked it out 2010 actually marked the 10th anniversary of asp.net today we are open sourcing the entire rosslyn project rosslyn is now open source thank you [Music] we have millions of mobile users using the native apps on each operating system [Music] we got to be able to stay in a language space that we were familiar with which was writing on the stack [Music] we also used.net and angular for our web-based solution which integrates with azure cloud services we've depended on.net to drive all of our applications support.com has an ordering service i understand that this is builtin.net yes bordering platform is done.net core asp.net [Music] welcome to dot net conf 2020 i am so excited to be here on the 10th anniversary of.net conf and the.net 5 launch i'm scott hunter director of program manager at microsoft on.net congrats to everybody on the great release today and 10 years of this virtual conference it's been an incredible journey to get where we are today and we could not have done it without the dotnet community here are just a few of the memories we've shared over the years from the first nbc conference with scott guthrie then asp conf and then expanded and renamed to.netconf it is involved in the world's largest.net conference on the planet we have 80 sessions for you this year over 100 speakers from all around the world over 20 student responses giving away tons of prizes and best of all net 5 is available today so i'm pleased to announce the general availability of.net 5. you can go and download it right now dotnet 5 is the next version of net core we continue the journey of unifying the.net platform our vision for one.net is a unified set of libraries tools sdks and runtimes dot net 5 begins this journey by taking everything available in.net core and adding several cloud and web investments such as smaller single file applications that use less memory and are more appropriate for microservice and containerized applications across various operating systems asp.net blazer webassembly which allows you to write web ui in c sharp and runs completely in the browser now for the first time ever it uses the core bcl instead of the mono bcl further unifying the platform so developers can write code against the exact same base class libraries across all of.net net also embraces full swagger support and makes it easier to create testable compatible web apis with open api and we'll do a demo of that in a little bit dot net 5 also includes full design time support for windows desktop development winforms and wpf both in visual studio with first and third party control support for the first time also we've heard all the feedback from you click once is now available again um for full and you still get all the features of net as well plus there's tons of performance improvements which i'm going to show in just a second and we have support for windows arm64 and there's also brand new versions of c sharp and f sharp in dot net 5. let's talk about the ecosystem we have seen significant growth in the.net ecosystem over the last couple of years if you look at this we know we ship.net core for the first time in 2017. three years later we have over 2 million developers using it every day i think that's an amazing number stackoverflow has a great developer survey that they run every year and for the last two years we've been the number one most loved framework i'd like to call out that you know we open source.net kind of late in 2014 but the cloud native foundation when they monitor the the highest velocity oss projects we find that net is in the top 30 uh against a ton of awesome other products as well so it's great to see that the uh we how much pickup we've had in the open source world and then we're the top five language in github as well um and tech and power this is a public benchmark which measures measures frameworks we are one of the fastest frameworks there and that's one of our goals to you the customer to make sure that you realize you can run your.net applications uh faster and better than you could in any other language and then we love the fact that when we take developer surveys of new customers coming on the platform about 40 of them are you know new to the platform i'm going to switch over and show something really cool um so i'm going to change my browser here we go this is a cool page called dotnetthanks.azurewebsites.net and what this does you can go to this yourself right now um and on this page you're going to see a link to all of our releases and if i go click on one of these i'll click on rc2 let's go click on three three one eight uh this will show you all the people that have contributed to this product um and so this is showing you that open source world out there and from this page you can see all the versions and all the contributions that we take we switch back now let's talk about adoption um our user base keeps growing there are over 5 million active.net developers today in the visual studio family which includes visual studio visual studio code and visual studio for mac as i mentioned we've seen significant growth in dot-net core our open source cross-platform.net with over 2 million active developers per month we've also seen a significant sorry significant number of windows desktop developers so when we shipped winforms and wpf with dot-net core 3.1 i never thought that with in under a year we would have a hundred thousand uh each uh moving to.net.net core and they're doing that because they want those perf benefits they want that side-by-side all those capabilities that we bring in the platform um and then finally you know uh.netcore.net5 is cross-platform and we're seeing all these developers start using our published linux as well so we're happy to see this great adoption across the entire platform now i can't talk about.net without talking about some of the awesome partners that we have out there if you look here um all of these people devexpress infogistics telerik grapecity jq widgets radzin and syncfusion they all have products available for net 5 today whether that's controls for blazer controls for winforms or controls for wpf they're all out there and what's even cooler is with net 5 i don't want to just talk about commercial partners as i mentioned earlier we have this great velocity in oss and we have an amazing list of open source partners as well and some of these on this page like identity server uh and swashbuckle they're actually in the product um a lot of these are because as i wanted to show uh we have a demo later on that dan ross going to do and i wanted to show those commercial blazer extensions and then also show some open source ones side by side with them and so we have a great demo showing that but i just want to shake we have an amazing community i can't list them all here there's many more in the dot net foundation so check these out tech empower this is a big part of dot net to me if you look here developers are running critical services in production uh and they can they care both about perf um and they care about cost as well and so all the perf we've added in.net helps run your applications cheaper and faster than you could with any other platform this is showing what our perf was in 3.1 which we shipped a year ago now let's move forward and let's look at the improvements that you're going to see in dot net 5. you can see here plain text is up 38 we've increased json serialization benchmark by 42 and fortunes which is the hardest application for us to run because that's doing web pages it's making database calls we've had a 20 year-over-year improvement so you can see massive performance gains across the entire platform here next let's talk about some other improvements sockets 30 improvement in socket performance on linux compared to 3.1 json serialization which i just mentioned before uh has improved by about 20 um over the two platforms and then serialization of large collections and arrays we've made that three times faster and it's zero alex zero means we don't garbage collect your application runs faster and for modern um contract based apis we added grpc in 3.1 and you can see that as we get to five we are actually faster than go c plus and java so you know if you actually move your application to.net 5 it's going to run super fast and super efficient so next what i want to do is i want to talk about windows desktop development and what we've done in this space so if you look here what we've done is we've added in this version full support for the winform and wpf designers those designers have been preview since we ship.net core 3.1 but we're finally adding the final touches to that we have click once that was the most requested feature uh from winforms and wpf developers was being able to right click on their application publish it and so they could have a simple setup they could just pass around the internet uh with updates uh as well so you know a click once application once you publish a new version of it any customer running it the next time will been we'll be asked to to migrate to the new ones and of course i mentioned on those on those earlier slides we have all those arrays of third-party controls out there and they're now starting to light up in our tools and also you get all the benefits of net um you get self-contained single file exes if you want no net on the machine at all you get awesome performance um and you also get new things like you know if you've seen the new edge that we have we now have a edge control you can actually put in a winform application and with that i want to invite scott hanselman on the stage here and let's do a demo of modernizing a desktop app with winforms how are you sir excellent how are you doing living the dream living the dream um cool so i'll go ahead and share my screen here and what we've done is just put together just a little application here in visual studio you can see a couple of interesting things over here uh showing the different runtimes that we can run on and i'm of course on x64 right now and i've got my winforms application right here now if i just run this application by itself i'll bring it in over from my other monitor you can see that we've got a winforms application there's my default app my default icon and i've got a web page in the middle there you may have seen applications or have wanted a web an application in the past that has you know a web page in the middle myself when i started in winforms 9 these 20 years ago i in fact uh had an activex control and it was edge it was to me it was internet explorer rather and you know you had like a control within this but what's going on here this is in fact the chromium-based microsoft edge running as a control inside of of wind forms which is incredibly powerful to be able to mix the best of windows and win32 and winforms with the the best of of the web this is a great experience so check this out if i go and double click on that inside of this.net 5 application i'm going to go ahead and close up these things in the toolbox here we see that in fact just by bringing in uh references to different nuget packages i didn't have to install anything i just referenced some new git packages i've actually got some telerik ui for win forms that have appeared in the toolbox so that toolbox on the left gets populated by adding these nuget packages now you can see here where we've got our webview it's called webview2 which is one better than the regular webview it in fact has edge now what i'm going to do is i'm going to do a little trick here i'm going to pull this down i've hidden some controls underneath and then on the left hand side under toolbox i'm going to go and search for the drop down list that i want to use i think it's called drop down i'll use the the rad drop down list from telerik here and i'm going to go and lay it out in my visual designer right here and then over in the properties area let's go ahead and give it a name like scott drop down list okay now i'm going to hit f7 look at the code behind this i've got a class public class scott that takes a name and a twitter ui so this is for your favorite scots and then what we do here is we've got a list of your favorite scots you too can be at scott you don't have to be named scott to be a scot and i'm going to uncomment out where i set the data source to that list of scott and i'm going to then style that list okay now i'm going to go and build this application and then run it this will be coming up on a another monitor so i'll bring it over from the other monitor and now i've got a winforms application written in.net 5 with a telerik winforms control drop-downs bound that is then affecting an edge-based control running in wind forms but it's chromium-based edge fantastic stuff pretty impressive i was impressed at how easy it was and what's cool about this now we go back to what scott hunter was saying if i right click and say publish and go and publish this to a folder check this out we can go and publish this with click once now there may have been some challenges with click once in the past but a lot of work has been done to make click once lovely and if you take click once and you combine that with some of the new features of dot net five you get something really special so we've got our different options and whatnot for our click once application but take a look down here target framework done at five i could go and make it you know self-contained i could make a single file we could go and spin this thing up into a single file i could just hand it to you i could deploy it and turn it into a setup.exe and you could go and run that i could make a click once app a lot of flexibility but imagine the idea that you could take a winforms application that in the past would require a version of.net framework that might require a reboot of windows or some you know making sure that all of the windows machines in your fleet are up to date and doing what you need them to do but now you don't have to worry about any of that it's completely self-contained one executable the ability to do a simple click once the ability to bring in controls no com registration none of that stuff and you get great high dpi support because the team has been putting lots of work into win forms to make it work on 4k monitors like the one that i am working on right now where is uh scott hunter are you still around sir can can you go into the source code for um the application yeah let's do this what's up c sharp nine feature called records i think that'd be a great thing to show yeah so this is my scott class we've all written this right public class person instructor pass some stuff into the parameters oh yeah you've got public properties we've all done this a million times it's fine but all that code you can turn that into a record this is a new c sharp nine feature where we're gonna say you know this is a data transfer object this is it's a class but it's a record so all that boiler plate disappears so i just got to refactor via subtraction not great that is the exact same code this isn't really important i still have a constructor i still have public properties i still have my typing i still have my getter setter but expressed in this nice shorthand and you'll notice look it's still compiled you can see right there my squigglies go away great c 9 feature and still work so this is really interesting as well you're pointing out how clean that is you've got winforms refreshed for the next generation works great in windows 4k you've got the brand new chromium based edge c sharp nine features single file executable ready to run and click once installer pretty yummy i must say yes now scott it's it's i saw this app had hunter and hanselman but it also had scott guthrie we well you know i i think about him often and i i say to myself self how it's scott guthrie he's you know he's a younger man than i uh but he has found much success in life so while you and i are relegated to the historical uh middle management trash heap he has gone off and he's changed the world with azure and his great great team there so i i wish him well and i i raised my generic uh fizzy soda to him let's bring scott in the call what hi folks how are you how's it going sir good how are you i'm i'm glad i wore this shirt today i did too conveniently although i heard most days i've got scott i've got an asp.net chair today oh awesome okay i'm afc richmond but that's the best red shirt somewhere in my closet actually [Laughter] so scott we we heard this rumor that that you have this like spec of asp.net from back in the early days in paper form i do yeah i yeah we were in chat the other day and uh i got this is the original spec uh i think i started this in 2000 and i don't know 1997 and um uh yeah this is the the notes and all so i got like the original printed spec and then these are i even have like the building numbers where i'm supposed to run to go to a meeting uh i don't know what that phone number is but um uh but yeah no and it's got like you know all the questions as we're working through it on how things work uh uh you know what's what the url syntax is and the architecture for how it would you can see like init execute transmit so that was the early eventing model uh and then i think somewhere in here there's uh you can see a lot changed in terms of you know this because we were spending a lot of time uh just trying to figure out how this thing would work and um [Music] you know met with a lot of customers and we're trying to figure out okay well how would this map to this was a site called sidewalk which microsoft used to have i think long since disappeared and it was uh you know just trying to figure out okay how would we build this using what became asp.net and then this is the i don't think this is the first bag this is the oldest one i have on my bookshelf but you can see it was called xsp was the code name um a little known uh secret is if you look at the extension of aspx the x comes from xsp um it's also a plus cert turned side by side and then this uh even here we even have uh [Music] uh you know public class foo extends page and we've got the uh member components and it form and a bunch of other stuff in there a lot changed but yeah that's you know hanson and i were asking ourselves last night was asp.net the invention was was a postback created by asp.net is that something that that came out of this effort or was that something that was in the web before uh well the web had i mean there were lots of approaches people were doing back in 97 i mean you have to remember 97 one of the challenges was not every browser supported javascript yet and so one of the design criteria for asp.net 100 was to work with a browser that didn't support um javascript which sounds surreal now but that that was the state of the world back then and so you know there was you know there were ways that you could do call backs in javascript because there was uh what was the name of it was the uh live script it was live stream and then there was there was a inner frame i think was also had the object model that you could call something and then look at the response and you know later had lots of cross-site scripting attacks and all that stuff but uh but that was the approach people were using to like hand roll javascript to call things back and but the downside was if you had no javascript it wouldn't or javascript wasn't enabled it wouldn't work and so what we came up with postback which was kind of interesting was both kind of the equivalent of it so you could hook in javascript but it was also it was a form submit and so even if you had javascript disabled believe it or not the original postback would still work uh and then you know two guys i worked with uh ken and ted uh uh so they came up with a lot of the ideas of you know how post-bac would work in terms of like you know hydrating objects actually for them they came up the idea of you know let's rehydrate the tree and is there some kind of syntax we could do it the original way we did it was on the server side and then we came up with this notion of kind of this object bag that we squibbled away in viewscript or viewstate um and uh uh and then i can't remember someone else uh i don't remember who exactly but it's you know then the trick was like hey can you actually fake out view state to do something bad and then we came up with a whole hashing mechanism for v state and um yeah the rest was history and so yeah that was uh that that most of that stuff happened in 98 and early 99 and then um and then there's a lot of refinement and so we figured out along the way and then i think the biggest thing we did also then that we did well partly because we were still trying to figure out the page syntax and and you know how the forms model would work because we said you know we might not get this right and so let's make sure we layer it correctly and so the whole ihdb handler and http module and the whole extensibility of asp.net you know we kind of came up with to make sure that if we ever wanted to replace web forms in the future we could and um you know later when we introduced asp.net it meant that most of asp.net could be reused and then we could just replace you know effectively the page object with um you know the controller object and and kind of swivel the whole extensibility around but it was you know it was extensible enough that even in the first asp.net nbc we used web forms as the view engine and um yeah it was kind of cool that we were able to uh have that much flexibility and that's you know that's something i try to do even today when i do reviews with teams and give feedback on architecture is you know layer it really cleanly because you never know what you're going to need to do in the future and if it's all bundled together in a giant ball of wine or a ball of twine then you're going to have to start over if you don't get it right the first time so yeah there's a lot of people who have been saying and the legend has been building over the years that much of asp.net was built on airplanes going from customer to customer or from uh meeting to meeting how much truth isn't that what was actually written on an airplane uh well you most of the original asp.net was not written on an airplane and and you know mostly because uh laptops back then only had about an hour of battery life uh and not have power adapters you know i feel like i'm dating myself here but uh uh and so you know most of us mostly originally asp. or the original prototype of asp.net i guess i wrote over the christmas new years between 97 and 98 and i was working with mark anders and i kind of started the project and um uh you know a lot of these notes and things came from ideas and at some point he said we should write a prototype and i i nominate you uh and so i uh uh this is before the clr existed so we i built the prototype with um three things actually uh i had some c plus plus um uh that i was writing for the ice happy which is like the interface into is at the time which is a super unfun interface um and so that was or like you how you hosted it and that was still how asp.net was hosted for the first many many years and then there was a friend of mine i was actually my roommate at the time worked on the javascript engine at microsoft and he knew about this private version of the javascript engine that you could inject java objects into um and so you could write com interfaces for javascript um using the jvm or using j plus plus uh and it would expose it as i dispatch com objects which is another super unfun interface way back and so i was able to kind of build this object-oriented object model in java originally and then um you could kind of like you know inject it into the javascript engine and of course this is before javascript had types or a whole bunch of things but it basically meant you could use these things as objects and um i built like a parser i don't remember what language i used the parser in um and so it would it would you know read the asp.net page it would find javascript inside it and effectively hydrate a class object derived from these object-oriented java objects i'd created and it was kind of like you know a monstrosity of a prototype but it it worked and it it was such that you know you could literally create a back then xsp page stick uh i didn't have asb colon data grid but i had xsp goal and data grid and so i actually had a data grid control or a few other controls and then you could write the effect of you know page event handlers and javascript embedded in the page um running on the server side and it kind of all kind of all worked um and so that was the original prototype and i think i came back in january 98 without working and so it was sort of over the holidays that i wrote it mostly in my apartment and came back and showed that and then people said hey that looks kind of interesting and and um dimitri robsman joined i think in february or march on the team and became eventually the dev manager and engineering leader um for donette he's still uh adaptive today and um uh folks like david ebbo joined i think six months later and um you know it's nikhil and others and so it's you know it's been a fun journey yeah i did write on a plane so i think that's where the the rumor of i wrote something nbc what do you feel about blazer when you see blazer today and you look back to what you were doing and thinking about your apartment and then how the web is going you've got webassembly and now we're running.net in the browser in a vm inside of javascript like you think about things like that yeah i mean why i mean it's i i think it's all i mean i'd say a couple things i mean one is it's it's awesome to see how how much the world's changed technology-wise i mean you know this is um uh you know it's it's it sounds weird even saying i mean i haven't thought about the fact that javascript didn't even exist when we first came up with asp.net probably for 20 years so you know just is recalling this actually got me thinking about that and so you know just thinking about we've gone from there is no javascript or you can't depend on javascript too we now have a compiled webassembly running in an engine and you can you know use things like blazer and and c sharp to target it it's kind of uh it's supposed it's almost like science fiction how far it's coming at the same time it's kind of cool but you know when you look at asp.net and net today so many of the concepts and types and glasses and syntax are still around and so it's i'd say it's rare in the tech industry where you have something that a bunch of stuff that doesn't change over a you know we're coming up on was it 23 years now we're coming to 24 years next spring um uh and yet at the same time you know everything has changed and so you know it's kind of cool to see you know both the technology but then also the community i mean it's you know looking at the two scots here and looking at a lot of folks on the team i mean it's uh it's great to see that that community has been um you know so alive and so active for you know now we're in our third decade i mean that's i don't know but you probably haven't heard but i moved i recently made a big move in my blog to uh to azure i heard it was gonna be quite popular but my blog was web forms asp.net one one you remember clemens vasters wrote dos blog and so mark downey on the visual studio team uh with a little help from me moved it over to net core so i'm running.net core on azure still running dos blog 20 years of blogging and i was able to move it over and the cpu is like 0.1 percent and it's so much faster and i can't believe that i've reused 70 75 of the code that we started with back almost 20 years ago it's pretty awesome yeah it's you know and it's uh uh uh yeah we're not perfect by any stretch but it it's kind of cool to see kind of just you know this there's not many things in the tech industry where that's true i mean if you look at java or you look at other programming languages or you look at other tools i mean it's you typically the half-life on technology is measured in single-digit years and usually low numbers and um yeah i think it's both testament to the technology it's testament to the team and it's stuck you know really testament to the community and um yeah i think the other thing that that uh we've always tried to do in our communities is learn and so you know it if you can constantly evolve you can constantly survive if you ever stop learning or stop evolving uh in tech you're in trouble and um you know i love i love how you know even take the first version of asp on nbc the fact that we use the web forms engine you know in a perfect world we probably wouldn't have done that in the very first version but it meant that you know it was familiar and we brought people forward and then you know we changed to razer and you know evolved with.net core and blazer and it's you know it's a nice continuous uh set of improvements so the tech doesn't get stale but at the same time there's continuity so that you're not leaving people behind and you know it's it's a great approach to have in this world cool well thanks amelia and scott for being at the first.net conf which was mvc conf thanks for coming back 10 years later and hopefully we'll have you back in the future as well definitely now thanks everyone and uh thank you everyone in the community watching this in terms of everything you're doing as well and thanks to the two scots uh for carrying the torch and uh uh driving uh everything as well you know the way you are that makes an enormous difference and it's always fun to reminisce and love to come back anytime cool thank you thanks everyone okay cool all right thanks scott see you later so with that um thanks scott guthrie and now let's move on and talk about mobile um so xamarin forms five is coming out later this year with tons of new features like new apis for brushes shapes and paths letting you draw beautiful custom cross-platform uis across android ios and windows there's much better xaml experience because we've actually improved the intellisense and we have better diagnostics for data binding and then we've actually taken the hot reload feature and built rebuilt it from the ground up using the exact same tech that we have in wpf uwp and now in xamarin so we're giving you a fast consistent experience across all of the gy techs uh no matter what you're developing for um and the other cool feature about xamarin forms is you can start building cross-platform xamarin apps right now with just an iphone and a pc um and with that um how about we jump over and talk about uh the academy of motion pictures arts and science they are using xamarin.net to deliver a multi-device streaming service to their academy members that's how people can actually watch the movies and nominate them and vote on them they have pettadites uh petabytes of data and need to deliver a robust secure solution that can run on any device they were able to move uh their entire tech uh asp.net websites and middle tier services to azure app service sql server and azure sql um and they were also able to use azure devops to modernize their application infrastructure and development processes so we have a cool video that we're going to kick off now to show you how they did this [Music] [Applause] this is where i think this can't be in there but just for you guys [Music] i am bev kite i'm the cio of the academy of motion picture arts and sciences otherwise known as the oscars [Music] the mission of the academy is to recognize and uphold excellence in the motion pictures arts and sciences and inspire imagination and connect the world through the medium of motion pictures the margaret herrick library contains items from as far back as 1928 they began collecting almost immediately as an organization the motivation for digitizing is providing access to these incredible materials that the academy has it has about 10 million items in its library and over 100 000 items in its film archive it's a lot of movies it's a lot of moving parts the award submission processes were largely in disparate systems and the screening processes were largely through dvds so that was a difficult process for the academy members and was not really something that was forward thinking we wanted to build an app to get the best possible experience to our members and really get members involved engaged watching the movies and being able to vote it was the perfect timing the combination of wanting to actually stream the assets expand our streaming platform expand the support on multiple different devices and that's what led us to move up to the cloud the azure migration itself i think was about six to eight months of planning and effort we were a big.net microsoft shop so our backend systems were sql server iis dot net definitely app services we're taking full advantage of those we kept most of that as we moved this into the cloud when we looked at what technology we wanted to use to develop the apps we really felt that xamarin was a good approach for us because we have that existing api infrastructure in.net in azure we're able to improve our devops processes so substantially and use slots to actually switch out a build and put in place a new build so minimal downtime [Music] we get a lot of positive feedback from our members and it's been really fascinating because we have actually seen members stream when they are shooting movies in locations all around the world i'm so grateful for the relationship we've had with microsoft it's just been an amazing journey all of my team is so proud of what we've accomplished we're very focused on doing the best we can by the membership maintaining this legacy making sure that what we produce is beautiful powerful secure usable and highly available and the oscar goes to the example of a real world customer using.net for their platform uh and xamarin as well and next let's move over here and we'll talk about xamarin and i'll bring in maddie ledger to do a demo uh of the xamarin forms 5 stuff cool thanks scott if you're a net developer you can build beautiful cross-platform native ios android and windows apps with csharpen.net using xamarin we're making you more productive than ever with the new xamarin experience so let me show you this app i'm working on i built it with xamarin forms ui i've gotten really into buying plants this year but i always forget how to take care of them and i wanted to make an app to remind me how i'm not an app designer but i think it looks pretty good with only a few days of development so far the first thing i want to introduce you to is xaml hot reload 2.0 like scott said it's been rebuilt from the ground up to use the same tech as uwp and wpf hot reload that makes it blazing fast it adds support for xamarin uwp apps and it gives you the same experience you get hot reloading on uwp and wpf so i can change the background color here i get my rich intellisense and as soon as i have valid xaml my app updates and i don't even have to save and i can quickly change it back i like the light green better another feature of xaml hot reload 2.0 is the new live visual tree here it shows every page and element in my app you can see i'm using xamarin forms shell for my navigation and in this tab page i'm using some of the new xamarin forms five controls like the carousel view and the indicator view i can click on this icon right here takes me to where in my xaml it's defined all right this is only the start of the new productivity features we're bringing for xamarin developers so next let's look at data binding this app is supposed to show me the plant name up top right here it's a value of data binding but it's missing so there must be an error i can go into the new xaml binding xaml binding diagnostics pane by clicking this button right here bam pops right up i can see i spelt name wrong and before i fix that let me show you the same app running on android so i'm gonna stop that switch my projects like i said you can target ios android and windows with xamarin so i've got my android emulator up and running already i'm actually using my home computer right now it's got an amd cpu built it myself very exciting i can still use hyper-v to accelerate my android emulator here so it's faster than ever intel amd whatever you want this is actually uh my development workflow too when i have when i write apps i use vs i use my android emulator um and of course sometimes i plug in my device when i want to start playing with it uh unplug it show it to friends all that stuff so it's going to spin up here and what's important with this is that you're going to get the same experience no matter where you're debugging so i can see hot reloads initializing in the bottom left here my android emulator is thinking and it pops right up so let's fix that data binding issue i see right here it uh came up in the same xaml binding failures diagnostics window so i can go find it in my code wherever it is in this carousel view change it i'll clear this oh and i'll swipe to the next one in this carousel view refresh it there i go my title's right there with my nice custom embedded fonts in xamarin forms and i still have my live visual tree as well so it's the same experience that i just had on windows still got the same controls it's the same xaml running on uwp and android and let's talk about getting this app debugging on ios so i'm going to use a new productivity tool in the works called hot restart for ios and it lets me quickly deploy and debug my ios applications on my device from windows so i just face id unlocked my iphone i've got it plugged in right here i'm going to airplay it using this really cool tool called reflector which lets me screen mirror onto my pc and it always pops up on the other monitor pop it over here nice oh hello there we go nice so this is just my phone nothing fancy uh and i can go in now when i change the startup project make sure my cpu is to iphone and see my iphone as a target in vs right now so this is just plugged in over usb and i've connected my free apple developer account with visual studio so that windows can provision my device um and it's gonna build and deploy the debug version of this app to the iphone so my iphone pops up and uh to distribute this in the store i do need a mac but i actually have not built this app yet on my mac i have to update it and i don't want to so this has all been developed for ios on windows and it only takes a few seconds to deploy the app which is a vast improvement over creating the full package it usually needs for deployment so i can swipe through my app i can use the same things as i have been using on all the other platforms i've got my live visual tree i've got my my heart reload change that up thank you intellisense and it immediately updates so the best part about this is that everything i showed you today you can use right now with the latest visual studio 2019. so the version 16.8 comes out today and all these xamarin forms five features come later this year there's previews available now and you'll hear more about them in some of the talks later this afternoon and later this week so enjoy.netconf and get started writing your cross-platform mobile apps with.net and xamarin and now as we move on um let's talk about visual studio obviously we don't ship a new version of dot-net without having a new version of visual studio with a bunch of capabilities as well so happy to announce today that we have the ga of visual studio 2019 16.8 uh and there's now a new preview of 16.9 as well and bunch of new stuff obviously.net 5 is included in the box uh there's a bunch of productivity improvements one of my favorite ones is we have a bunch of roslyn analyzers that you can use and you just have to go find those somewhere on the internet they're now in.net projects by default another another cool feature in 16.8 is that a brand new git experience to make using get even easier inside of visual studio there's awesome support for linux debugging if you want to go build a.net 5 project and run it on linux you can do all of that in windows using windows subsystem for linux 2.0 um we have an improved xaml experience we talked about that a little bit in the xamarin and xamarin area and then another area that i'm super excited about is you can now take a net project and right click publish it not to a cloud endpoint but to github actions so you can have a full ci cd flow using github actions right from the tool super easy to use um and so there's that and a lot more included in the new version of visual studio that ships with net5 and with that i want to introduce kendra havens to come in and show us some of these cool new features thanks scott so i'm really excited to start talking about github code spaces i am excited to start on a new team because i have instant setup so visual studio is more connected to the developer cloud than ever let me show you what all that means um so github code spaces is currently in a limited beta so you do have to sign up for it but once you do you'll get this new box connecting to a code space and initialization is really easy all you need is your uh repository url and you can set up what instant types you want so if you get want to get more of that cloud power you can so i already have one set up and this is my ide connected to basically a cloud environment so all my builds my source code everything is happening or my test runs everything is happening in that environment and not on my local machine so i get to save my local resources my battery power i'm not limited by the hardware i have on hand and i didn't need to install a ton of dependencies every time i start working in a new repository so part of this magic is the devnet.json and there's a talk on this later with vixen andy tomorrow um but this uh automatically documents for all repo maintainers what uh this repo needs installed on its environment to run successfully so it'll go and grab the azure cli sql server um choco it'll run uh net tools to install uh yeah all kinds of things that'll automatically get for you so easy to get started so my first commit for this repo it looks like there's some code style that i can actually fix up and uh even though i'm new i know what this code style is because i'm getting prompts in visual studio to keep usings outside of my namespace i can change bar to use explicit type and i know what all the code style is because it's all documented in an editor config file so this file is at the root of your repo and lets you know what the code style is for this partic particular uh solution and visual studio can read it and then give you prompts as you saw the three dots and stuff i was using uh to uh yeah just apply consistent code style across your team um i've made a couple of edits so i can go ahead and save those and what i want to do is push so when i push um this will actually kick off a github workflow uh so let me show you uh what that looks like uh it's really easy to set up you can go and right click on your solution and go to our publish dialogues and creating one is super simple um lots of uh yeah i can even deploy to an azure app service on linux and it'll spin it all up for me i actually didn't need to leave this dialogue in order to um set up like my app service instance i just clicked this plus button uh so it loads that i already have and then i can publish this workflow file all through this dialog so let's take a look at the one i already have set up um so this is looking at uh yeah what branch uh it needs to be triggered on so as soon as i push if i go over to where this repo is on github and i click actions uh we should be able to see yeah there's my code cleanup action that was triggered as soon as i pushed um so it's running through a bunch of build stuffs right now so it's super easy to create um and set up it's actually running on ubuntu so and i had the latest uh dot net five version and it's running a bunch of steps that i've already kind of uh said that i want to do a dot dot restore i want to run tests so you can see it'll get to running tests there in a second but what i actually want to do since this app is running on linux normally before i deploy i'd actually want to get feedback from my tests from linux since i know that's that's the end target um but it's hard to do that from visual studio right now so i want to show you something that's super super new um it's not even in the preview right now everything else i've shown you is uh in the visual studio preview so i'll go ahead and switch versions uh because this is a very early sneak peek of remote test execution in visual studio so this is the idea of connecting your test explorer over ssh um so you could connect with wsl you can connect uh two containers you can connect to machines um on-prem or on server someday at some point we're very excited about it uh so how this works and and those those machines can run tests and your test explorer can get feedback from there so how this works is uh you have a new drop down i guess in the test explorer and this is specified in a sort of a test runtime.json and uh this one for example is pointing at a particular docker image that i have set up so when i go to my test explorer uh and i set it to linux it kind of rediscovers the those tests in the container and i can actually run from the container so you saw that i had a test uh that was running uh on windows it was passing and now it's run on linux and it's passing so and the windows is failing so it's just an example of how you can change your target environments and get feedback from uh machines that are a different target platform right in visual studio uh so if i go back to my pipeline uh looks like i've deployed i'm just publishing some artifacts and uh then i'll be good to go so i can go ahead and hit my app in uh where it's deployed and that's my little blazer memory game uh kind of the the classic card game where you try to find matching pairs so let's see that's a visual studio connected with the cloud making setup and scaling really easily with github code spaces and helping you create github workflows that can deploy your app to azure and manage your pipeline all from visual studio and back to you scott awesome thank you so much kendra so with that visual studio what's next let's talk about web and cloud development so um dotnet 5 includes support for building full stack.net web apps using blazer server or blazer web assembly blazer webassembly apps can now use the core framework libraries from.net 5 giving them full access to the entire net 5 api surface area runtime performance and blazer web assembly is two to three times faster than in previous releases also blazer webassembly now supports server-side pre-rendering to make your pages load a lot faster the very first time and lazy loading of app dependencies so you only load stuff as you actually start hitting them um and what i'm going to do now is i'm going to have dan roth come in and show you some of these new awesome blazer features in a second before i get to dan i want to start with postage postage is a startup company created around an application that could help people with end-of-life planning the founder and ceo had lost three family members in a very short period of time and she wanted to create an affordable solution for people uh they could spend time grieving not chasing down all the massive amounts of paperwork now they used net and visual studio to build a solution using asp.net blazer xamarin and azure to rapidly create a a secure solution the coolest part about their project is they were able to save time and personal cost using.net end-to-end because they could develop all the pieces in c sharp uh which reduced the amount of code they had to write significantly and with that let's show a video real quick [Music] in september of 2018 i lost both grandmothers and my cousins 13 month old there were things that we didn't think about how are you gonna get information on their pension or their 401k really you should be focused on unprocessing that loss and celebrating life i started the postage because i just knew there had to be a better way the post is it's really a platform that allows you to organize your affairs whether it's your assets your passwords your memories the postage provides that there are a lot of technical challenges when it comes to building a platform that is going to host so many important documents for people we need to be able to store all that and we need to keep it all in a secure environment we need to make sure that it stays up all the time we chose to go with microsoft because they had everything that we needed in order to deliver on our promise for the customers we use azure devops to create our pipelines and do our releases we leverage azure sql azure storage cosmos db we're focused on blazer for our web technologies and xamarin for our mobile technologies with laser it gave us the opportunity to have both the front end and the back end done by the same people we're able to get web applications that are written in c sharp it used to take us so much more code to write it's amazing we ended up having a beta back in june 2020 getting a 61 conversion rate we went out of beta in september and have been in full launch since we're really excited about where we're starting off but we've got a long road to go and and i'm really excited to help our users change the way they plan for the future [Music] cool and that's a great example to start up using blazer to build an awesome application and so with that i want to introduce dan roth to come up and show us a demo of some of these new features in blazer on.net 5. all right thank you scott hi everyone blazer is your web ui framework for building single page web apps with just.net no javascript required let's take a look at what blazer in dot net 5 has to offer so don f5 includes support for both blazer server and blazer webassembly as you can see here in visual studio now previously if you were building a blazer webassembly app i have an old one here you would target net standard but in.net 5 by comparison we now target net 5 and you have access to all the.net 5 apis using the same core framework libraries used on the server and desktop this is the beginning of one.net and we expect that xamarin will make a similar move for net 6. now just because you have all those apis available it doesn't mean all of them work in the browser that's because blazer still has to run in the browser security sandbox but fortunately the new compatibility analyzer will let you know when you try to use an api that's not going to work in the browser for example browsers don't have a console that you can read from so if i try to call console.readline from my blazer webassembly app you can see i get a nice warning here letting me know that that api is not going to work in the browser cool performance is also significantly improved in blazer webassembly in dot net 5. component rendering and general runtime execution are two to three times faster this is thanks to optimizations across the stack including in the webassembly runtime the core libraries and in blazer's rendering engine we've also made it so blazer webassembly apps load faster so here's my.net 5 blazer webassembly app i'm going to mash on the refresh button and you can see that it appears to load almost instantly there's no loading dot dot dot and this is because in dot net 5 we've added support for blazer webassembly pre-rendering let's go look at the code in the server here in this host.cs html file this is just a razer page we're running rendering the component for the app and we're using that new blazer webassembly pre-rendered functionality this gets pixels on the screen as fast as possible while the runtime is downloaded in the background blazer also now has built-in support for component virtualization to speed up rendering of large lists of data let's go back to the app and i've got this fetch data page um it's a little different let's imagine now we're in the future when we can predict the weather as far out as we want uh this table of weather forecasts has almost you know 10 000 rows let me bring this up side by side with visual studio let me grab yes all right let's take a look at the fetch data component all right and so here we can see the new virtualize component which will only render the data that is currently visible on the screen it will also only fetch the data that needs to be rendered at that given point in time so if we go back to the browser let me f12 to bring up the browser dev tools now watch as i scroll down we can see that requests start being sent to request just the data that needs to be shown on the screen and just those rows are then rendered and that makes the table rendering and scrolling fast and smooth now.net 5 is also about making building component libraries easier and in blazer we now have support for css and javascript isolation let me go back to the project so here in this solution i also have a component library a razer class library down here at the bottom and this has a very simple component let me actually make this bigger again here's a very simple component that just has a div very simple but you'll notice down here at the bottom it's got its own css file a file let me open that up for you these are styles that will apply just to this one component so they won't affect other uh the styles of other parts of the application also when i reference this component library from my application let's go to the let's do that let's go to the you know i'm going to use the component from that class library for my index page all right so i don't need to actually reference those css styles they'll be brought in automatically so what i'm going to do here is i'm going to add my component from the homepage of the app and i'm just going to click save and vs is going to do something cool here watch the tab see the little icons it automatically refreshes the browser for me and there's my my component it's showing up with all all of its css styles without me having to add anything i love that new live refresh feature in visual studio where watch for code changes rebuild the app and auto refresh the browser for me that same functionality is also available from the command line now using.netwatch now speaking of component libraries no blazer app would be complete without a great set of ui components i've been working on this little application here and blazer component libraries are available from all the major component vendors and from many great open source projects this is a little project that lets me log into github and then search for uh github issues in a given given repo i've got this little auto search box let's pick the acemic core repo it's rendering a table and a progress bar down at the bottom rendering all the issues from from the acemic core repo and i can you know filter and search and do all these things so this app is using components from all sorts of great uh component vendor fraud libraries and also from the project also from the uh open source ecosystem so we've got this blazer type ahead component that's what's that using i'm using for that search box we've got the devexpress grid going on here got the sync fusion progress bar this triage editor is my own component but that's using the blazer strap modal dialog then inside there we also have this label selector that's using the reds and select bar there are awesome components from grapecity and infogistics i think scott showed teller components earlier with wim forms so we thought it was only fair to show some of the other component vendors as well though telerik also has great laser components too so no matter what kind of web app you're trying to build blazer in.net 5 has everything you need back to you scott thanks daniel okay let's talk about cloud native investments this has been a huge area that we've focused on in.net these last couple years i want to talk about rest apis first dot net 5 brings full support for open api directly into your web apis meaning you can actually build test much easier and publish these things to things like azure api management uh as well plus you can do client generation the swagger generated by open api lets us actually generate the client for you so just like you could in wcf in the past you can create a web api and then right click and create a client to call it all built in um super excited about that grpc lets you build high performance contract based apis this is more similar to wcf and we do the same thing for you as well basically you have to write what's called a protofile which describes your api and then we'll generate the server-side code for you and the client code to call that server-side code automatically and as i showed earlier in the slides we have world class performance here so super super awesome performance let's talk about some more uh investments smaller faster micro services um one of the cool things that we've done in net 5 is for the first time ever you can take an asp.net project and select that you want to link it and trim it um and that will generate basically a small 20 meg self-contained application that requires no.net on the machine at all to run another cool feature we've written is something called top level programs let's let you get right to the code you can build your web api or your grpc much smaller and much faster by removing all the boilerplate about having a class and a main and that kind of stuff uh you can build a micro service in about 10 lines of code in net now and then one of my favorite areas here is you know you probably heard of containers and kubernetes and docker and all those things we have a cool project we're working on right now called project tie which makes it super easy to build debug and deploy microservices very quickly we'll do a demo of that in a second and then i mentioned earlier in the tools we have support for cross platform development with wsl2 and linux and then we're also building a high performance reverse proxy um as a project to seed into the into the cloud native foundation now this is probably the most exciting thing for me to say today is um we have.net 5 available in azure app service today you don't have to wait uh you can start using your.net 5 and azure app service right now the only only caveat you need to be aware of is you will need to create your service in the portal first you can't create that inside of visual studio yet but if you go to the portal create a.net 5 application you can then use the visual studio tools publish it right up and start using the application today and with that i want to switch over to brady gaster and have him do a demo of building apis on.net 5. thanks scott i am really excited to show this today i'm not quite as excited to show you this as i am about what you just said about uh.net5 being on app service on day zero this is a pretty close second so i'm an api developer and uh one of the things that i've tried to do on the team is to make it easier for other api developers like myself so like scott said i want to go ahead and show you something brand new and the web api project i'm going to go ahead and make a new weather api here i'll hit create and i'm going to go ahead and make sure that i select a hdnetcore5.net5 here in ds you'll see that i've got the asp.net core api project selected and look here this checkbox enable open api support it's checked by default that's because api developers really ought to be using open api or swagger if you know it as i know it uh to be describing their apis so that people can like scott said generate clients import them into azure api management use them with third parties and build power apps with them we have all kinds of capabilities we'll talk about tomorrow in another session but first thanks to the fantastic open source project known as swashbuckle we've worked closely with that team you can see here that your package references now include swashbuckle asp.net core which looks at my web api controllers and generates the open api right by default just like we used to do with asmx files and wisdom i'll go ahead and open up this controller show you it's just a normal controller put a break point right here but before i hit f5 one thing i'm going to do is i want to make sure that i've got my browser selected i do so i've got edge selected i've got a couple of other targets there go ahead and leave that selected but before i run this i want to open up launch settings json and what you'll see here is that we've got the swagger ui page now set is your default startup page in the old days you just land on a blank page we made that a little bit better and we set it up so that you would land on the get output of an api call but we know that people like to do other things other than get so we wanted to make all of that a little bit easier for you so now that i've got that if i can find my mouse again i go up here and i'll just go ahead and hit f5 and what you'll see is going to go ahead and start the app up in is and it's going to pop up in my browser and here's my browser right here it's going to go ahead and launch this directly into the swagger ui page and remember that i've got that breakpoint set over here in my controller flip back over here oh that's odd that would happen now so there there we go i'll go ahead and open this up i'll click try it out and if i hit execute you'll see right right in that method already but we didn't stop there we wanted to make it easier for you to do a bunch of other things as well so what i want to show you now is how we've been able to add in the ability for you to do uh more stuff when it comes to more complicated requests i'll drop in a post here some code that i already have pre-written in another window i'll put the breakpoint here one more time and this time when i run it what you'll see again is that we've looked at that controller we've already generated the post request if i hit try it out we've already generated the payload and it's pretty cold at my house it feels like it's 10 degrees fahrenheit so it's like pretty cold so right now i'll just go down here and i'll click execute and you'll see that that payload comes right through right here inside of my vs editor and final thing we did i want to show you the last thing we've actually updated the.net http repl which is a fantastic.net global tool that you can use from the command line to test your apis now i'll hit f5 you'll see that that's now going to open up directly inside of my http reply and if i just really quickly do an ls or i could do a der if i'm more uh focused there we go and i'll cd into the weather forecast and then right here i can do a get and then there's all the stuff or if i wanted to i could do a post my favorite editor will open up i'll just leave it here say burr because it seems cold close this and when it does the post you'll see there is our payload coming right over we think this is going to make it a lot easier for folks out there like myself like you who are building apis to share those apis with other platforms and to use them in the power platform publish them to azure and generate clients for it we hope that you take a take a look at this and come to the session tomorrow to learn more back to you scott thanks brady so next let's talk about project tie this is a really cool piece of tech that uh it's in prototyped or preview now and we'll ship it in the dot net 5 time frame the first thing that it does is it makes it easy to build debug and deploy microservices with net and it starts in one way as you start building more than one application how do they find the ip addresses and ports of each other and so it has service discovery it also has the feature of being able to you know let's say you're building a microservice and you want to depend on sql or something like redis cache do you want to install that locally probably not i don't want to put that on my dev box uh well you can just add these dependencies to your tie project and we'll automatically go and grab the containers and run those things for you automatically without putting them on your box where they could uh you know mess your box up next is i want to be able to run and debug these things um you know using kubernetes and containers i don't even have to know anything i can just actually just tie run these things and it'll just do that stuff for it then the next thing is what if i'm building my application locally and i'm running all these multiple applications well how would i find the logs how would i find the ports and ips of all these things how would i find the perf counters well we give you an awesome dashboard you can find all this information super easily and then finally how do you take all that and easily deploy it to the cloud thai solves all these things for you and i'm super excited to have this shipping in.net 6 next year and with that i want to introduce david fowler to come and do a quick demo of project tai hey everyone let's talk about tai all right so here i have the world's simplest um microservice the front end and the back end um the front end itself is um a simple application that calls the back end and renders a simple page um the backend is an api it has um weather information and the friend calls that so the first thing we'll do is look at the startup class here and you can see um there's a call configured to get the backend address as scott was saying if you run a ton of applications locally you end up having to have on ports for free service title resolve the correct port for the the service name back end without having to worry about that that um that issue so my app runs locally let's see um let let's start the application typically i have to to go here to the solution click on properties um click on this start and projects um that run locally and the command line is even harder i have to open um and consoles um run each application in the right order and start the application what if i could run a single command to launch it so my app is here on the console i can do tire run to launch the application and it boots up the application um and it gives me a nice dashboard to see what's happening so it builds up projects launches each one and now i can open up localhost before 8000 to see what's happening on the um application let's do that so ty gives me a dashboard that shows me my service is running you can see i have the front end and back-end service running i can see the source of the project i can see the address and bindings i can see the replicas restarts and logs um let's make sure the app is working so i'll hit the front end and the front end page works well you know hit f5 and it purchases the page and and temperature um so that's working the front end hits the back end gets information and and shows a table of weather information um now let's do the logs for this service to see what was happening um this is very handy in case i'm i'm trying to debug issues that may i may have many running services locally as you can see it's making a request from the front-end to the back end api to get weather information here i'm returning at 200. that's all good i can also get metrics as scott was saying for my application so you can see i have counters here for asp.net core net core and other other things um my application is so efficient on f5 that my fragmentation for gc is none all right so the app is is now um local and running let's get this application into the cloud um quickly so to get it into kubernetes i need to create docker files for each application um one for the front end one one for the back end push somewhere and then i have to um learn kubernetes write manifest for kubernetes what if i could automate all of that with one command so i'll run ty deploy dash i and it will automate those steps for me so i'll give it my docker hub account to push my images there and it will build projects create container images deploy those to docker hub under my account with versions um create kubernetes manifest for each service and apply it to the current kubernetes content on my machine um which is which happens to be an aks cluster running in azure um right now so it's finishing up the deployment as you can see that's pretty quick i can run crew control get paused to show that that is running in the cloud so my app is running in kubernetes two pods are working let me show you the services so as you can see i have the front and back end running um but they only have cluster ips so i can't even i can't access these from my local machine because they're only um internally visible so i'll run a command here that is on port forward which lets me push traffic from my local machine to kubernetes without without having to expose it on port 8080 so i'll go in here and i'll run localhost port 8080 and it will show the application running so this is running in kubernetes and azure but i'm being forwarded to my local machine via port forward but what if i want to export it to everyone in the conference let's do that so i can run tie init to create a taiyama file and yaml is where i can actually do things like add dependencies of containers configure ports configure connection strings and environment variables um but i'm going to add a simple ingress rule right here now to my application and this rule says whenever somebody hits my cluster on the main page i'm run to the front-end service so very simple rule and this runs locally and remotely but i'm going to to redeploy the application though so i'll try to deploy dash i to push it back into kubernetes and it's running publishes the front end first on the back end it's going it's going it's going and it will recognize these new ingress rules and apply those two blankets as well and we'll see that in just a split second verifying installation there we go it's all running subject hoop control um get ingress i'll have an ingress rule now added but the address isn't there yet so this normally takes a couple of minutes to show up sometimes so instead i'll look at the services and get the ip address of my load balancer which is the same thing and now i have my app running in kubernetes on aks publicly exposed to anyone please don't hack me at the moment when you're finished you can run tie and deploy to tear down the resources and kubernetes that were created and they should clearly tear down things that were added by the tool and if i could control get all i should see no resources they're being terminated at the moment and they're gone so if i f5 here it's all down and clean and torn down awesome thank you scott so much david it's an awesome demo showing how fast you could build microservices with nets and get them running in kubernetes so now what's next what's going what are we doing going forward last year we shared a broad vision of a singular.net stack and ecosystem we're happy to report that we have now have the foundation in place to deliver on that vision in.net 6. and we'll continue to unify the platform the next wave of releases we're working towards a single sdk one set of base class libraries and a unified tool chain you saw today that down payment today in blazer in.net 5 now uses the.net core libraries instead of the mono libraries and we'll bring that next to the xamarin workloads in.net 6. we plan to deliver amazing unified tool chains awesome cross-platform native ui with.net maui you saw today some of the amazing cross-platform web ui with blazer um and i hope to have blazer running on the desktop in the future as well um you saw some of the cloud native investments we obviously will continue to work on performance and diagnostics and stuff like that and i believe that net will provide the best breed uh solution for all modern workloads when we're complete of this journey now now that.n5 is out today going forward you're going to see we always have a release every year and we do this because we want to make it very consistent and so you understand when the next version of.net is going to come and when our open source partners know when the next version.net is going to come you'll also notice that every other year is a long-term support release but i will tell you moving forward our goal is to make it very easy to move from version to version so you shouldn't have to think you have to wait for an lts you should be able to jump right on.net 5 today it'll be supported for the entire year um and then just move to.net 6 next year when it comes out so net 5 is available today go and download it i i will i do want to mention that the release of visual studio 16.8 was delayed just a little bit um it was supposed to come out uh at eight o'clock uh pacific standard time when we started this uh conference it's now going to come out around 10 o'clock so it's about 30 30 to 40 minutes from now it should be available and so when it's out go and grab it and with that i want to thank everybody for joining joining me today and please watch all the other sessions as i said we have a hundred amazing speakers across 80 sessions over the next couple of days go try.net5 and thanks for being here
Info
Channel: dotNET
Views: 33,053
Rating: undefined out of 5
Keywords: .NET
Id: o-esVzL3YLI
Channel Id: undefined
Length: 81min 45sec (4905 seconds)
Published: Thu Nov 12 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.