Learn. Imagine. Build. .NET Conf

Slides:



Advertisements
Similar presentations
Microsoft Confidential. An incubation effort to: Support client -> server communication in native code with a modern C++ API design Support writing Azure-based.
Advertisements

Introducing the UWP.
Developing Enterprise Mobile Apps with Xamarin Loren Horsager CEO, Mobile Composer.
The Windows 10 App platform: an introduction to the UWP Andy Wigley b:
跨平台 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
Three Runtimes, one standard… .NET Standard: All in Visual Studio 2017
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,
What is .NET.
The Xamarin Promise - Realized
Xamarin Studio Xamarin Curriculum for Xamarin Studio
Unleash .NET 2015 in your apps
Introduction to ASP.NET Core
Getting started with .NET Core
Learn. Imagine. Build. .NET Conf
Make your app a native part of Office with Add-ins
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.
What's new in the world of SharePoint development and deployment
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!
Getting Started with Visual Studio Tools for Tizen
Multi-Device Hybrid Apps What, Why, and When to Use Hybrid Development Option Ervin Loh ALM Program Manager
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
1.1. .NET architectural components and .NET Core
Microsoft Build /19/2018 7:53 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Learn. Imagine. Build. .NET Conf
.NET Standard Jon Galloway | Executive Director, .NET |
SPA Revolution with WebAssembly and Blazor Rainer Stropek | software
Explore web development with Microsoft ASP.NET Core 1.0
What is it all about? .NET MeetUp in Amsterdam, NL (2017/7/11)
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
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Learn. Imagine. Build. .NET Conf
Windows 10 Preview Andy & Jerry
SPA Revolution with WebAssembly and Blazor Rainer Stropek | software
Mobile Center and VSTS:​ Better together for your Mobile DevOps
Hosted Web Apps with Windows App Studio
Office 365 Development.
Microsoft Connect /1/2018 2:36 AM
Learn. Imagine. Build. .NET Conf
12/26/2018 1:44 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
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.
Office 365 Development.
.NET Conf 2018 Keynote Jose Barbosa Aaron Amm Theeranit.
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:

Learn. Imagine. Build. .NET Conf .NET Conf Keynote: .NET Everywhere! Scott Hunter, Director PM .NET, @coolcsh Miguel de Icaza, Distinguished Engineer Mobile, @migueldeicaza Mads Torgersen, C# Language Designer, @madstorgersen Learn. Imagine. Build. .NET Conf

.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

Community Momentum #2 demanded primary technology Job market Modern Relevance .NET OSS #2 demanded primary technology (LinkedIn) Most popular Microsoft technology in Hacker News and Reddit

Thank you to all our contributors! Community PRs by month “Samsung is embracing .NET because it is a completely open source project.” — Samsung "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

WEB APPS, CLOUD SERVICES COMMAND LINE INTERFACE .NET – A unified platform TRADITIONAL WINDOWS WINDOWS 10 WEB APPS, CLOUD SERVICES MOBILE GAMES, VR, AR IoT AI TOOLS VISUAL STUDIO CODE COMMAND LINE INTERFACE VISUAL STUDIO VISUAL STUDIO FOR MAC COMPILERS LANGUAGES RUNTIME COMPONENTS LIBRARIES INFRASTRUCTURE .NET STANDARD

WEB APPS, CLOUD SERVICES .NET Standard brings it all together TRADITIONAL WINDOWS WINDOWS 10 WEB APPS, CLOUD SERVICES MOBILE GAMES, VR, AR IoT AI .NET Standard allows sharing code, binaries and skills between .NET client, server and all of its flavors. .NET Standard provides a specification for any platform to implement (conceptually similar to HTML) All .NET runtimes provided by Microsoft are implementing the standard COMPILERS LANGUAGES RUNTIME COMPONENTS LIBRARIES INFRASTRUCTURE .NET STANDARD

+20K ~70% .NET Standard 2.0 Has much bigger API surface 9/17/2018 11:57 PM .NET Standard 2.0 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 DATA XML SERIALIZATION NETWORKING IO DataSet • DataTable • SQLClient XML XLinq • XML Document • XPath • Schema • XSL SERIALIZATION BinaryFormatter • Data Contract • XML NETWORKING Sockets • HTTP • Mail • WebSockets IO Files • Compression • MMF https://docs.microsoft.com/en-us/dotnet/standard/net-standard Data - DataSet * DataTable * SQLClient THREADING Threads • Thread Pool • Tasks CORE Primitives • Collections • Reflection • Interop • Linq

Demo .NET Standard 2.0 Scott Hunter

.NET Core CLI Supports multiple SDK’s All the templates in Visual Studio included C#, F# and VB New commands for Solutions, Project to Project, … Hunter will put stuff here.

Demo .NET Core CLI Scott Hunter

.NET Core 2.0 More APIs More project templates More distros Simplified packaging New and improved tooling in Visual Studio 2017 Visual Studio for Mac support Performance – From profile guided optimizations to faster JIT compiler to the numerous performance improvement made by the community in the .NET Core libraries, .NET Core 2.0 is the fastest version of .NET ever. Expanded Libraries - .NET Core 2.0 implements the .NET Standard 2.0 which has expanded the API surface area so that code and binaries can be shared across runtimes and workloads.

ASP.NET Core 2.0 Faster (20% faster in Tech Empower benchmark) Razor Pages Razor support for C# 7.1 Smaller Publish (2.6MB vs 16.8 MB) Azure Diagnostics & Live Analytics Angular and React templates Authenticator App support in templates

Demo ASP.NET Core 2.0 Scott Hunter

Windows Compatibility Pack for .NET Core Announcing: Windows Compatibility Pack for .NET Core GO GET IT!

Windows Compatibility Pack for .NET Core Microsoft.Win32.Registry System.CodeDom System.Configuration.ConfigurationManager System.Drawing System.Runtime.Caching And many more… PREVIEW AVAILABLE SOON

Visual Studio 2017 and Azure Azure Functions CI/CD support for containers & App Service Azure Diagnostics Visual Studio 2017 now supports creating and running .NET Core 2.0 apps, just remember the SDK does not yet come as part of Visual Studio 2017, so you will need to download and install the .NET Core 2.0 SDK separately. With the added support for .NET Core 2.0 in Visual Studio 2017 you can create .NET Core web and console applications, and .NET Core and .NET Standard class libraries using Visual Basic as well as C# NET Framework and .NET Standard/Core interop: Users can now more seamlessly install or refer to .NET Core/.NET Standard libraries from .NET Framework projects and vice versa. No need to manually add interop NuGet packages – system does this for you automatically. Build: Incremental builds for .NET Core is now turned ON by default. LUT maintain quality and test coverage of your .NET Core apps and libraries during rapid development. See the results of your unit tests as you code to Automatically execute impacted tests as you edit code and get real-time visual feedback on the test results. Ensure that your changes do not break the tests, simply by changing your code! Live Unit Testing updates each line of code in the Visual Studio editor to show you whether the code you're writing is covered by unit tests and whether the tests that cover it are passing. See where you are missing tests to quickly decide which tests to create next. AZURE FUNCTIONS Visual Studio Tools for Azure Functions are now included as part of the Visual Studio installation. To get the tools, you need to make sure to install the Azure workload. Create pre-compiled C# functions that provide better cold start performance than script based functions, and opens the entire eco-system of Visual Studio tools for class libraries including code analysis, unit testing, complete IntelliSense, 3rd party extensions, etc Use WebJobs attributes to declare function bindings directly in the C# code rather than the separate function.json file

Cloud and Container diagnostics Simple No modifications to your app No republishing of your app From the Azure 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

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

Demo Azure Diagnostics CI/CD Scott Hunter

Mobile .NET Miguel de Icaza

Google and Apple Mobile Operating System Update Season Oreo Multi-display, text sizing, PiP, Fresh Apple Support iOS 11, tvOS 11, watchOS 4 CoreML rolling out – SeeingAI using it now ARKit Vision

UrhoSharp – Easy 3D, VR and AR Think “Xamarin.Forms for 3D”

AR for Android, iOS and HoloLens

Visual Studio for Mac .NET Core 2.0 Unity Xamarin .NET Centric 9/17/2018 11:57 PM Visual Studio for Mac .NET Core 2.0 Console ASP.NET Core Web Apps ASP.NET Core Web API Unity Develop and Debug Unity Game Code Xamarin Mobile: Android, iOS, watchOS macOS, tvOS .NET Centric Focused on .NET Developers Languages C# 7.1 F# 4.1 Azure Connected Services Easy Deployment Backends for your mobile apps © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Visual Studio for Mac Miguel de Icaza

Xamarin + Xamarin.Forms Shared UI Code Traditional Xamarin Approach With Xamarin.Forms

Forms This Fall The Forms Trilogy Quality, polish Performance: Fast Renderers on Android and Layout Compression Left-to-Right, Right-to-Left Accessibility Migration to .NET Standard The Forms Trilogy Android iOS UWP

The Prequels are Here Linux macOS WPF Tizen Unity

Forms Embedding Add some Forms code to your existing .NET app: Mac, WPF, UWP, Linux, Android or iOS app One screen, many screens or your whole app New Shared UI Code

.NET Everywhere There are existing codebases Microsoft Build 2017 9/17/2018 11:57 PM .NET Everywhere There are existing codebases ObjC, Java, Swift, C++. How could we bring joy to those communities? © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Microsoft Build 2017 9/17/2018 11:57 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Turns any .NET library into a native library Microsoft Build 2017 9/17/2018 11:57 PM Turns any .NET library into a native library Android Java iOS Swift tvOS Swift macOS Objective-C Linux, Mac, Windows C/C++ Jar/Aar DynamicLib Framework Framework C/C++ Shared C#/.NET Logic © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Miguel de Icaza

Visual Studio and C# Mads Torgersen

Visual Studio 2017 Performance Install experience Navigation and IntelliSense Refactorings and quick fixes Code styles Live Unit Testing (LUT) C# 7.0

Visual Studio 2017 Update 15.3 Project files are simplified and portable Navigation and IntelliSense Live Unit Testing support with .NET Core More live diagnostics (API design, security, …) Even more refactorings and quick fixes

C# 7.1 – First point release Target-typed default expressions Async Main Tuple element name inference

Demo Visual Studio and C# Mads Torgersen

.NET Core 2.0 & Visual Studio 2017 Download today! www.dot.net/core www.visualstudio.com

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

C#: The road ahead C# 7.2 C# 7.3 C# 8.0 Safe, efficient low-level code Microsoft Build 2017 9/17/2018 11:57 PM C#: The road ahead C# 7.2 Safe, efficient low-level code C# 7.3 Next steps for pattern matching? C# 8.0 Interfaces with default member implementations Async streams Nullable reference types © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Nullable reference types Mads Torgersen

Mono and WebAssembly Two modes of operation Development: Mono’s Interpreter Release: Linked + Statically compiled code .NET <-> JavaScript interop Exposes .NET API to Javascript, goal: use embeddinator to surface API Exposes loose and strongly typed Web APIs to C# https://github.com/lrz/mono-wasm

C# to JavaScript – Weakly Typed static void FactorialInElement(int n, string eid) { WriteLine("Calculating factorial of {0} into DOM element {1}", n, eid); int f = Factorial(n); string expr = $"document.getElementById(\"{eid}\").innerText = \"{f}\";", Mono.WebAssembly.JavaScriptEval(expr); }

C# to JavaScript – Strongly typed (WIP) Setup () { // Get a reference to the HTML DOM document. HtmlDocument document = HtmlPage.GetDocument(); // Get a reference to the body element. HtmlElement body = document.GetElementById("docBody"); // Create a <main> type element HtmlElement mainElement = document.CreateElement("main"); // Append the newly created element to the page DOM body.AppendChild(mainElement); }

Useful links .NET Standard 2 .NET Portability Analyzer https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/ .NET Portability Analyzer https://github.com/Microsoft/dotnet-apiport/blob/master/docs/VSExtension/README.md Azure Debug Snapshots https://docs.microsoft.com/en-us/azure/application-insights/app-insights-snapshot-debugger#configure-snapshot-collection-for-aspnet-core-20-applications

Useful links Azure Production Debugging Nullable reference types https://docs.microsoft.com/en-us/visualstudio/debugger/debug-live-azure-applications Nullable reference types https://github.com/dotnet/roslyn/blob/features/NullableReferenceTypes/docs/features/NullableReferenceTypes/README.md https://github.com/dotnet/csharplang/issues/790

The conference continues live on Channel 9! www.dotnetconf.net Learn. Imagine. Build. .NET Conf The conference continues live on Channel 9! www.dotnetconf.net Beginning