SlideShare a Scribd company logo
1 of 17
@thomyg
@stephanbisser
ASP.NET Blazor in a
Microsoft Teams Tab
ABOUT US
THOMAS GÖLLES
MICROSOFT MVP (Office
Dev)
SOLVION
https://thomy.tech
@thomyg
Head of Modern Workplace Solutions
Graz, Austria
STEPHAN BISSER
MICROSOFT MVP (AI)
SOLVION
https://bisser.io
@stephanbisser
Technical Lead
Graz, Austria
What is ASP.NET Blazor?
What is Blazor?
• Interactive web UI with C#
• Composed of reusable UI components
implemented using C#, HTML and CSS
• Yes, another web framework
• A part of ASP.NET (server GA 2019, client May
2020)
• Supported by all major browsers and platforms (IE
through polyfills only)
• A possible migration path for ASP.NET Web Forms
projects
• A way to bring your existing C# business logic to the
web
• Native C# development with JS interop
• Server runs back-end code
• Client is connected through Signal-R
• Server pushes changes to the client
(StateHasChanged)
• Client needs to be online
• Smaller download size
• Better place to store your credentials /
secrets
• Better performance than client side
Blazor
• Using Web Assembly (WASM)
• A mono runtime in your browser runs
DLLs downloaded from the server in a
security sandbox (like JS)
• Offline / PWA
• Larger initial download size
• A little bit slower than server side
Blazor
• Not the perfect place to store your
connection strings
• Runs on an Azure Static Websites
The two versions of Blazor
SERVER CLIENT
What are we trying to solve today?
• Start URL from manifest file
• Authentication (Teams JS SDK, ADAL
JS, Azure AD App)
• Current Teams Context
• Call some Graph Endpoints
• “Blazored PnP Team Roster”
Demo Time!
AUTH with Teams JS SDK and ADAL.JS
Splash Screen
Teams Context
HTTPClient Graph Call
.NET GraphClient Call
Get all apps in a team
Modern PnP Team Roster
Modern PnP Team Roster
Modern PnP Team Roster
Summary

More Related Content

What's hot

Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform Overview
Spiffy
 

What's hot (20)

Silverlight Simon Wilkinson
Silverlight   Simon WilkinsonSilverlight   Simon Wilkinson
Silverlight Simon Wilkinson
 
HTML5 Charting in ASP.NET using RadHtmlChart
HTML5 Charting in ASP.NET using RadHtmlChartHTML5 Charting in ASP.NET using RadHtmlChart
HTML5 Charting in ASP.NET using RadHtmlChart
 
Creating Custom HTML Helpers in ASP.NET MVC
Creating Custom HTML Helpers in ASP.NET MVCCreating Custom HTML Helpers in ASP.NET MVC
Creating Custom HTML Helpers in ASP.NET MVC
 
Weaver Fx Slide Show
Weaver Fx Slide ShowWeaver Fx Slide Show
Weaver Fx Slide Show
 
Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform Overview
 
SPUnite17 TypeScript for SharePoint Developers
SPUnite17 TypeScript for SharePoint DevelopersSPUnite17 TypeScript for SharePoint Developers
SPUnite17 TypeScript for SharePoint Developers
 
Code Europe - Azure Functions
Code Europe - Azure FunctionsCode Europe - Azure Functions
Code Europe - Azure Functions
 
MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)MBaaS (Mobile Backend As a Service)
MBaaS (Mobile Backend As a Service)
 
Serverless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and XamarinServerless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and Xamarin
 
Lap Around ASP.NET MVC 5
Lap Around ASP.NET MVC 5Lap Around ASP.NET MVC 5
Lap Around ASP.NET MVC 5
 
Cross platform app dev with xamarin forms
Cross platform app dev with xamarin formsCross platform app dev with xamarin forms
Cross platform app dev with xamarin forms
 
Visual Studio Code
Visual Studio CodeVisual Studio Code
Visual Studio Code
 
Intel AppUp Day Bologna
Intel AppUp Day BolognaIntel AppUp Day Bologna
Intel AppUp Day Bologna
 
How to ease the learning curve
How to ease the learning curveHow to ease the learning curve
How to ease the learning curve
 
Power BI Day-mvpskill-25082018: Power BI Ecosystem + Embedded & Visualization...
Power BI Day-mvpskill-25082018: Power BI Ecosystem + Embedded & Visualization...Power BI Day-mvpskill-25082018: Power BI Ecosystem + Embedded & Visualization...
Power BI Day-mvpskill-25082018: Power BI Ecosystem + Embedded & Visualization...
 
Java driver for mongo db
Java driver for mongo dbJava driver for mongo db
Java driver for mongo db
 
Application Modernisation - One size does not fit all
Application Modernisation - One size does not fit allApplication Modernisation - One size does not fit all
Application Modernisation - One size does not fit all
 
Building a scalable infrastructure for social mobile web apps
Building a scalable infrastructure for social mobile web appsBuilding a scalable infrastructure for social mobile web apps
Building a scalable infrastructure for social mobile web apps
 
Build your business portal on office 265 : the social company
Build your business portal on office 265 : the social companyBuild your business portal on office 265 : the social company
Build your business portal on office 265 : the social company
 
Basics of Backbone.js
Basics of Backbone.jsBasics of Backbone.js
Basics of Backbone.js
 

Similar to Blazor in Microsoft Teams

SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Bill Ayers
 
Xcelsius vs. Design Studio
Xcelsius vs. Design StudioXcelsius vs. Design Studio
Xcelsius vs. Design Studio
Iliya Ruvinsky
 

Similar to Blazor in Microsoft Teams (20)

Welcome to Blazor
Welcome to BlazorWelcome to Blazor
Welcome to Blazor
 
Microsoft teams & bot framework - A developer's perspective
Microsoft teams & bot framework - A developer's perspectiveMicrosoft teams & bot framework - A developer's perspective
Microsoft teams & bot framework - A developer's perspective
 
VizEx View HTML5 workshop 2017
VizEx View HTML5 workshop 2017VizEx View HTML5 workshop 2017
VizEx View HTML5 workshop 2017
 
BizTalk Server 2016: What's new (por Mariano Robles)
BizTalk Server 2016: What's new (por Mariano Robles)BizTalk Server 2016: What's new (por Mariano Robles)
BizTalk Server 2016: What's new (por Mariano Robles)
 
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
 
Creating CICS Web Services
Creating CICS Web ServicesCreating CICS Web Services
Creating CICS Web Services
 
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s PerspectiveESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
 
HostBridge Virtual User Group December 2020
HostBridge Virtual User Group December 2020HostBridge Virtual User Group December 2020
HostBridge Virtual User Group December 2020
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFx
 
The new Azure App Service Architecture
The new Azure App Service ArchitectureThe new Azure App Service Architecture
The new Azure App Service Architecture
 
BizTalk roadmap and Biztalk 2016 (Sam Vanhoutte @ Codit's BizTalk 2016 Launch)
BizTalk roadmap and Biztalk 2016 (Sam Vanhoutte @ Codit's BizTalk 2016 Launch)BizTalk roadmap and Biztalk 2016 (Sam Vanhoutte @ Codit's BizTalk 2016 Launch)
BizTalk roadmap and Biztalk 2016 (Sam Vanhoutte @ Codit's BizTalk 2016 Launch)
 
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
 
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
 
Xcelsius vs. Design Studio
Xcelsius vs. Design StudioXcelsius vs. Design Studio
Xcelsius vs. Design Studio
 
Building microservices with azure functions
Building microservices with azure functionsBuilding microservices with azure functions
Building microservices with azure functions
 
What's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersWhat's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET Developers
 
Relearning SharePoint Development
Relearning SharePoint DevelopmentRelearning SharePoint Development
Relearning SharePoint Development
 

More from Thomas Gölles

More from Thomas Gölles (20)

Blazor + Bot Framework = a Microsoft Teams Platform Dream Team
Blazor + Bot Framework = a Microsoft Teams Platform Dream TeamBlazor + Bot Framework = a Microsoft Teams Platform Dream Team
Blazor + Bot Framework = a Microsoft Teams Platform Dream Team
 
Scottish Summit 2021 The Myth of a successful Teams rollout
Scottish Summit 2021 The Myth of a successful Teams rolloutScottish Summit 2021 The Myth of a successful Teams rollout
Scottish Summit 2021 The Myth of a successful Teams rollout
 
MCCCH Dez 2020 Meetup M365CLI Intro
MCCCH Dez 2020 Meetup M365CLI IntroMCCCH Dez 2020 Meetup M365CLI Intro
MCCCH Dez 2020 Meetup M365CLI Intro
 
Collab daysbenelux2020 top 5 cognitive services for microsoft 365 - bisser go...
Collab daysbenelux2020 top 5 cognitive services for microsoft 365 - bisser go...Collab daysbenelux2020 top 5 cognitive services for microsoft 365 - bisser go...
Collab daysbenelux2020 top 5 cognitive services for microsoft 365 - bisser go...
 
Teams community day april 2020 microsoft teams as app platform thomas goelles
Teams community day april 2020 microsoft teams as app platform   thomas goellesTeams community day april 2020 microsoft teams as app platform   thomas goelles
Teams community day april 2020 microsoft teams as app platform thomas goelles
 
SPS Oslo : 10 things you should do with your O365 demo or dev tenant
SPS Oslo : 10 things you should do with your O365 demo or dev tenant SPS Oslo : 10 things you should do with your O365 demo or dev tenant
SPS Oslo : 10 things you should do with your O365 demo or dev tenant
 
Thrive 2019 Building intelligent bots for your modern workplace best practic...
Thrive 2019  Building intelligent bots for your modern workplace best practic...Thrive 2019  Building intelligent bots for your modern workplace best practic...
Thrive 2019 Building intelligent bots for your modern workplace best practic...
 
Chzech SharePoint Conference - intranets on share point and office365 - the g...
Chzech SharePoint Conference - intranets on share point and office365 - the g...Chzech SharePoint Conference - intranets on share point and office365 - the g...
Chzech SharePoint Conference - intranets on share point and office365 - the g...
 
Czech SharePoint Conference 2019 - 10 things you should do with your o365 dem...
Czech SharePoint Conference 2019 - 10 things you should do with your o365 dem...Czech SharePoint Conference 2019 - 10 things you should do with your o365 dem...
Czech SharePoint Conference 2019 - 10 things you should do with your o365 dem...
 
SharePoint Saturday Belgium 2019 Unite your modern workplace with microsofst...
SharePoint Saturday Belgium 2019  Unite your modern workplace with microsofst...SharePoint Saturday Belgium 2019  Unite your modern workplace with microsofst...
SharePoint Saturday Belgium 2019 Unite your modern workplace with microsofst...
 
SharePoint Saturday Helsinki 2019 - Unite your Modern Workplace with Microsof...
SharePoint Saturday Helsinki 2019 - Unite your Modern Workplace with Microsof...SharePoint Saturday Helsinki 2019 - Unite your Modern Workplace with Microsof...
SharePoint Saturday Helsinki 2019 - Unite your Modern Workplace with Microsof...
 
Microsoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AIMicrosoft Teams Development - Conversational AI
Microsoft Teams Development - Conversational AI
 
Communication Sites and the SharePoint Starter Kit
Communication Sites and the SharePoint Starter KitCommunication Sites and the SharePoint Starter Kit
Communication Sites and the SharePoint Starter Kit
 
Solvion Trend Werkstatt juni 2019 - Microsoft Teams
Solvion Trend Werkstatt juni 2019  - Microsoft TeamsSolvion Trend Werkstatt juni 2019  - Microsoft Teams
Solvion Trend Werkstatt juni 2019 - Microsoft Teams
 
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft TeamsSharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
SharePoint Saturday Warsaw - Conversational AI applications in Microsoft Teams
 
SharePoint Saturday Brno 2019 Thomas Goelles - SPFx
SharePoint Saturday Brno 2019 Thomas Goelles - SPFxSharePoint Saturday Brno 2019 Thomas Goelles - SPFx
SharePoint Saturday Brno 2019 Thomas Goelles - SPFx
 
SharePoint Saturday Brno 2019 Thomas Goelles
SharePoint Saturday Brno 2019 Thomas GoellesSharePoint Saturday Brno 2019 Thomas Goelles
SharePoint Saturday Brno 2019 Thomas Goelles
 
North American Collaboration Summit 2019 Bisser, Gölles
North American Collaboration Summit 2019 Bisser, GöllesNorth American Collaboration Summit 2019 Bisser, Gölles
North American Collaboration Summit 2019 Bisser, Gölles
 
O365 Meetup Seattle March 21st 2019
O365 Meetup Seattle March 21st 2019O365 Meetup Seattle March 21st 2019
O365 Meetup Seattle March 21st 2019
 
SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...
SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...
SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Blazor in Microsoft Teams

  • 2. ABOUT US THOMAS GÖLLES MICROSOFT MVP (Office Dev) SOLVION https://thomy.tech @thomyg Head of Modern Workplace Solutions Graz, Austria STEPHAN BISSER MICROSOFT MVP (AI) SOLVION https://bisser.io @stephanbisser Technical Lead Graz, Austria
  • 3. What is ASP.NET Blazor?
  • 4. What is Blazor? • Interactive web UI with C# • Composed of reusable UI components implemented using C#, HTML and CSS • Yes, another web framework • A part of ASP.NET (server GA 2019, client May 2020) • Supported by all major browsers and platforms (IE through polyfills only) • A possible migration path for ASP.NET Web Forms projects • A way to bring your existing C# business logic to the web • Native C# development with JS interop
  • 5. • Server runs back-end code • Client is connected through Signal-R • Server pushes changes to the client (StateHasChanged) • Client needs to be online • Smaller download size • Better place to store your credentials / secrets • Better performance than client side Blazor • Using Web Assembly (WASM) • A mono runtime in your browser runs DLLs downloaded from the server in a security sandbox (like JS) • Offline / PWA • Larger initial download size • A little bit slower than server side Blazor • Not the perfect place to store your connection strings • Runs on an Azure Static Websites The two versions of Blazor SERVER CLIENT
  • 6. What are we trying to solve today? • Start URL from manifest file • Authentication (Teams JS SDK, ADAL JS, Azure AD App) • Current Teams Context • Call some Graph Endpoints • “Blazored PnP Team Roster”
  • 8. AUTH with Teams JS SDK and ADAL.JS
  • 13. Get all apps in a team
  • 14. Modern PnP Team Roster
  • 15. Modern PnP Team Roster
  • 16. Modern PnP Team Roster