Monday 21 October 2024

.NET 2015 Overview

hi I'm Jay smells er the director of program management on the.net team in this video I'm going to provide an overview of dotnet 2015 and related updates and visuals to do 2015 update 1 first let's talk about the way we approach our investments in the.net framework it really centers around three primary pillars the first is ensuring that we're providing a dotnet application platform that meets the needs of the applications you've been developing and the direction that you need to take those going forward as well as providing a platform upon which you can build the next application that you're being asked to create we're also ensuring that we do this in a way that is open transparent and collaborative with the application development ecosystem finally I wanna ensure that we're creating a platform that not only can be used to be great applications for Windows but Apple any application deployed to any platform we talked about dotnet 2015 we're really talking about two framework profiles the dotnet framework for 6 or what I typically refer to as the full framework this is the version the dotnet that we've been working with and you've been building applications on for years provides everything you need for building applications from desktop applications through high scale web services a little over a year ago we introduced dotnet core an optimized framework designed for today's modern application types across all of this we have a set of common investments investments in things like the runtime the compilers and core library packages that extend the experience and apply to all types of applications so let's drill into each of those areas starting with the the common layer across across all let's talk a little in the runtime in the runtime one of the big areas of investments in net 46 was around the new 64-bit JIT compiler provides increased performance of applications and the opportunity for us to create new and interesting libraries for example support for sim D in the language space we invested in a faster compiler we've invested in creating a set of language features that smooth the overall language usage and programming experience we don't have big paradigm shifting features like a sink or link in this release instead we focused on the things that just make your life easier as a developer things like string interpolation or the name of capability in visual studio we focused a lot on continuing to have the best of muggin experience in the world we used to call it the Cadillac of IDE s I think now we probably refer to that as the Tesla of IDE s and really expanding that experience that you could take advantage of modern language capabilities like lambdas and Link while working in the debugger and finally in the core compiler space we have the new Roslyn compiler the re-implementation of the c-sharp and vb.net compilers that exposes the intimate details that the compiler has of your application to tool vendors allowing tool vendors like ourselves with Visual Studio and the ecosystem to create richer and more immersive experiences for your application developers a couple great examples of where this comes into play are around code analysis or we're now able to move beyond just static code analysis and get into semantics understandings of what your application is doing providing even richer set of tools for ensuring you're building the best applications you can for library and framework authors we have what we refer to as coda where frameworks the ability to include a compiler extension with that library that gives an interactive experience for using the library using the framework in the way it was intended and flagging users that may be not as optimal including the ability to offer fixes to the developer right within the IDE if we move up a little bit and talk about the application types that that sit on top of you know these runtimes we see that we there's a number of different things we have first we have a couple great desktop UI presentation stacks Windows forms is a great UI platform for building Windows desktop applications it's actually probably one of the most complete platforms we have it's a great set of experiences across the design time the runtime and the third-party ecosystem for supporting create great desktop applications the team is focused on the fundamentalism in this stack really bending our energy and ensuring that we're providing the best performance work in the most current hardware platforms addressing that the key bugs that you as customers have told us about WTF is another great desktop presentation technology stack we continue to invest heavily here in performance as well as modern hardware so doing investments around high DPI resolutions improve touch support and so forth we also in Visual Studio 2015 really made a lot of investment from the tooling experience for WPF in this case took a lot of the great experiences that we created for Windows Universal projects and the diagnostic tools and made them available for WPF developers as well we also took technologies and approaches we used in the web design stack and applied them to WPF doing things like allowing the application and the surface if the application to be used as the designer as the navigation tool for figuring out where these UI elements were coming from and of course the Windows Universal platform the universal Windows platform really allowing us to create a single runtime a single designs API surface that can work across the full family of Windows devices from small embedded Windows devices to phones all the way up through large wall mounted displays X boxes and so forth as part of this we've brought to market the dotnet native experience dotnet native is a compiler technology that allows us to extend the dotnet compiler tool chain so rather than stopping with the intermediate language we now hook up the back end C++ compiler and produce a native binary as a result this is the same c++ come back in compiler that you would use if you were a C++ developer so you get the optimizations of a C++ application with the productivity of a c-sharp and net developer experience of course it is a heterogeneous world up there especially in devices and we want to make sure that dotnet developers are able to use those skills to build native iOS and Android applications taking advantage of their existing C sharp and dotnet skill set we do this with a great partnership we have with the folks at xamarin they enable you to extend that's those skills to build native iOS and Android applications while also having an opportunity to do reuse of code across the specific implementation so it's the best of both worlds you get a 100% access to the platform API specific to iOS or Android but you can share a lot of the common code that exists across all valves and all those implementations and of course for the web developer there's asp.net 5 this is the new re-envisioning of the a sprint net web stack to create designing it for more modular use designing specifically around new modern cloud workloads giving you the ability to create a consumes only the components of the framework that you you actually need giving you smaller deployment sizes which result in higher density on the servers you're deploying to we've dramatically improved the tooling experience to continue ensure you have the most productive experience when building web applications with Visual Studio and asp.net now let's talk a little bit about dotnet core data core is really there to move net beyond Windows historically when you think of net you think about it as a platform built for building great Windows applications with dotnet core we're breaking that we're changing the mold there and we're making dotnet be a technology that can be used by any developer building any app on any platform we're doing it through a few core design principles specifically we've designed a net core to be modular from the beginning it's all package based rather than thinking about assemblies you think about packages and you allow nougat our package manager to ensure you have the right packages available and the right dependencies that your application requires we also designed net Cora with specific workloads in mind specifically modern workloads so things like Universal Windows platform ability to work across devices as well as the modern asp.net web workload and dotnet core is the implementation of dotnet that we've implemented entirely and in the open working in github and his supports cross-platform so the ability to build and he's been in application and deploy it to a Linux environment or build it on a Mac we think about dotnet open source it's not just about the source being open it's about how we go about building the software it's about how we the approach we take to designing the product we've done a number of things over the last year we've really started to to see increased maturity in the team in the way they work so we see everything from the early design ideas around the next version of the c-sharp language being posted out on github and having conversations with you as the community of developers about the direction we're taking the language we see every pull request that's made whether it's from a Microsoft engineer or an on Microsoft engineer go through the same open code review process in the public so everyone is learning from the best practices that we have the contributions and the reactions we've seen here have been tremendous we've seen everything from a big portion of the Mac platform abstraction layer for the common language runtime to fix this - error message strings coming from the community and everything in between we've also seen this way we work have an influence on the way we work with other platforms a couple weeks back we saw the first merge requests going into the Linux kernel that referenced the Microsoft core CLR project as one of the justifications for making a change to the Linux kernel that's just a tremendous example of the kinds of new collaboration that's happening across our industry to give you more of a feel for it let's take a look at what the new dotnet core experience looks like for someone trying to develop an application on a Mac in this demo we'll take a look at building an asp.net 5 application on.net core on a Mac now i've already gone through the steps to install both asp.net 5 and dotnet core so i have a set of commands that are now available to me as part of this experience one of them is a dotnet version manager so I could say D nvm list when I see our list of the versions of.net core and aims but not that I have available on this machine here's how you can start seeing that side-by-side support that we now have with the.net core implementation in this case beta 8 is the active installation on my machine and that's the one that we'll use by default for any commands to create an application I can take advantage of the asp.net extension to yeoman and just say yo asp net which will launch ilmin and our asp.net generators will choose the basic web application give it a name I'll call it hello connect and that will now scaffold out the basic files we need for our asp.net application so let's go change directories to that we can take a quick look and we see that it's generated the basic set of views controllers and project files that you would expect for an asp.net 5 application next thing we need to do is just restore the packages used for this application in this case we'll probably grab a lot of them out of the cache so you can looked at the project file and has done that the last thing when you do is we'll just launch this application by typing DNX web what this is going to do is launch a lightweight cross platform a sprinter net host we have called Kestrel now that is up we'll switch over to our browser and we'll just go to localhost and here we see our asp.net 5 application on dotnet core running locally on my Mac that was a quick summary of the Ares investment in dotnet 2015 hopefully it gave you some insight into the kinds of scenarios we're going after and the things were thinking about this is a collaboration so I encourage you to get connected with us work with us and github work with us in the code track the issues comment on the designs follow us in social media via Twitter or just engage reading and commenting on the blog whatever mechanism is best for you get involved get connected thanks a lot for watching

No comments:

Post a Comment

ASP.NET Core 2.2

hi my name is Glenn Condren I'm a program manager on the asp.net team and today we're going to talk about some of the ...