The Future is Now with ASP.NET Core 3.0

Slides:



Advertisements
Similar presentations
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
Advertisements

Building a social networking portal on Windows Azure in 1 hour Saranya Sriram Developer Evangelist Microsoft, India.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
ASP.NET Web API. ASP.NET Members MS Open Source ASP.NET MVC 4, ASP.NET Web API and ASP.NET Web Pages v2 (Razor) now all open source ASP.NET MVC 4, ASP.NET.
What is it all about? .NET MeetUp in Prague, CZ (2017/7/19)
The Holmes Platform and Applications
Ramping Up On The SharePoint Framework (SPFx)
GrapeCity Build Experiences with Enterprise-level Tools and Solutions
Introducing the Microsoft® .NET Framework
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,
Welcome to the Hands on Lab!
4/18/2018 1:15 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Introduction to ASP.NET Core
Make your app a native part of Office with Add-ins
Office Add-ins: Make your solution a native part of Office
5/15/2018 5:43 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Tulika Chaudharie / Harikharan Krishnaraju
Microsoft Connect /28/ :21 AM
About Bill Bill Baer (ˈbɛər)
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.
Let’s talk Power BI Premium /guyinacube Adam Saxton.
The Modern ASP.NET Tech Stack!
Visual Studio Tools for Office 2005
SQL Server Data Tools for Visual Studio Part I: Core SQL Server Tools
ASP.NET in Linux and Windows containers
DNN Connect 2017 Microsoft Keynote
Introducing ASP.NET Core 2.0
Microsoft Azure P wer Lunch
Microsoft Virtual Academy
Project Rome: Activity API & Pick Up Where I Left Off
SharePoint Cloud hosted Apps
Building real-time web apps with WebSockets using IIS, ASP.NET and WCF
Updated Agenda 12:00PM–1:00PM | Session #1 1:00PM–2:00PM | Lunch.
Myth Busting: Hosted Web Apps
MVC in ASP.NET Core: The new kid on the block
Explore web development with Microsoft ASP.NET Core 1.0
Microsoft Build /11/2018 2:12 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
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.
Microsoft Ignite /14/ :21 AM BRK2101
The Application Lifecycle
DotnetConf 11/17/ :06 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Microsoft Connect /17/ :34 AM
5 things you didn’t know you can BUILD with Microsoft Edge
Office 365 Development July 2014.
Learn. Imagine. Build. .NET Conf
Should I Transition to .NET Core? Will it hurt?
TFS from on-prem to the cloud with Azure DevOps Services
Microsoft Connect /1/2018 2:36 AM
Nathan Totten Technical Evangelist Windows Azure
Building event-driven, long-running apps with Windows workflow
Modern cloud PaaS for mobile apps, web sites, API's and business logic apps
Microsoft Build /2/2019 6:45 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Serverless Architecture in the Cloud
SharePoint 2019 Overview and Use SPFx Extensions
What’s new in ASP.NET Core and Entity Framework 2.2 (Preview 3)
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.
A Lap Around Azure Websites Introduction
Azure Active Directory
Sessions about to start – Get your rig on!
#01# ASP.NET Core Overview Design by: TEDU Trainer: Bach Ngoc Toan
Running C# in the browser
Blazor A new framework for browser-based .NET apps Ryan Nowak
WebAssembly: The Browser is your OS
Presentation transcript:

The Future is Now with ASP.NET Core 3.0 Rob Richardson @rob_rich

Your platform for building anything DESKTOP WEB CLOUD MOBILE GAMING IoT AI .NET There has never been a better time to be a .NET Developer! With .NET you can build applications for virtually every platform, from a Windows desktop application to a website to an IoT device.

.NET Core 3.0 Preview 5 https://aka.ms/idt2019resources 7/24/2019 7:16 AM ANNOUNCING .NET Core 3.0 Preview 5 Windows desktop support with WPF and WinForms, also open source Flexible deployment, side-by-side support and self-contained EXEs Full-stack web development with C# and Razor Significant performance improvements New C# language features for productivity and less errors At BUILD we have announced Preview 5 of .NET Core 3.0 It comes with significant updates to desktop and server workloads.   .NET Core 3 brings Windows desktop development to .NET Core, with support for WinForms and WPF. It enables more flexible deployment with side-by-side and self-contained EXEs. We also have new features on the server side, including composable UIs with ASP.NET Core with Razor Components, which will provide full-stack web development with .NET for the first time. https://aka.ms/idt2019resources © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

.NET Core 3.0: A full stack solution Client Frontend Backend ASP.NET Core http://.. gRPC Worker With .NET Core 3.0 now it’s easier than ever to build a full stack solution. When it comes to build the frontend. .NET Core 3.0 retains and improves all the great features which you already know from previous .NET Core versions: MVC and Razor Pages for building the UI Web APIs for building services SignalR to create real-time applications Full support for authentication and security When it comes to build the client, however, .NET Core 3.0 comes with something new: Blazor, which through WebAssembly supports building client applications using C# and .NET instead of JavaScript. Of course, .NET Core 3.0 still offers great support for building client apps with traditional JavaScript based development and it fully supports the most recent versions of popular frameworks like Angular or React. Also when it comes to build the backend, .NET Core 3.0 offers some new powerful features: Worker service, which is a new template to build cross-platform services that can run continuously in background gRPC, which is a standard communication protocol to facilitate the communication between different components Blazor Components SPA (JavaScript) MVC / Razor Pages Web APIs SignalR Security & identity Worker services gRPC

Let’s build an order management app! Let’s use all these new features added in .NET Core 3.0 to build an order management application!

A full stack application ? ASP.NET Core gRPC http://.. Worker ? ? This is the architecture of our application: The client side is the UI of the application, which allows the user to add an order to the system. The ASP.NET Core application acts as a server-side backend to perform operations which can’t be executed client-side (like database access) Orders needs time to be processed, so the operation doesn’t happen in real-time. Instead, we have a background worker that processes them and then it takes care of updating the status on the database once finished. We need a service to handle the communication between the application and the background worker. The service must query whenever there’s a new pending order to process and dispatch it to the worker. We’re going to use new ASP.NET Core 3.0 components to build our application: The client will be implemented using Blazor The background worker will be implemented using the new worker service template The service will be implemented using gRPC Orders Workers

The frontend ASP.NET Core gRPC Worker Orders Workers http://.. Worker Let’s start with the frontend. Orders Workers

Blazor for WebAssembly now in official preview! Build client-side web UI with .NET instead of JavaScript Call into JavaScript libraries & browser APIs as needed Write reusable web UI components with C# and Razor Share .NET code with both the client and the server Blazor for WebAssembly now in official preview! Blazor is a framework to build web applications using C# and .NET instead of JavaScript to write client-side logic. It supports building components, which can be reused by multiple projects. Since they both run C# and .NET, you can easily share code (services, entities, etc.) between the client ant the server. Blazor supports JavaScript interop, which allows you to call JavaScript code (like libraries or browser APIs) from C# Blazor has born as an experimental project, but one week before BUILD we have announced that it’s now in official preview, meaning that in the future will ship as part of the .NET family.

Blazor on client or server 7/24/2019 7:16 AM Blazor on client or server Client-side Server-side https://... https... DOM Razor Components .NET WebAssembly ASP.NET Core DOM Razor Components .NET There are two flavors of Blazor: Blazor client-side runs completely on the browser thanks to WebAssembly. Blazor server-side uses the same development model, but the C# code and the Razor pages are rendered server-side and then dispatched to the client using SignalR. Blazor client-side: Pros: it can run offline. The execution is faster, because everything is rendered by the browser itself. Cons: longer startup timings, due to the requirement to load the whole .NET Framework and assemblies inside the browser. Blazor server-side: Pros: the startup timing is faster. It supports full debugging. It supports every .NET API and library which runs with ASP.NET Core. It works also with old browsers that don’t support WebAssembly, like Internet Explorer. Cons: it doesn’t run offline. The execution is slower, since it requires a constant connection with the server. Blazor client-side is the future. It’s in official preview, but it won’t ship with .NET Core 3.0, but with a later version. Blazor server-side is the present (near future), since it will be part of .NET Core 3.0. SignalR Future .NET Core 3.0 © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Demo Build client web UI with Blazor

The worker ASP.NET Core gRPC Worker Orders Workers http://.. Worker Let’s see now how we can implement the background worker component of our solution. Orders Workers

Worker services New Worker service template Build long-running worker processes May or may not have endpoints Host in Windows services, systemd, WebJobs, containers Integrates with configuration, logging, dependency injection Worker services is a new template included in .NET Core 3.0, which you can use to build long-running processes. It supports a cross-platform model, so it can be hosted as a Windows Service, as a Linux job, as a Web Job on Azure, inside a container, etc. It brings all the benefits of ASP.NET Core development (configuration, logging, dependency injection, etc.) to the worker services world.

Demo Worker services

Handling the communication ASP.NET Core gRPC http://.. Worker And now let’s see the last part of our architecture, which is the communication between the main application and the worker service. Orders Workers

gRPC High performance, contract-based RPC services Broad interoperability for polyglot environments Great for service-to-service communication gRPC is service which offers high performances and it’s based on a standard contract, which offers broad interoperability across multiple languages and frameworks. It’s widely used for service-to-service communication, even if they are developed with different languages or they run on different platforms.

Demo The full architecture

Also new in ASP.NET Core 3.0 Simplified shared framework Windows service support Blazor (server-side) SignalR auto-reconnect, streaming gRPC SignalR C++ client* Worker Event counters* IdentityServer Certificate & Kerberos authentication* API code generation Performance Endpoint routing integration C# 8 in Razor & MVC *Coming soon! JSON In this session we have seen the top 3 features added in .NET Core 3.0, but there’s much more as you can see from this list. You’re invited to read the documentation on the ASP.NET website to learn more about all the other new features. © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Schedule Preview 5 - Now available! Preview 6 - June Preview 7 (go-live) - July Preview 8 (go-live) - Aug GA - Sept .NET Core 3.0 right now is in Preview 5 (or 6, depending when you’re delivering the session) and the GA will happen in September. Approximately every month until GA there will be a new preview. Preview 7 and 8 will have a go-live license, which means that they can be used for production workloads.

aka.ms/insiderdevtour-labs “Be sure to visit the lab and resources page for this event. Not only are there great hands-on labs, but also all the URLs and resources we’ve mentioned today. Thanks!”