Three Runtimes, one standard… .NET Standard: All in Visual Studio 2017

Slides:



Advertisements
Similar presentations
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Advertisements

Introducing NativeScript [Pavel Kolev Software Telerik: a Progress company]
The Windows 10 App platform: an introduction to the UWP Andy Wigley b:
Building Complete Web Application Using ASP.NET 3.5 & Visual Studio 2008 Omar Khan Group Program Manager Visual Studio.
跨平台 Hybrid App 開發簡介 - 使用 Visual Studio Tool for Apache Cordova + HTML/JavaScript 陳葵懋 (Ian)
61% YoY Growth.NET Active Developers (VS 2012+) 40%.NET Core downloads by new developers 62% GitHub contributions from outside of Microsoft (corefx.
What is it all about? .NET MeetUp in Prague, CZ (2017/7/19)
Whats New Xamarin and VC++ with VS 2017
Top 10 Entity Framework Features Every Developer Should Know
12/29/2017 2:33 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Modernizing your. NET applications with. NET Standard,
The Xamarin Promise - Realized
Xamarin Studio Xamarin Curriculum for Xamarin Studio
Unleash .NET 2015 in your apps
Introduction to ASP.NET Core
Learn. Imagine. Build. .NET Conf
5/15/2018 5:43 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
DotnetConf 9/10/2018 7:49 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
About Bill Bill Baer (ˈbɛər)
ASP.NET Core: Web apps, cloud apps, and containers
TechEd /1/2018 7:56 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
6/2/2018 4:08 AM BRK3327 Ten things you didn't know about building .NET UWP apps in Visual Studio 2017 Daniel Jacobson Program Manager – Visual Studio.
6/8/ :30 AM BRK3304 Modern .NET: Cloud, Containers, Microservices and Mobile all in Visual Studio 2017 Scott Hunter, Director PM Kasey.
The Future of C# The Future of C# and VB 2-577
The Modern ASP.NET Tech Stack!
ASP.NET Core* 1.0 The Future of Web Apps Shahed Chowdhuri
Getting Started with Visual Studio Tools for Tizen
Building Innovative Apps using the Microsoft Developer Platform
SQL Server Data Tools for Visual Studio Part I: Core SQL Server Tools
DNN Connect 2017 Microsoft Keynote
Introducing ASP.NET Core 2.0
Microsoft Virtual Academy
Learn. Imagine. Build. .NET Conf
Learn. Imagine. Build. .NET Conf
.NET Standard Jon Galloway | Executive Director, .NET |
MVC in ASP.NET Core: The new kid on the block
Explore web development with Microsoft ASP.NET Core 1.0
What is it all about? .NET MeetUp in Amsterdam, NL (2017/7/11)
Microsoft Build /11/2018 2:12 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Ignite NZ October 2016 SKYCITY, Auckland
Building Modern Web Apps with ASP.NET MVC 6
Explore web development with Microsoft ASP.NET Core 1.0
Slides and images stolen from “real” .NET Conf. presenters
DotnetConf 11/14/2018 3:27 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Overview of the .NET Platform
Microsoft Ignite /14/ :21 AM BRK2101
Microsoft Build /15/2018 6:28 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Connect /17/ :34 AM
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Learn. Imagine. Build. .NET Conf
Windows 10 Preview Andy & Jerry
Office 365 Development.
Entity Framework Core.
Learn. Imagine. Build. .NET Conf
Microsoft Connect /1/2018 2:36 AM
Modern cloud PaaS for mobile apps, web sites, API's and business logic apps
Angular in the .NET World
Serverless Architecture in the Cloud
TechEd /22/2019 9:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
.NET Conf 2018 Keynote Jose Barbosa Aaron Amm Theeranit.
Silverlight 2 Mike Taulty Developer & Platform Group Microsoft Ltd
Build /15/2019 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
7/19/2019 2:53 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Mark Quirk Head of Technology Developer & Platform Group
The Future is Now with ASP.NET Core 3.0
Running C# in the browser
Blazor A new framework for browser-based .NET apps Ryan Nowak
11/11/2019 1:15 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
ASP.NET Core 2.0 The Future of Web Apps Shahed Chowdhuri
What’s ASP.NET 5 and Why? Scott Hunter | Director of Program Management Scott Hanselman | Principal Program Manager.
Presentation transcript:

Three Runtimes, one standard… .NET Standard: All in Visual Studio 2017 B8001 Three Runtimes, one standard… .NET Standard: All in Visual Studio 2017 Scott Hunter – @coolcsh Scott Hanselman – @shansleman Kasey Uhlenhuth – @kuhlenhuth

Open source momentum Community PRs by month “Samsung is embracing .NET because it is a completely open source project.” "ASP.NET is open source, that allows us to contribute back to it if we have any performance issues which Microsoft review and together we make a better product.“ — Illyriad Games

.NET Core Support on Tizen Build Tizen apps for mobile devices and TVs with .NET Core and Xamarin.Forms Preview #1 Mobile Nov 2016 Preview #2 Mobile/TV Jan 2017 Preview #3 Mar 2017 Preview #4 June 2017 Official Release End of 2017 Visual Studio Tools for Tizen Supports everything you need to develop Tizen apps with .NET https://developer.tizen.org/development/tizen-.net-preview/

.NET is active and growing .NET Core debuts at #3 most loved Framework on Stack Overflow Technology Survey 2017 C# is #3 most popular language for desktop and web developers on Stack Overflow Technology Survey 2017 Source: http://stackoverflow.com/insights/survey/2017

Customers and the community are talking about .NET Hacker News appearances of .NET or Visual Studio products (bars are count of articles, line is total votes) “Using the same-size server, we were able to go from 1,000 requests per second per node with Node.js to 20,000 requests per second with .NET Core.“ — Raygun “Developers can reuse their C# skills to build native Android, iOS, and Windows applications that deliver the right information to the right person at the right time.“ — Alaska Airlines “We believe .NET elegantly handles the trade-off between developer productivity and application performance.“ — National Instruments “The Microsoft technology made it easy for us. It just works. We saved months of development time in the process.“ — Stackoverflow.com

Building your .NET

“I want Guidance.” Microsoft Build 2017 12/12/2017 4:28 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

.NET Architecture Available now at: https://dot.net/architecture eBooks & samples: Web, Containers, mobile Patterns: Health checks, queueing More books and patterns coming…

Announcing .NET Conf 2017 September 19–21 Immerse yourself in the world of .NET Join us for 3 days of free online content, brought to you by the .NET community and Microsoft product teams For more information: http://www.dotnetconf.net

“I want to share .NET code across all the .NET flavors.” Microsoft Build 2017 12/12/2017 4:28 AM “I want to share .NET code across all the .NET flavors.” © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

.NET Standard library One library to rule them all .NET Standard 1.x 12/12/2017 4:28 AM .NET Standard library One library to rule them all Learn one API across ALL .NET platforms Reuse your code across ALL .NET platforms Easily consume third-party/OSS libraries across ALL .NET platforms .NET Standard 1.x Evolution of Portable Class Libraries (PCLs) with a much simpler model Two constraints: API surface relatively small, because .NET Core was small Can’t reference the vast number of libraries already available for .NET Framework © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

.NET Standard WINDOWS DESKTOP WINDOWS UWP CLOUD MICROSERVICES IOS, ANDROID .NET STANDARD INFRASTRUCTURE COMPILERS LANGUAGES RUNTIME COMPONENTS GAMES/ 3D Visual Studio Visual Studio for Mac Visual Studio Code .NET Standard allows sharing code, binaries, and skills between .NET client, server, and all flavors .NET Standard provides a specification for any platform to implement All .NET runtimes provided by Microsoft implement the standard

PORTABLE CLASS LIBRARY 12/12/2017 4:28 AM Nothing changes MY .NET FRAMEWORK APP MY .NET CORE APP MY XAMARIN APP MY STANDARD LIBRARY EXISTING .NET STANDARD LIBRARY EXISTING PORTABLE CLASS LIBRARY EXISTING .NET FRAMEWORK LIBRARY © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

How does .NET Standard work? Microsoft Ignite 2016 12/12/2017 4:28 AM How does .NET Standard work? .NET Standard is represented by: The NuGet package NetStandard.Library which contains The reference assembly netstandard.dll At build time .NET Standard bridges references to existing .NET Framework and PCL assemblies via type forwarding At runtime Each platform provides an implementation for netstandard.dll that type forwards to its implementation © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo: .NET Standard

Announcing .NET Standard 2.0 (Preview) 12/12/2017 4:28 AM Announcing .NET Standard 2.0 (Preview) Has much bigger API surface Extended to cover intersection between .NET Framework and Xamarin Also makes .NET Core 2.0 bigger as it implements .NET Standard 2.0 +20K More APIs than .NET Standard 1.x Can reference .NET Framework libraries Compatibility shim allows referencing existing .NET Framework binaries No recompile required – also covers existing NuGet packages Limited to libraries that only use APIs that are available for .NET Standard ~70% of NuGet packages are API compatible © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

APIs in .NET Standard 2.0 XML SERIALIZATION NETWORKING IO THREADING XLinq • XML Document • XPath • Schema • XSL SERIALIZATION BinaryFormatter • Data Contract • XML NETWORKING Sockets • HTTP • Mail • WebSockets IO Files • Compression • MMF THREADING Threads • Thread Pool • Tasks CORE Primitives • Collections • Reflection • Interop • Linq

“I want to use existing code with .NET Core.” Microsoft Build 2017 12/12/2017 4:28 AM “I want to use existing code with .NET Core.” “I want to reference .NET Core like .NET Framework.” “.NET Core versioning is complicated.” © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Announcing .NET Core 2.0 Preview available today

.NET Core 2.0 .NET Standard 2.0 Reference Framework as single package Simplified packaging ASP.NET Core and Entity Framework Core included ASP.NET Core 2 Automatic diagnostics Razor Pages Entity Framework Core 2

Example: .NET Core 1.0 references

Example: .NET Core 2.0 references

Demo: .NET Core and API’s

“I would like more refactoring features built in.” Microsoft Build 2017 12/12/2017 4:28 AM “I would like more refactoring features built in.” “I want Live Unit Testing for .NET Core.” © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Visual Studio 2017 – RTM March 7 Improved performance, new install experience Faster navigation Code style configuration and enforcement Live Unit Testing IntelliSense improvements New exception helper More refactorings and quick fixes C# 7.0

Coming in Visual Studio 2017 Update 3 Additional polish to navigation and IntelliSense .NET Core support for Live Unit Testing Code style enforcement on builds More live diagnostics on API design, security, etc. Even more refactorings and quick fixes C# 7.1

Demo: .NET Tooling

“I want full .NET Core Tooling on the Mac.” Microsoft Build 2017 12/12/2017 4:28 AM “I want full .NET Core Tooling on the Mac.” “I want to round trip projects between all VS’s.” © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Announcing Visual Studio for Mac RTM Today

.NET Core and Visual Studio for Mac Provide the SAME experience across Windows and Mac Sharing components with Visual Studio .NET Core Project Templates HTML, CSS, JSON editors Backend debugger Azure Publish infrastructure Future Javascript, Razor editors

.NET Core and Visual Studio for Mac Full .NET Core Tooling including round tripping between Windows and Mac Docker Containers with debugging Publish to App Service Publish to App Service Containers Azure Functions

Demo: Visual Studio for Mac

“I want easy diagnostics and monitoring in Azure.” Microsoft Build 2017 12/12/2017 4:28 AM “I want easy diagnostics and monitoring in Azure.” “I want great Tooling for serverless code in Azure.” © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Azure diagnostics Should be simple From the Portal From Visual Studio No modifications to your app No republishing of your app From the Portal Enable/Disable analytics and diagnostics See common crashes and performance problems including seeing code From Visual Studio See analytics data from portal in real time Use “snap points” to debug a running application

Demo: Azure diagnostics

Azure Functions .NET is great for event driven serverless computing Scale without constraints Pay for only the resources your application uses Now based on .NET class libraries IntelliSense, project to project references, unit testing, code analysis, third-party extensions, and more just work Supports .NET Framework and .NET Core Publish from Visual Studio to Azure Local and remote debugging

Demo: Azure Functions

What we are thinking about next Performance and size improvements Faster inner loop Small standalone apps Native Tooling and libraries UI Global tools (“aka npm install –g”) Machine learning and artificial intelligence Platforms Linux diagnostics IOT/ARM32

Resources Try out new bits today .NET Core 2 SDK https://www.microsoft.com/net/core/preview VS 2017 Update 3 Preview https://www.visualstudio.com/vs/preview/ .NET Architecture https://www.microsoft.com/net/architecture Editor Productivity & Refactoring Cheat Sheet https://www.visualstudio.com/vs/net-productivity/

Other .NET talks Introducing ASP.NET Core 2.0 Modern front-end web development in Visual Studio 2017 Entity Framework Core 2.0 The future of C# SignalR .NET Core: Realtime cross platform open web communication Open Q&A: .NET panel

12/12/2017 4:28 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.