SlideShare a Scribd company logo
WebAssembly and .NET
Xamarin in Web browser?
Joanna Lamch
2018
WebAssembly and .NET
• Web / JavaScript History
• Web Assembly what?
• Web Assembly why?
• Web Assembly how?
• Xamarin? Mono!
• Blazor
• Ooui
• Uno
jlamch.net
• Joanna Lamch
• JLamch@gmail.com
• JLamch.blogspot.com
• Impostor
Who am I ?
Joanna Lamch
JLamch@gmail.com
JLamch.net
ProgramistkaIKot.pl
Microsoft fanboy
Developer C#
.NET Framework 1.1
15 years (+ overtime)
Xamarin
SIENN
Śląska Grupa Microsoft
Women In Technology
Impostor
Back in the days…
1991
Hypertext, HTML, HTTP
Text displayed on a electronic devices with
references (hyperlinks) to other text that the reader
can immediately access.
Hypertext documents are interconnected by
hyperlinks, which are activated by a mouseClick,
keypress set or by touching the screen. „Hypertext"
is also used to describe tables, images, and
other content formats with integrated hyperlinks.
Hypertext is one of the key underlying concepts of
the WorldWide Web, where Web pages are often
written in the Hypertext Markup Language (HTML).
As implemented on the Web, hypertext enables the
easy-to-use publication of information over
the Internet.
The HypertextTransfer Protocol (HTTP) is
an application protocol for distributed, collaborative,
and hypermedia information systems. HTTP is the
protocol to exchange or transfer hypertext.
1996
created in 10 days in May 1995, by Brendan Eich for Netscape
Adding interactivity to HTML pages
JavaScript
1995
JavaScript
1995
JavaScript
1995
Other plugins
Java Applets [1997]
ActiveX [1996]
Flash [1996]
Silverlight [2007]
All of them are deprecated
or will be deprecated soon
1996+
Browser performance wars (2008+)
Browser performance wars (2008+)
https://blog.mozilla.org/luke/2014/01/14/asm-js-aot-compilation-and-startup-performance/
OdinMonkey / ASM.js
Browser performance wars (2008+)
Different way the same language
there is a LOT of JavaScript
Todays JavaScript
JavaScript is the language of the Web
But it’s not very good Assembly Language
(still human readable simple language)
WebAssembly is not designed to replace JS, but to coexist
A new low-level binary format for the web (WASM)
It’s a bytecode for web (compilation target)
WebAssembly What?
Sandboxed runtime in JS virtual machine
Supported in all big browsers
A low-level binary format
WebAssembly Why?
Offer maximized performance
Security it runs locally so it's more secure
Compiled from other languages
WASM opens possibilities for other languages
Emscripten is a source-to-source compiler that runs as a back end to
the LLVM compiler and produces a subset of JavaScript known
as asm.js. It can also produce WebAssembly. This allows applications
and libraries originally designed to run as standard executables to be
integrated into client side web applications. asm.js can be compiled by
browsers ahead of time meaning that the compiled programs can run
much faster than those traditionally written in JavaScript.
WebAssembly How?
$emcc –s WASM=1 -o example.js example.cpp
WebAssembly How?
Executes the Emscripten compiler
Name our output file
Emscripten outputs WebAssembly - switch
Input file
WebAssembly studio C/Rust/TypeScript
https://hacks.mozilla.org/2018/04/sneak-peek-at-webassembly-studio/
WASM in real world
Figma
https://www.figma.com/
https://www.youtube.com/
watch?v=Kf1gILChfks
http://through-the-interface.typepad.com/through_the_interface/2018/03/the-future-of-autocad.html
WASM in real world
Figma
https://www.figma.com/
https://www.youtube.com/watch?v=Kf1gILChfks
Other demos
https://s3.amazonaws.com/mozilla-
games/ZenGarden/EpicZenGarden.html?fbclid=IwAR0_uAensGfTj1Mzp4wXgVoxZjquxRo_uu2YD8
yDuleTpPohaXyilDd82X8
https://bellard.org/jslinux/vm.html?url=https://bellard.org/jslinux/win2k.cfg&mem=192
&graphic=1&w=1024&h=768
https://aesalazar.github.io/AsteroidsWasm/
http://sqliteefcore-wasm.platform.uno/
https://raytracer-mono-aot.platform.uno/
DOM manipulation and Web.API
Multithreading (with shared memory)
Garbage Collector
More fully supported languages
WebAssembly future
https://www.youtube.com/watch?v=BnYq7JapeDA
Stable, mature, productive: .NET Standard, MSBuild
Fast, scalable, reliable: .NET Core for backend services
Modern languages: Innovations in C#, F#, Razor
First-rate dev tools: Visual Studio, IntelliSense
Solid foundation to build on
Leverage existing skills and knowledge
BecauseWe can
Why use .NET for browser apps?
.NET
WASM and C# - first of all MONO
https://github.com/migueldeicaza/mono-wasm
https://www.mono-project.com/news/2018/09/11/csharp-jit/
https://twitter.com/migueldeicaza/status/1039639597435641856
BrowserB
WASM + C#
JavaScript Interop
Interop
UI thread
Blazor
Browser + Razor = Blazor!
.cs
.cshtml
BROWSER
WebAssembly
(mono.wasm)
.NET
(mscorlib.dll, System.Core.dll,…)
App.dll
Compile to .NET
assemblies
Blazor client only
Blazor sample
Blazor client & server
Client-side Blazor in Web Worker (future)
Browser
UI Web Worker
Blazor
Frank A. Kruger
Because I can
Because I love Xamarin
Because I can’t create web pages
https://github.com/praeclarum/Ooui
OOUI pronounced weee!
Xamarin.Forms
iOS Renderers Android Renderers Windows Renderers
Shared C# App Logic
(ViewModels, Models etc)
Mono .NET
DLLs
(external packages & libraries)
Shared C# UI Code
(Xamarin.Forms XAML)
C# Platform Specific C# Platform Specific C# Platform Specific
Ooui
C# Platform Specific C# Platform Specific C# Platform Specific
iOS Renderers Android Renderers Windows Renderers
Shared C# App Logic
(ViewModels, Models etc)
Mono .NET
DLLs
(external packages & libraries)
Shared C# UI Code
(Xamarin.Forms XAML)
Web Platform Specific
Web Renderers
OOUI + WASM
C# Runtime
Business Logic
Xamarin.Forms
Ooui
Shared C# App Logic
(ViewModels, Models etc)
DLLs
Shared C# UI Code
(Xamarin.Forms XAML)
Web Renderers
Mono.wasm.NET
(mscorlib.dll, System.Core.dll,…)
OOUI + WASM
C# Runtime
Business Logic
Xamarin.Forms
Shared C# App Logic
(ViewModels, Models etc)
DLLs
Shared C# UI Code
(Xamarin.Forms XAML)
Web Renderers
Mono.wasm
WHAAAT??
.NET
(mscorlib.dll, System.Core.dll,…)
UNO
https://platform.uno/
UNO
Uno
Xamarin Forms
Platforms iOS, Android, UWP, Wasm iOS, Android, UWP, WPF, macOS, Wasm
WebAssembly Yes Yes
Dev Loop Windows-first, XAML Edit & Continue,
C# Edit & Continue
Hot-reload
Cross Platform Controls Full, Control templating, Data templating,
Styling, Rich Animations
Platform Specific Styles, Renderers per platform,
Limited Animations
XAML Standard Full (UWP) Limited
UWP Code Support MVVM Light, MS XAML Behaviors,
MVVM Cross (soon),
Reactive UI, Any UWP Project
MVVM Light, MVVM Cross, Reactive UI
Responsive Design Visual State Manager,
State Triggers, Adaptive Triggers
Visual State Manager
Platform Specific Native Controls &
Properties via
conditional namespaces
Renderers/effects
https://raytracer-mono-aot.platform.uno/
50x faster
Uno & Mono AOT
Possibilities
Flexibility
Diversity
Cross-platform
Promise of bright tomorrow for todays projects
So WebAssembly?
WebAssembly and .NET
•Web Assembly - everything
•Blazor - Razor
•Ooui – Xamarin.Forms
•Uno – UWP, SilverLight…
Questions?
Bibliography
https://webassembly.org/docs/high-level-goals/
https://www.youtube.com/watch?v=HktWin_LPf4&feature=
youtu.be
https://www.youtube.com/watch?v=pBYqen3B2gc
https://www.youtube.com/watch?v=BnYq7JapeDA
https://www.youtube.com/watch?v=kS29TT4wk44&feature
=youtu.be
https://github.com/mbasso/awesome-wasm
https://github.com/migueldeicaza/mono-wasm
https://superkotlin.com/kotlin-and-webassembly/
https://medium.com/@mumarov/how-to-get-started-with-
kotlin-native-and-web-assembly-baa2813f0d9
https://github.com/DenisKolodin/yew
https://www.mergeconflict.fm/89
https://dotnetrocks.com/?show=1539
https://dotnetrocks.com/?show=1540
https://dotnetrocks.com/?show=1537
https://www.hanselman.com/blog/NETAndWebAssemblyIsT
hisTheFutureOfTheFrontend.aspx
https://hacks.mozilla.org/2018/04/sneak-peek-at-
webassembly-studio/
https://github.com/migueldeicaza/mono-wasm?WT.mc_id=-blog-
scottha
https://blog.logrocket.com/working-with-the-blazor-javascript-interop-
3c2a8d0eb56c
https://s3.amazonaws.com/mozilla-games/ZenGarden/EpicZenGarden.html
https://blog.logrocket.com/working-with-the-blazor-javascript-
interop-3c2a8d0eb56c
Ankieta / Poll
Będzie mi miło móc ulepszyć moją prezentację
dzięki Twoim komentarzom, dlatego proszę Cię
o wypełnienie ankiety, bądź kontakt mailowy.
I will be pleased to be able to improve my
presentation thanks to your comments, so
please fill in the questionnaire or contact me
via email.
Działanie pociąga za sobą
koszty i ryzyko, ale o wiele
mniejsze niż te, które wiążą
się z wygodną bezczynnością
Joanna Lamch
JLamch@gmail.com
JLamch.net

More Related Content

What's hot

Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databindingDev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Stuart Lodge
 
ASP Dot Net Software Development in India - iFour Technolab
ASP Dot Net Software Development in India - iFour TechnolabASP Dot Net Software Development in India - iFour Technolab
ASP Dot Net Software Development in India - iFour Technolab
iFour Technolab Pvt. Ltd.
 
Web II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentWeb II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side development
Randy Connolly
 
PHP and Silverlight
PHP and SilverlightPHP and Silverlight
PHP and Silverlight
Maarten Balliauw
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver light
jayc8586
 
ASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVCASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVC
Bilal Amjad
 
Flex 4 Overview
Flex 4 OverviewFlex 4 Overview
Flex 4 Overview
RJ Owen
 
Microsoft Silverlight - An Introduction
Microsoft Silverlight - An IntroductionMicrosoft Silverlight - An Introduction
Microsoft Silverlight - An Introduction
Mohammad Elsheimy
 
Hot tuna - from Sean Cross
Hot tuna - from Sean CrossHot tuna - from Sean Cross
Hot tuna - from Sean CrossStuart Lodge
 
Modern Web App Architectures
Modern Web App ArchitecturesModern Web App Architectures
Modern Web App Architectures
Raphael Stary
 
HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09
mihaiionescu
 
Open Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskOpen Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kiosk
Dave McAllister
 
Joe Staner Zend Con 2008
Joe Staner Zend Con 2008Joe Staner Zend Con 2008
Joe Staner Zend Con 2008
ZendCon
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: Overview
Tarun Telang
 
MvvmCross
MvvmCrossMvvmCross
MvvmCross
ross.dargan
 
PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoft
nusmas
 

What's hot (17)

Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databindingDev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
 
ASP Dot Net Software Development in India - iFour Technolab
ASP Dot Net Software Development in India - iFour TechnolabASP Dot Net Software Development in India - iFour Technolab
ASP Dot Net Software Development in India - iFour Technolab
 
Web II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentWeb II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side development
 
PHP and Silverlight
PHP and SilverlightPHP and Silverlight
PHP and Silverlight
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver light
 
ASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVCASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVC
 
Flex 4 Overview
Flex 4 OverviewFlex 4 Overview
Flex 4 Overview
 
Microsoft Silverlight - An Introduction
Microsoft Silverlight - An IntroductionMicrosoft Silverlight - An Introduction
Microsoft Silverlight - An Introduction
 
Hot tuna - from Sean Cross
Hot tuna - from Sean CrossHot tuna - from Sean Cross
Hot tuna - from Sean Cross
 
Modern Web App Architectures
Modern Web App ArchitecturesModern Web App Architectures
Modern Web App Architectures
 
HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09
 
Open Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskOpen Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kiosk
 
Joe Staner Zend Con 2008
Joe Staner Zend Con 2008Joe Staner Zend Con 2008
Joe Staner Zend Con 2008
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: Overview
 
MvvmCross
MvvmCrossMvvmCross
MvvmCross
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
 
PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoft
 

Similar to WebAssembly and .NET

Flex RIA
Flex RIAFlex RIA
Flex RIA
rssharma
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
JohnTaieb
 
Chapter 1
Chapter 1Chapter 1
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightFrank La Vigne
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
Hosam Kamel
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
bmani
 
WebAssembly WASM Introduction Presentation
WebAssembly WASM Introduction PresentationWebAssembly WASM Introduction Presentation
WebAssembly WASM Introduction Presentation
Brad Beiermann
 
Web Development Environments: Choose the best or go with the rest
Web Development Environments:  Choose the best or go with the restWeb Development Environments:  Choose the best or go with the rest
Web Development Environments: Choose the best or go with the restgeorge.james
 
Cross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and XamarinCross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and Xamarin
Shravan Kumar Kasagoni
 
Web tech
Web techWeb tech
Web tech
SangeethaSasi1
 
Web tech
Web techWeb tech
Web tech
SangeethaSasi1
 
Web techh
Web techhWeb techh
Web techh
SangeethaSasi1
 
Web tech
Web techWeb tech
Web tech
SangeethaSasi1
 
XAML: One Language to Rule Them All
XAML: One Language to Rule Them AllXAML: One Language to Rule Them All
XAML: One Language to Rule Them AllFrank La Vigne
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web Development
Yash Sati
 

Similar to WebAssembly and .NET (20)

Flex RIA
Flex RIAFlex RIA
Flex RIA
 
Adobe® Flex™
Adobe® Flex™Adobe® Flex™
Adobe® Flex™
 
What is Adobe Flex ?
What is Adobe Flex  ?What is Adobe Flex  ?
What is Adobe Flex ?
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Asp.net
Asp.netAsp.net
Asp.net
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Silverlight Training
Silverlight TrainingSilverlight Training
Silverlight Training
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
 
WebAssembly WASM Introduction Presentation
WebAssembly WASM Introduction PresentationWebAssembly WASM Introduction Presentation
WebAssembly WASM Introduction Presentation
 
Web Development Environments: Choose the best or go with the rest
Web Development Environments:  Choose the best or go with the restWeb Development Environments:  Choose the best or go with the rest
Web Development Environments: Choose the best or go with the rest
 
Cross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and XamarinCross-Platform Mobile Development using Visual Studio and Xamarin
Cross-Platform Mobile Development using Visual Studio and Xamarin
 
Web tech
Web techWeb tech
Web tech
 
Web tech
Web techWeb tech
Web tech
 
Web techh
Web techhWeb techh
Web techh
 
Web tech
Web techWeb tech
Web tech
 
XAML: One Language to Rule Them All
XAML: One Language to Rule Them AllXAML: One Language to Rule Them All
XAML: One Language to Rule Them All
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web Development
 
As Pdotnet
As PdotnetAs Pdotnet
As Pdotnet
 

Recently uploaded

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 

Recently uploaded (20)

GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 

WebAssembly and .NET

Editor's Notes

  1. dziekuje ze tak licznie przybyliscie na moja prezentacje i mozliwosc podzielenia się z wami odrobina wiedzy jaka zebrałam …. Nie wiem co dodac Chciałabym wam przybliżyć choć trochę temat web assembly –
  2. Q Kto jest web developerem Kto xam devem Kto desktop WPF UWP QR ze szczegolami skąd się wzięło, dlaczego się pojawilo co to w ogóle jest Jak można napisac Troche powiem o tym czego jeszcze brakuje i co gogle planuje dalej Co do tego wszystkiego ma xamarin I opowiem o kilku frameworkach które kręcą się wokół tego tematu
  3. O mnie… Funboy MS Glownie tego co sie dzieje dookola ms – grupy spolecznosci ludzie Te tapety sa wyrazem ms wychodzacego do programistow Strasznie mi sie podobalo to co ms robil do tej pory dla devow, proba ocieplenia wizerunku
  4. Ale zacznijmy od malego skosu w histori
  5. August 6, 1991 Tim Berners-Lee CERN (on NeXT computer) Hypertext linki I zawartosc
  6. Tylko zawartosc I linki statycznie
  7. Pojawily sie obrazki ale nadal statycznie Wyszukiwarki wyszukiwaly zawartosc
  8. 10 days prototype as Java like language JavaScript enables interactive web pages and thus is an essential part of web applications. Dowcipkowal ze zrobil to na kacu
  9. JS jezyk zrozumialy dla ludzi – latwy do zrozumienia Dynamiczne typy Ale czytelna dla developera – trade off ByteCode is run in interpretor
  10. Nie zaprojektowana aby była szybka Jest wolniej ale jest latwo uzywac wiec wszyscy się na to godza. Poprostu parsowanie I wykonanie. powolne
  11. 2007 W miedzyczasie potrzeba innych jezykow, Potrzeba potezniejszych narzedzi, wiekszych mozliwosci Ale ogromne dziury w zabezpieczeniach I podatnosc na ataki
  12. 2009 node.js and server side JS Coraz lepsze silniki. V8 Chrom, SpiderMonkey – Firefox Chakra – Edge Nitro, SquirrelFish, JavaScriptCore -Safari
  13. Optymalizacja w trakcie uruchomienia OdynMonkey uzywal kompilacji AOT in runtime kbum
  14. Ten wykres moze sie roznic z program na program. Ale jest ten etap reorganizacji kodu I compilacji na zasadzie przygotowania do uzycia
  15. Obecnie JS jest wszedzie. Jest go strasznie duzo Niski prog wejscia, obietnica zycia w swiecie IT Ogromne zapotrzebowanie Ogromne mozliwosci Najbardziej uniwersalna platforma – WEB JS jest jezykiem internetu Ale nie jest jezykiem Assembly – jest human readable language
  16. Compile target for web (bytecode) Uses linear memory WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications.
  17. Rust C C++ GO Kotlin Python Haskell TypeScript Java Hax
  18.   Not designed to replaced JS compilator https://en.wikipedia.org/wiki/Emscripten Emscripten is a source-to-source compiler that runs as a back end to the LLVM compiler and produces a subset of JavaScript known as asm.js.[3] It can also produce WebAssembly.[4] This allows applications and libraries originally designed to run as standard executables to be integrated into client side web applications. asm.js can be compiled by browsers ahead of time meaning that the compiled programs can run much faster than those traditionally written in JavaScript.   asm.js about 5 years ago - plugins time virtual runtime in js virtual machine
  19. Autodesk okolo roku od pierwszego spojrzenia na technologie w pelni dzialajaca aplikacja
  20. Pogrubiony – Maszyna wirtualna linuxowa z osadzonym Windows2000
  21. Multithreading chrome 70
  22. LLVM bitcode 
  23. LLVM bitcode  Mono jest napisane w C++
  24. LLVM bitcode 
  25. WASM calls JS JS calls into WASM
  26. https://codedaze.io/creating-blazor-component-libraries/ https://codedaze.io/blazor-bites-javascript-interop/
  27. Desktop apps with Electron – apps for linux also
  28. XAML
  29. Nventive
  30. UWP XAML
  31. .net core 3 I wpf !
  32. Dziekuje wam za wysluchanie I zachecam do eksperymentowania z webassemblies