What is it all about? .NET MeetUp in Amsterdam, NL (2017/7/11)

Slides:



Advertisements
Similar presentations
Amanda Silver Director of Program Management Visual Studio Tools for Client Applications Cross-Platform Development using Visual Studio.
Advertisements

CROSS PLATFORM DEVELOPMENT WITH MVVM CROSS By Ken Tucker.
Understanding Xamarin Development Matt
Innovation Any app, any platform Openness.NET Core ASP.NET 5.
Building Windows Runtime Components in C++ Harry Pierson Program Manager, Windows Runtime Experience Team Microsoft Corporation.
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)
Three Runtimes, one standard… .NET Standard: All in Visual Studio 2017
GrapeCity Build Experiences with Enterprise-level Tools and Solutions
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,
Build and Learn ASP.NET Workshop.
Introduction to Xamarin C# Everywhere
Microsoft Evangelist Presentation
The Xamarin Promise - Realized
Unleash .NET 2015 in your apps
Introduction to ASP.NET Core
Getting started with .NET Core
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.
Introduction to ASP.NET 2.0
ASP.NET Core: Web apps, cloud apps, and containers
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
Microsoft Ignite /19/2018 2:35 AM
The Modern ASP.NET Tech Stack!
UI Test Automation with Appium
Getting Started with Visual Studio Tools for Tizen
Did your feature got in, out or planned?
Building Innovative Apps using the Microsoft Developer Platform
ASP.NET in Linux and Windows containers
Designing Cross Platform Applications on .NET Core
DNN Connect 2017 Microsoft Keynote
Introducing ASP.NET Core 2.0
Microsoft Virtual Academy
1.1. .NET architectural components and .NET Core
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
Microsoft Ignite NZ October 2016 SKYCITY, Auckland
Building Modern Web Apps with ASP.NET MVC 6
Developing and Supporting Apps in Windows as a Service (WaaS)
Sviluppo mobile con Visual Studio OnLine
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
Protecting Premium Video in Windows
Microsoft Build /14/ :29 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Build /15/2018 6:28 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Strategic Sponsors Sponsors and Partners Gold Sponsors Silver Sponsors.
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Learn. Imagine. Build. .NET Conf
Office 365 Development.
Entity Framework Core.
ASP.NET 5 on .NET Core Damian Edwards Principal Program Manager.
Microsoft Build /30/2018 2:15 AM Migrating Silverlight Windows Phone apps to the Universal Windows Platform Ricardo Villalobos Principal SDE Manager.
Microsoft Connect /1/2018 2:36 AM
12/2/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
12/3/2018 7:56 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Overview of Silverlight 2
Angular in the .NET World
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
TechEd /22/2019 9:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Learning with Xamarin Workbooks
5/6/2019 7:40 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS.
Build /15/2019 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
11/11/2019 1:15 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Presentation transcript:

What is it all about? .NET MeetUp in Amsterdam, NL (2017/7/11) .NET Standard What is it all about? .NET MeetUp in Amsterdam, NL (2017/7/11) Organized by Karel Zikmund ( @ziki_cz)

.NET platforms today .NET Framework .NET Core .NET Native Xamarin .NET Framework BCL ASP.NET Win Forms WPF .NET Core .NET Core BCL ASP.NET Core .NET Native .NET Native BCL UWP Xamarin Mono BCL iOS Android OS X MODELS APP LIBRARIES BASE

.NET reusing code – yesterday 11/10/2018 2:38 PM .NET reusing code – yesterday Portable Class Libraries (PCLs) No systematic approach to versioning Computed intersection profiles Each PCLs is targeting a specific set of platforms Not compatible with newer platforms Hard to understand compatibility relationships Platform 3 Platform 1 Platform 2 Intersection Profiles © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

.NET reusing code – tomorrow .NET Framework .NET Framework BCL ASP.NET Win Forms WPF .NET Core .NET Core BCL ASP.NET Core .NET Native .NET Native BCL UWP Xamarin Mono BCL iOS Android OS X MODELS APP LIBRARIES BASE .NET Standard

What is .NET Standard? .NET Standard is a specification A set of APIs that all .NET platforms have to implement .NET Standard versions: 1.0, 1.1, …, 1.6, 2.0* .NET platforms also version: .NET Framework: 1.0, 1.1, 2.0, 3.0, 3.5 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 .NET Core: 1.0, 1.1, 2.0* Newer .NET platforms implement newer .NET Standard versions

Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core .NET Framework Mono Xamarin.iOS Xamarin.Android .NET Native (UWP) Windows Phone Windows Phone Silverlight

Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core .NET Framework 4.5 Mono 4.6 Xamarin.iOS 10.0 Xamarin.Android 7.0 .NET Native (UWP) Windows Phone 8.1 Windows Phone Silverlight 8.0

Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core .NET Framework 4.5 4.6 Mono Xamarin.iOS 10.0 Xamarin.Android 7.0 .NET Native (UWP) Windows Phone 8.1 Windows Phone Silverlight 8.0

Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core .NET Framework 4.5 4.6 4.6.1 Mono Xamarin.iOS 10.0 Xamarin.Android 7.0 .NET Native (UWP) Windows Phone 8.1 Windows Phone Silverlight 8.0

Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core .NET Framework 4.5 4.6 4.6.1 Mono Xamarin.iOS 10.0 Xamarin.Android 7.0 .NET Native (UWP) vNext Windows Phone 8.1 Windows Phone Silverlight 8.0

Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core .NET Framework Mono Xamarin.iOS Xamarin.Android .NET Native (UWP) Windows Phone Windows Phone Silverlight

Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core .NET Framework 4.5 4.5.1 4.6 4.6.1 Mono Xamarin.iOS Xamarin.Android .NET Native (UWP) Windows Phone Windows Phone Silverlight

Support matrix https://github.com/dotnet/standard/blob/master/docs/versions.md .NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 .NET Core .NET Framework 4.5 4.5.1 4.6 4.6.1 Mono vNext Xamarin.iOS 10.0 Xamarin.Android 7.0 .NET Native (UWP) Windows Phone 8.1 Windows Phone Silverlight 8.0

Remember HTML and HTML5? http://www.webdevout.net/browser-support HTML version 2.0 3.2 4.0 5 5.1 Notes Internet Explorer Chrome Firefox Safari Opera Edge

Remember HTML and HTML5? http://www.webdevout.net/browser-support HTML version 2.0 3.2 4.0 5 5.1 Notes Internet Explorer 10 IE11 also supports HTML5 Chrome 30 Latest Chrome 58 also supports HTML5 Firefox Latest Firefox 53 also supports HTML5 Safari 8.0 Latest Safari 10.2 also supports HTML5 Opera 12.10 Latest Opera 45 also supports HTML5 Edge 12 Edge 12-15 all support latest HTML5

Remember HTML and HTML5? http://www.webdevout.net/browser-support HTML version 2.0 3.2 4.0 5 5.1 Notes Internet Explorer ? 6 10 Future? IE11 also supports HTML5 IE9 supports parts of HTML5 IE7 & IE8 also support HTML 4.0 Chrome Firefox Safari Opera Edge

Remember HTML and HTML5? http://www.webdevout.net/browser-support HTML version 2.0 3.2 4.0 5 5.1 Notes Internet Explorer ? 6 10 Future? IE11 also supports HTML5 IE9 supports parts of HTML5 IE7 & IE8 also support HTML 4.0 Chrome 30 Latest Chrome 58 also supports HTML5 Firefox 2 Latest Firefox 53 also supports HTML5 Safari 8.0 Latest Safari 10.2 also supports HTML5 Opera 9 12.10 Latest Opera 45 also supports HTML5 Edge 12 Edge 12-15 all support latest HTML5

+20K ~70% .NET Standard 2.0 Has much bigger API surface 11/10/2018 2:38 PM .NET Standard 2.0 Has much bigger API surface Extended to cover intersection between .NET Framework and Xamarin .NET Core 2.0 implements .NET Standard 2.0 (makes it bigger) +20K More APIs than .NET Standard 1.x Can reference .NET Framework libraries Compat shim allows referencing existing .NET Framework code – without recompilation Limited to libs that 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.

Versioning of .NET Standard 11/10/2018 2:38 PM Versioning of .NET Standard Additive APIs Higher versions have all APIs from previous versions. 2.0 1.3 1.1 Version # of APIs Growth % 1.0 7,949 1.1 10,239 +29% 1.2 10.285 +0% 1.3 13,122 +28% 1.4 13,140 1.5 13,355 +2% 1.6 13,501 +1% 2.0 32,638 +142% 1.0 © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Which .NET Standard? Supporting lower version of NS = more platforms support it Supporting higher version of NS = more APIs you can use Advice for Libraries: Target lowest version of .NET Standard you can get away with Advice for Applications: Don’t target .NET Standard, it is for libraries For cross-platform use .NET Core (server/console apps) or Xamarin (UI apps)

Which .NET Standard? .NET Portability Analyzer https://github.com/Microsoft/dotnet-apiport Check APIs used by your project Check APIs used by your binaries Command line / VS extension Outputs: HTML, XLSX, Json

.NET Portability Analyzer demo

Which .NET Standard? https://apisof.net

.NET platforms – recap .NET Framework 4.6.1 – implements NS2.0 Windows only, machine-wide install (highly compatible) Scenarios: All, incl. server, client/UI (WPF, WinForms), etc. Xamarin – will implement NS2.0 very soon Scenarios: UI apps for cross-platform (iOS, Android, UWP) .NET Native 2.0 (UWP 6.0) – will implement NS2.0 (Q4 2017) Scenarios: UWP (UI) apps only (Win10) .NET Core 2.0 – will implement NS2.0 very soon (Q3 2017) Cross-platform (Windows, Linux, OS X) Scenarios: Server and console apps (no client/UI apps)

.NET Core https://www.microsoft.com/net/core/platform - 6 key values Cross-platform You can create .NET Core apps that run on Windows, Linux and macOS. Unified Leverage the unified .NET Standard library to target all platforms with the same code and use the same languages and tools to reuse your skills. Fast High performance server runtime for Windows Server and Linux makes .NET a top performing web framework on TechEmpower benchmarks. That means applications provide better response times and require less compute power. Performance Improvements in .NET Core Performance Improvements in RyuJIT in .NET Core and .NET Framework

.NET Core (cont.) https://www.microsoft.com/net/core/platform Lightweight No impact deployment and a modular development model where you only take dependencies on the minimal set of packages you need. Modern Multiple language support with C#, VB, F# and modern constructs like generics, Language Integrated Query (LINQ), async support and more. Open Source Runtime, libraries, compiler, languages and tools are all open source on GitHub where contributions are accepted, tested and fully supported.

The End Author: Karel Zikmund ( @ziki_cz) Slides: https://karelz.github.io Special thanks to Immo Landwerth ( @terrajobst) Based on Immo’s .NET Standard slides for .NET Fringe 2017 conference