SlideShare a Scribd company logo
1 of 23
#insiderDevTour
ASP.NET Core 3.0 新功能
Edward Kuo
Microsoft Regional Director / Microsoft Azure MVP / Stud4.TW
#insiderDevTour
DESKTOP WEB CLOUD MOBILE GAMING IoT AI
.NET
可以在任何平台建立應用程式
https://aka.ms/idt2019resources
#insiderDevTour
.NET Core 3.0 一個全端開發的解決方案
http://..
Client Backend
• Blazor
• Components
• SPA (JavaScript)
• MVC / Razor Pages
• Web APIs
• SignalR
• Security & identity
• Worker services
• gRPC
ASP.NET Core
gRPC gRPC
#insiderDevTour
http://..
完整Web應用程式開發
ASP.NET Core
gRPC
#insiderDevTour
前端開發
ASP.NET Core
http://..
gRPC
#insiderDevTour
Blazor
• 一個建構Client端Web UI的元件,取代原本用JavaScript寫前端邏輯
• 支持呼叫JavaScript程式碼,如JavaScript元件和瀏覽器的APIs
• 使用C#和Razor編寫可重用的Web UI組件
• 前後端共享.NET的程式碼
Blazor for WebAssembly
現在開放預覽!
#insiderDevTour
Blazor 運行在Client或服務器端
https://...
DO
M
Razor Components
.NET
WebAssembly
https...
DO
M
ASP.NET Core
SignalR
Razor Components
.NET
#insiderDevTour
Demo
Build client web UI with Blazor
#insiderDevTour
Worker
ASP.NET Core
http://..
gRPC
#insiderDevTour
Worker services
• 新的 Worker service樣板
• 能建構一個長時間的應用程序
• 不一定會有Endpoint
• 能被運行在Windows Service、Web
Job與容器中
• 和configuration, logging和相依性注入
整合
#insiderDevTour
Worker services to Window service
只需要在Program.cs加上下面這段,然後在註冊成Windows service就可以
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args).
UseWindowsService()
.ConfigureServices(services =>
{
services.AddHostedService<Worker>();
});
#insiderDevTour
Demo
Worker services
#insiderDevTour
應用程式與Work Service通訊
ASP.NET Core
http://..
gRPC
#insiderDevTour
gRPC
• 高效能、合約為基礎的RPC服務
• 可在多語言環境被廣泛地操作
• 適合服務間的溝通
• 根據預設使用 Protocol Buffers 的合
約優先式 API 開發
• 支援用戶端、伺服器及雙向資料流
呼叫
• 透過 Protobuf 二進位序列化減少網
路使用量
#insiderDevTour
gRPC 情境
• 重效率的輕量型微服務。
• 必須使用多種語言進行開發的多語
言系統。
• 必須處理資料流要求或回應的點對
點即時服務。
#insiderDevTour
Demo
gPRC
#insiderDevTour
ASP.NET Core 3.0其他新特色
Simplified shared framework
Blazor (server-side)
gRPC
Worker
IdentityServer
API code generation
Endpoint routing integration
C# 8 in Razor & MVC
JSON
Windows service support
SignalR auto-reconnect, streaming
SignalR C++ client*
Event counters*
Certificate & Kerberos authentication*
Performance
*Coming soon!
#insiderDevTour
默認System.Text.Json
• ASP.NET Core的樣本移除Json.NET (Newtonsoft.Json)
• ASP.NET Core 預設改用System.Text.Json處理JSON格式
• 要啟用Json.NET,要新增Microsoft.AspNetCore.Mvc.NewtonsoftJson,並加入下面
的程式碼
#insiderDevTour
ASP.NET Core 3.0 發布時程
Preview 5 - 已經可以使用
Preview 6 - 現在已經可以使用
Preview 7 (go-live) - 七月
Preview 8 (go-live) - 八月
GA - 九月
#insiderDevTour
Thank You
Edward Kuo
Microsoft Regional Director
Microsoft Azure MVP
Azure DevOps Expert
Email : jaigi.kuo@gmail.com
FB : https://www.facebook.com/jaigi.kuo
Blog : https://medium.com/ek-technology
#insiderDevTour
Learn more!
Check out the labs and resources!
aka.ms/insiderdevtour-labs
#insiderDevTour
Insider Dev Tour

More Related Content

What's hot

Angular 5 全新功能探索 @ JSDC2017
Angular 5 全新功能探索 @ JSDC2017Angular 5 全新功能探索 @ JSDC2017
Angular 5 全新功能探索 @ JSDC2017Will Huang
 
Developing Serverless application with Microsoft Azure and Cognitive Services
Developing Serverless application with Microsoft Azure and Cognitive ServicesDeveloping Serverless application with Microsoft Azure and Cognitive Services
Developing Serverless application with Microsoft Azure and Cognitive ServicesJeff Chu
 
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸Will Huang
 
Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4Kyle Shen
 
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探美团点评技术团队
 
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)Jeff Chu
 
API Token 入門
API Token 入門API Token 入門
API Token 入門Andrew Wu
 
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式Will Huang
 
DevDays Asia 2018 - Build your bot with QnA Maker
DevDays Asia 2018 - Build your bot with QnA MakerDevDays Asia 2018 - Build your bot with QnA Maker
DevDays Asia 2018 - Build your bot with QnA MakerChun Yi Pai
 
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)Will Huang
 
與大師對談: 轉移到微服務架構必經之路 ~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路 ~ 系統與資料庫重構Andrew Wu
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17twMVC
 
W3CTech美团react专场-Thinking in React
W3CTech美团react专场-Thinking in ReactW3CTech美团react专场-Thinking in React
W3CTech美团react专场-Thinking in React美团点评技术团队
 
ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索Will Huang
 
AngularJS training in Luster
AngularJS training in LusterAngularJS training in Luster
AngularJS training in LusterJason Chung
 
2018-01-06 Study4Love Conference - Rendertron
2018-01-06 Study4Love Conference - Rendertron2018-01-06 Study4Love Conference - Rendertron
2018-01-06 Study4Love Conference - RendertronChieh Kai Yang
 
使用JetBrains Rider開發Xamarin Forms
使用JetBrains Rider開發Xamarin Forms使用JetBrains Rider開發Xamarin Forms
使用JetBrains Rider開發Xamarin FormsChen Yu Pao
 
Blazor 與 Radzen 同行
Blazor 與 Radzen 同行Blazor 與 Radzen 同行
Blazor 與 Radzen 同行Jimmy Ho
 
Study4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionicStudy4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionicKyle Shen
 

What's hot (20)

Angular 5 全新功能探索 @ JSDC2017
Angular 5 全新功能探索 @ JSDC2017Angular 5 全新功能探索 @ JSDC2017
Angular 5 全新功能探索 @ JSDC2017
 
Developing Serverless application with Microsoft Azure and Cognitive Services
Developing Serverless application with Microsoft Azure and Cognitive ServicesDeveloping Serverless application with Microsoft Azure and Cognitive Services
Developing Serverless application with Microsoft Azure and Cognitive Services
 
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
 
Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4Angular.js & ASP.NET in Study4
Angular.js & ASP.NET in Study4
 
W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探W3CTech美团react专场-React Native 初探
W3CTech美团react专场-React Native 初探
 
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
ASP.NET 開發人員不可不知的 IIS (IIS for ASP.NET Developers)
 
API Token 入門
API Token 入門API Token 入門
API Token 入門
 
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式
 
DevDays Asia 2018 - Build your bot with QnA Maker
DevDays Asia 2018 - Build your bot with QnA MakerDevDays Asia 2018 - Build your bot with QnA Maker
DevDays Asia 2018 - Build your bot with QnA Maker
 
Swagger
SwaggerSwagger
Swagger
 
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
 
與大師對談: 轉移到微服務架構必經之路 ~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構與大師對談: 轉移到微服務架構必經之路~ 系統與資料庫重構
與大師對談: 轉移到微服務架構必經之路 ~ 系統與資料庫重構
 
Angular js twmvc#17
Angular js twmvc#17Angular js twmvc#17
Angular js twmvc#17
 
W3CTech美团react专场-Thinking in React
W3CTech美团react专场-Thinking in ReactW3CTech美团react专场-Thinking in React
W3CTech美团react专场-Thinking in React
 
ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索
 
AngularJS training in Luster
AngularJS training in LusterAngularJS training in Luster
AngularJS training in Luster
 
2018-01-06 Study4Love Conference - Rendertron
2018-01-06 Study4Love Conference - Rendertron2018-01-06 Study4Love Conference - Rendertron
2018-01-06 Study4Love Conference - Rendertron
 
使用JetBrains Rider開發Xamarin Forms
使用JetBrains Rider開發Xamarin Forms使用JetBrains Rider開發Xamarin Forms
使用JetBrains Rider開發Xamarin Forms
 
Blazor 與 Radzen 同行
Blazor 與 Radzen 同行Blazor 與 Radzen 同行
Blazor 與 Radzen 同行
 
Study4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionicStudy4 love.2016.2.20.ionic
Study4 love.2016.2.20.ionic
 

Similar to ASP.NET Core 3.0 新功能

Non-MVC Web Framework
Non-MVC Web FrameworkNon-MVC Web Framework
Non-MVC Web FrameworkFred Chien
 
ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索Will Huang
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC
 
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍美团点评技术团队
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展江華 奚
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介Allen Lsy
 
一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps一步一步开发Html5 mobile apps
一步一步开发Html5 mobile appsAdam Lu
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛Edward Kuo
 
Android 4-app
Android 4-appAndroid 4-app
Android 4-applydiafly
 
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境Will Huang
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVCjeffz
 
Beyond rails server
Beyond rails serverBeyond rails server
Beyond rails serverMichael Chen
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例Will Huang
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)锐 张
 
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit TestingASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing江華 奚
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC
 

Similar to ASP.NET Core 3.0 新功能 (20)

Non-MVC Web Framework
Non-MVC Web FrameworkNon-MVC Web Framework
Non-MVC Web Framework
 
ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢
 
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍美团点评技术沙龙13-前端工程化开发方案app-proto介绍
美团点评技术沙龙13-前端工程化开发方案app-proto介绍
 
ASP.NET Core 2.1設計新思維與新發展
ASP.NET  Core 2.1設計新思維與新發展ASP.NET  Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
 
ASP.Net MVC2 简介
ASP.Net MVC2 简介ASP.Net MVC2 简介
ASP.Net MVC2 简介
 
一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps一步一步开发Html5 mobile apps
一步一步开发Html5 mobile apps
 
twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸twMVC#01 | ASP.NET MVC 的第一次親密接觸
twMVC#01 | ASP.NET MVC 的第一次親密接觸
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
 
Android 4-app
Android 4-appAndroid 4-app
Android 4-app
 
J S教材
J S教材J S教材
J S教材
 
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
 
敦群學院-SharePoint精英計畫-系統開發-Day 3
敦群學院-SharePoint精英計畫-系統開發-Day 3敦群學院-SharePoint精英計畫-系統開發-Day 3
敦群學院-SharePoint精英計畫-系統開發-Day 3
 
Real World ASP.NET MVC
Real World ASP.NET MVCReal World ASP.NET MVC
Real World ASP.NET MVC
 
Beyond rails server
Beyond rails serverBeyond rails server
Beyond rails server
 
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
使用 TypeScript 駕馭 Web 世界的脫韁野馬:以 Angular 2 開發框架為例
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
 
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit TestingASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
 
Berserk js
Berserk jsBerserk js
Berserk js
 
twMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure FunctionstwMVC#23 | 快速上手 Azure Functions
twMVC#23 | 快速上手 Azure Functions
 

More from Edward Kuo

應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務Edward Kuo
 
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步Edward Kuo
 
如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法Edward Kuo
 
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊Edward Kuo
 
[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環
[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環
[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環Edward Kuo
 
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用Edward Kuo
 
Database in DevOps
Database in DevOpsDatabase in DevOps
Database in DevOpsEdward Kuo
 
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...Edward Kuo
 
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步Edward Kuo
 
我們與Azure DevOps的距離
我們與Azure DevOps的距離我們與Azure DevOps的距離
我們與Azure DevOps的距離Edward Kuo
 
大型製造業實踐DevOps 團隊之路
大型製造業實踐DevOps 團隊之路大型製造業實踐DevOps 團隊之路
大型製造業實踐DevOps 團隊之路Edward Kuo
 
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐Edward Kuo
 
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發Edward Kuo
 
[2018 DevOps Days]大型企業如何推行DevOps
[2018 DevOps Days]大型企業如何推行DevOps[2018 DevOps Days]大型企業如何推行DevOps
[2018 DevOps Days]大型企業如何推行DevOpsEdward Kuo
 
建構Windows混合現實應用程式
建構Windows混合現實應用程式建構Windows混合現實應用程式
建構Windows混合現實應用程式Edward Kuo
 
2018 Experience for Microsoft Teams
2018 Experience for Microsoft Teams2018 Experience for Microsoft Teams
2018 Experience for Microsoft TeamsEdward Kuo
 
微軟 Hololens 混合現實平台開發
微軟 Hololens 混合現實平台開發微軟 Hololens 混合現實平台開發
微軟 Hololens 混合現實平台開發Edward Kuo
 
How to use Microsoft Teams
How to use Microsoft Teams How to use Microsoft Teams
How to use Microsoft Teams Edward Kuo
 
DevOps的神鬼奇航
DevOps的神鬼奇航DevOps的神鬼奇航
DevOps的神鬼奇航Edward Kuo
 
Microsoft Tech Summit 2017 - 制造业运用微软研发云实现云到端的 DevOps 架构
Microsoft Tech Summit  2017 - 制造业运用微软研发云实现云到端的 DevOps 架构Microsoft Tech Summit  2017 - 制造业运用微软研发云实现云到端的 DevOps 架构
Microsoft Tech Summit 2017 - 制造业运用微软研发云实现云到端的 DevOps 架构Edward Kuo
 

More from Edward Kuo (20)

應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
 
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步
[2022 DevOpsDays Taipei] 走過 DevOps 風雨的下一步
 
如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法
 
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊
[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊
 
[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環
[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環
[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環
 
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
 
Database in DevOps
Database in DevOpsDatabase in DevOps
Database in DevOps
 
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
 
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
 
我們與Azure DevOps的距離
我們與Azure DevOps的距離我們與Azure DevOps的距離
我們與Azure DevOps的距離
 
大型製造業實踐DevOps 團隊之路
大型製造業實踐DevOps 團隊之路大型製造業實踐DevOps 團隊之路
大型製造業實踐DevOps 團隊之路
 
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
 
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
 
[2018 DevOps Days]大型企業如何推行DevOps
[2018 DevOps Days]大型企業如何推行DevOps[2018 DevOps Days]大型企業如何推行DevOps
[2018 DevOps Days]大型企業如何推行DevOps
 
建構Windows混合現實應用程式
建構Windows混合現實應用程式建構Windows混合現實應用程式
建構Windows混合現實應用程式
 
2018 Experience for Microsoft Teams
2018 Experience for Microsoft Teams2018 Experience for Microsoft Teams
2018 Experience for Microsoft Teams
 
微軟 Hololens 混合現實平台開發
微軟 Hololens 混合現實平台開發微軟 Hololens 混合現實平台開發
微軟 Hololens 混合現實平台開發
 
How to use Microsoft Teams
How to use Microsoft Teams How to use Microsoft Teams
How to use Microsoft Teams
 
DevOps的神鬼奇航
DevOps的神鬼奇航DevOps的神鬼奇航
DevOps的神鬼奇航
 
Microsoft Tech Summit 2017 - 制造业运用微软研发云实现云到端的 DevOps 架构
Microsoft Tech Summit  2017 - 制造业运用微软研发云实现云到端的 DevOps 架构Microsoft Tech Summit  2017 - 制造业运用微软研发云实现云到端的 DevOps 架构
Microsoft Tech Summit 2017 - 制造业运用微软研发云实现云到端的 DevOps 架构
 

ASP.NET Core 3.0 新功能

Editor's Notes

  1. 在2019 Microsoft Build大會後,隨即出了.NET Core 3.0 Preview 5,新一代的預覽版中,.NET Core將對Desktop和Web開發有了重大更新 可以支援WPF 和 WinForms的桌面應用程式開發 佈署可以更靈活,且可以直接發布成Exe執行檔 使用C# 和 Razor達到全端式網頁開發 整體應用程式的效能提升 新一代的C#,提高開發效率和減少錯誤
  2. 由此可知,在.NET Core 3.0,將Desktop應用程式開發也可以支持使用.NET Core,並且能夠直接生成exe執行檔,讓整體佈署更加靈活和簡便。另外,在Web開發上,可以透過Razor元件並結合ASP.NET Core做成blazor,產生只需要透過.NET語言,就可以完成前後端的網站開發,對於JavaScript不熟的人,也可以達到全棧式的網頁開發了
  3. 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
  4. Let’s use all these new features added in .NET Core 3.0 to build an order management application!
  5. 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
  6. Let’s start with the frontend.
  7. Blazor特點是什麼? 一個建構Client端Web UI的元件,取代原本的JavaScript 支持呼叫JavaScript的元件, 如JavaScript元件和瀏覽器的APIs 使用C#和Razor編寫可重用的Web UI組件 前後端共享.NET的程式碼 Blazor是一種Framework,可以讓我們使用C#或.NET建構Web UI的,而不需要使用JavaScript開發前端的Web UI。本身也支援元件開發方式,可以讓元件被重複使用在多個專案上。Blazor作為一個實驗性項目誕生,這意味著未來將作為.NET系列的一部分發布。
  8. Blazor分成兩種模式 Client-Site: 基於WebAssembly,讓Web UI直接跑在瀏覽器上面,如同JavaScript Server-Site: 使用原本MVC相同開發模式,讓C#和Razor在Server端去渲染HTML UI,然後再透過SignalR派送到Client端 Blazor Client-Site 可以被執行在離線環境,每個動作都是相依於瀏覽器本身 啟動時間較長,主要在瀏覽器中必須將整個Framework和程序給加載 Blazor Server-Site 啟動時間較快,可以支援所有運行在ASP.NET Core的.NET API和資源庫。當然對於不支援WebAssembly的瀏覽器也可以使用 不能被執行離線環境,網路順暢度會影響執行速度 Blazor Client-Site將會是後續的一個特色,但是在現行的.NET Core 3.0,並不會包含此功能,Blazor Server-Site則是會成為.NET Core 3.0一部分,並被發行
  9. 甚麼是Work Services?  Work Services是在.NET Core 3.0中一個新的樣板,你可以透過它去執行需要一段長時間處理的程序。它本身是一個跨平台的模型,所以,它可以被執行在Windows Service、Linux的Job、在Azure上的Web Job,甚至在容器中執行。在Asp.NET Core開發中所運用到的configuration, logging和相依性注入的特點,放入到Work Service中。所以,Work Services是 新的 Worker service樣板 能建構一個長時間的應用程序 不一定會有Endpoint 能被運行在Windows Service、Web Job與容器中 和configuration, logging和相依性注入整合
  10. 在新的.NET Core 3.0有了Work Service,因此,接下來就是如何讓Work Service和應用程式進行溝通。在這邊介紹使用gRPC.
  11. 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. gRPC 的主要優點包括: 新式高效能輕量型 RPC 架構。 根據預設使用 Protocol Buffers 的合約優先式 API 開發,使您得以進行不限於語言的實作。 適用於多種語言的工具,可產生強型別伺服器及用戶端。 支援用戶端、伺服器及雙向資料流呼叫。 透過 Protobuf 二進位序列化減少網路使用量。
  12. 首重效率的輕量型微服務。 必須使用多種語言進行開發的多語言系統。 必須處理資料流要求或回應的點對點即時服務。
  13. 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.
  14. .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.
  15. “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!”