SlideShare a Scribd company logo
Blazor – The New Silverlight?
#THRIVEITCONF
Agenda
Intro to
WebAssembly
Intro to Blazor Creating a
Blazor
Component
Christian Nagel
• Independent Consultant
• Training
• Coaching
• Coding
• Writing
csharp.christiannagel.com
www.cninnovation.com
@christiannagel
Microsoft MVP
What is Silverlight?
• Write .NET Source Code
• Runs in a few browsers
• Runs on some platforms
• Requires Browser-Plug-Ins
Blazor - The New Silverlight?
INTRO TO WEBASSEMBLY
RUN BINARY CODE
IN THE BROWSER
WebAssembly
• Wasm Bytecode
• Sandboxed environment
• Part of the Open Web Platform
• https://www.w3.org/TR/wasm-core-1/
WASM 1.0 vs .NET IL
• Simpler
• Linear memory
• No GC
• Can't access DOM
• JavaScript Interop
• MVP (Minimum Viable Product)
Demo
Hello, world
WebAssembly
Demo App
WebAssembly Design Goals
Fast
Safe
Portable
• near native code performance
• validated, memory-safe, sandboxed
• Hardware-independent
• Language-independent
• Platform-independent
• Image/Video edit
• Games
• Peer-to-peer apps
• Music apps
• CAD apps
• Local web server
• Fat clients
• Language interpreters,
virtual machines
Use Cases
WASM after MVP – In-Progress
• Threads
• Exception Handling
• Garbage Collection
• Reference DOM directly
• Bulk Memory Operations
Blazor - The New Silverlight?
INTRO TO BLAZOR
Demo
Razor Pages
Visual Studio
Templates
Mono Runtime
Dependency
Injection
Runtime
• Mono runtime built with Wasm
• Interpreter, JIT, AOT
Dependency Injection
• Framework
• Using Microsoft.Extensions.DependencyInjection
• BlazorWebAssemblyHost
• Registers core services
• @inject
• Inject services into components
Razor Pages
• Blazor UI based on Razor Pages
• Razor Pages are new since .NET Core 2.0
• @page directive for routing
• Layouts derive from BlazorLayoutComponent
Blazor - The New Silverlight?
CREATING A COMPONENT
Razor Components
• Use it from other components
• Like HTML Elements
#ThriveITConf
Demo
Use a Component
Razor Page
Inject HttpClient
JSON Extensions
Binding
What is Silverlight?
• Write .NET Source Code
• Runs in a few browsers
• Runs on some platforms
• Requires Browser-Plug-Ins
• Write .NET Source Code
• Runs in a few browsers
• Runs on some platforms
• Requires Browser-Plug-Ins
• Write .NET Source Code
• Runs in all modern browsers
• Runs on many platforms
• No Plug-In required
What is Silverlight? What is Blazor?
Hosting
• Blazor can be hosted in Azure Storage
• Azure Functions for the API Backend
#ThriveITConf
What's released first?
• Razor Components
• Part of ASP.NET Core 3.0
#ThriveITConf
.NET WebAssembly Alternatives
• Blazor
• Browser & Razor
• https://blazor.net
• Ooui
• Xamarin.Forms running in WebAssembly
• https://github.com/praeclarum/Ooui/wiki/Xamarin.Forms-with-Web-Assembly
• Uno Platform
• UWP running in WebAssembly
• https://platform.uno/
#ThriveITConf
Summary
• WebAssembly is at the beginning
• Blazor allows writing .NET Code for the client
• Blazor supports all modern browsers
• Use your ASP.NET Core knowledge
• It's early!
• Try it out
• Visual Studio 2019 Preview
• .NET Core 2.1
• Blazor Preview
• https://blazor.net
• https://learn-blazor.com
• https://github.com/aspnet/AspNetC
ore/tree/master/src/Components
• https://csharp.christiannagel.com
• https://github.com/cninnovation/thr
iveconf
For Action
Questions?
#ThriveITConf
THANK YOU!
https://www.cninnovation.com
https://csharp.christiannagel.com

More Related Content

PPTX
DevDay 2018 - Blazor
Denis Voituron
 
PPT
Front-End Tools and Workflows
Sara Vieira
 
PPTX
Blazor - .NET in the Browser!
David Paquette
 
PPTX
Blazor v1.1
Juan Luis Guerrero Minero
 
PDF
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Conference
 
PPTX
Host, deploy & scale Blazor Server Apps
Jose Javier Columbie
 
PPTX
Blazor
Sandun Perera
 
PPTX
Testing your Single Page Application
Wekoslav Stefanovski
 
DevDay 2018 - Blazor
Denis Voituron
 
Front-End Tools and Workflows
Sara Vieira
 
Blazor - .NET in the Browser!
David Paquette
 
Shift Remote: JS - Javascript Build Tools: Past & Beyond - Shedrack Akintayo
Shift Conference
 
Host, deploy & scale Blazor Server Apps
Jose Javier Columbie
 
Testing your Single Page Application
Wekoslav Stefanovski
 

What's hot (20)

PPTX
A practical approach on - How to design offline-online synchronization system
Foyzul Karim
 
PPTX
Pyramid web framework
Nathan Van Gheem
 
PPTX
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"
Fwdays
 
PPT
Web assembly overview by Mikhail Sorokovsky
Valeriia Maliarenko
 
PPTX
Deploying JEE to Heroku
Bogdan Marian
 
PDF
JEE Conf 2015: Less JS!
_Dewy_
 
PPTX
Creating a CI/CD Pipeline for a Java EE Application in the Cloud
Bogdan Marian
 
PDF
Content as a Service: What to Know About Decoupled CMS
Pantheon
 
PPTX
Blazor
Rafał Hryniewski
 
PDF
The Dark Side of Single Page Applications
Dor Kalev
 
KEY
Rapid development with Rails
Yi-Ting Cheng
 
PDF
Why use Go for web development?
Weng Wei
 
PPTX
Decoupled Architecture and WordPress
Pantheon
 
PPTX
Ruby on rails
Batzorigt Rentsen
 
PPTX
Knockout
hamman359
 
PPTX
Full stack web development with c# and web assembly - Blazor.Net
Ruwantha Ratnayake
 
PPTX
PHP Indonesia - Nodejs Web Development
Irfan Maulana
 
PDF
Going mobile with RichFaces
Lukáš Fryč
 
PDF
Afrimadoni the power of docker
PHP Indonesia
 
PDF
Introduction to Django (GDays 2014)
Edem Kumodzi
 
A practical approach on - How to design offline-online synchronization system
Foyzul Karim
 
Pyramid web framework
Nathan Van Gheem
 
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"
Fwdays
 
Web assembly overview by Mikhail Sorokovsky
Valeriia Maliarenko
 
Deploying JEE to Heroku
Bogdan Marian
 
JEE Conf 2015: Less JS!
_Dewy_
 
Creating a CI/CD Pipeline for a Java EE Application in the Cloud
Bogdan Marian
 
Content as a Service: What to Know About Decoupled CMS
Pantheon
 
The Dark Side of Single Page Applications
Dor Kalev
 
Rapid development with Rails
Yi-Ting Cheng
 
Why use Go for web development?
Weng Wei
 
Decoupled Architecture and WordPress
Pantheon
 
Ruby on rails
Batzorigt Rentsen
 
Knockout
hamman359
 
Full stack web development with c# and web assembly - Blazor.Net
Ruwantha Ratnayake
 
PHP Indonesia - Nodejs Web Development
Irfan Maulana
 
Going mobile with RichFaces
Lukáš Fryč
 
Afrimadoni the power of docker
PHP Indonesia
 
Introduction to Django (GDays 2014)
Edem Kumodzi
 
Ad

Similar to Blazor - The New Silverlight? (20)

PPTX
Blazor.pptx
ssuserb1d1a2
 
PPTX
Blazor and more.pptx
Jürgen Gutsch
 
KEY
Benefits of an Open environment with Wakanda
Alexandre Morgaut
 
PPT
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Gabriel Villa
 
PPTX
Web development - Developing Web as A Team
Muhammad Akbar Yasin
 
PPT
Top 10 web application development frameworks 2016
iMOBDEV Technologies Pvt. Ltd.
 
PPT
Dot net Online Training | .Net Training and Placement online
Garuda Trainings
 
PPT
Native App Development for iOS, Android, and Windows with Visual Studio
Xamarin
 
PDF
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Samsung Open Source Group
 
PPTX
TypeScript Introduction
Travis van der Font
 
PDF
The shift to the edge
Jakub Wadolowski
 
PPTX
Les nouveautés ASP.NET 5 avec Visual Studio 2015
MSDEVMTL
 
PPTX
Deep dive into share point framework webparts
Prabhu Nehru
 
PPT
Introduction to node.js aka NodeJS
JITENDRA KUMAR PATEL
 
PPTX
JavaScript in Universal Windows Platform apps
Timmy Kokke
 
PPTX
External JavaScript Widget Development Best Practices (updated) (v.1.1)
Volkan Özçelik
 
PPTX
Developing Cross-Platform Web Apps with ASP.NET Core1.0
EastBanc Tachnologies
 
PPTX
External JavaScript Widget Development Best Practices
Volkan Özçelik
 
KEY
20120802 timisoara
Richard Rodger
 
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
FITC
 
Blazor.pptx
ssuserb1d1a2
 
Blazor and more.pptx
Jürgen Gutsch
 
Benefits of an Open environment with Wakanda
Alexandre Morgaut
 
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Gabriel Villa
 
Web development - Developing Web as A Team
Muhammad Akbar Yasin
 
Top 10 web application development frameworks 2016
iMOBDEV Technologies Pvt. Ltd.
 
Dot net Online Training | .Net Training and Placement online
Garuda Trainings
 
Native App Development for iOS, Android, and Windows with Visual Studio
Xamarin
 
Stealing Chromium: Embedding HTML5 with the Servo Browser Engine (LinuxCon NA...
Samsung Open Source Group
 
TypeScript Introduction
Travis van der Font
 
The shift to the edge
Jakub Wadolowski
 
Les nouveautés ASP.NET 5 avec Visual Studio 2015
MSDEVMTL
 
Deep dive into share point framework webparts
Prabhu Nehru
 
Introduction to node.js aka NodeJS
JITENDRA KUMAR PATEL
 
JavaScript in Universal Windows Platform apps
Timmy Kokke
 
External JavaScript Widget Development Best Practices (updated) (v.1.1)
Volkan Özçelik
 
Developing Cross-Platform Web Apps with ASP.NET Core1.0
EastBanc Tachnologies
 
External JavaScript Widget Development Best Practices
Volkan Özçelik
 
20120802 timisoara
Richard Rodger
 
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
FITC
 
Ad

More from Christian Nagel (20)

PDF
Async streams
Christian Nagel
 
PDF
C# 9 and 10 - What's cool?
Christian Nagel
 
PDF
Azure App Configuration with .NET applications
Christian Nagel
 
PDF
C# 9 - What's the cool stuff? - BASTA! Spring 2021
Christian Nagel
 
PDF
.NET Core Foundations - Dependency Injection, Logging & Configuration - BASTA...
Christian Nagel
 
PDF
C# 8 in Libraries and Applications - BASTA! Frankfurt 2020
Christian Nagel
 
PDF
Entity Framework Core 1.x/2.x Advanced
Christian Nagel
 
PDF
Gemeinsame View-Models mit XAML Technologien
Christian Nagel
 
PDF
C# 8 in Libraries and Applications
Christian Nagel
 
PDF
C# 8 and .NET Core 3
Christian Nagel
 
PDF
.NET Core 3.0 - What's new?
Christian Nagel
 
PDF
Adaptive Cards - User Interfaces with JSON
Christian Nagel
 
PDF
Reference Semantik mit C# und .NET Core - BASTA 2019
Christian Nagel
 
PDF
C# What's next? (7.x and 8.0)
Christian Nagel
 
PDF
C# 7.x What's new and what's coming with C# 8
Christian Nagel
 
PDF
Desktop Bridge with WPF - One way to build modern apps with WPF
Christian Nagel
 
PDF
Reference Semantics with C# and .NET Core
Christian Nagel
 
PDF
C# - What's next
Christian Nagel
 
PDF
Business Apps with the Universal Windows Platform
Christian Nagel
 
PDF
Blazor - The New Silverlight?
Christian Nagel
 
Async streams
Christian Nagel
 
C# 9 and 10 - What's cool?
Christian Nagel
 
Azure App Configuration with .NET applications
Christian Nagel
 
C# 9 - What's the cool stuff? - BASTA! Spring 2021
Christian Nagel
 
.NET Core Foundations - Dependency Injection, Logging & Configuration - BASTA...
Christian Nagel
 
C# 8 in Libraries and Applications - BASTA! Frankfurt 2020
Christian Nagel
 
Entity Framework Core 1.x/2.x Advanced
Christian Nagel
 
Gemeinsame View-Models mit XAML Technologien
Christian Nagel
 
C# 8 in Libraries and Applications
Christian Nagel
 
C# 8 and .NET Core 3
Christian Nagel
 
.NET Core 3.0 - What's new?
Christian Nagel
 
Adaptive Cards - User Interfaces with JSON
Christian Nagel
 
Reference Semantik mit C# und .NET Core - BASTA 2019
Christian Nagel
 
C# What's next? (7.x and 8.0)
Christian Nagel
 
C# 7.x What's new and what's coming with C# 8
Christian Nagel
 
Desktop Bridge with WPF - One way to build modern apps with WPF
Christian Nagel
 
Reference Semantics with C# and .NET Core
Christian Nagel
 
C# - What's next
Christian Nagel
 
Business Apps with the Universal Windows Platform
Christian Nagel
 
Blazor - The New Silverlight?
Christian Nagel
 

Recently uploaded (20)

DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PDF
Immersive experiences: what Pharo users do!
ESUG
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
Immersive experiences: what Pharo users do!
ESUG
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
Activate_Methodology_Summary presentatio
annapureddyn
 

Blazor - The New Silverlight?