Submit Search
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
0 likes
115 views
Jun-ichi Sakamoto
2022/6/25 開催のオープンソースカンファレンス 2022 オンライン Hokkaido で発表した資料です。
Technology
Read more
1 of 31
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
More Related Content
Similar to C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
(20)
PDF
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
Jun-ichi Sakamoto
PPTX
7 つの Blazor
m ishizaki
PPTX
Blazor WebAssembly と Windows Forms でのロジック共有例
Koichi Ota
PPTX
.NET Core 3.0 で Blazor を使用したフルスタック C# Web アプリの構築
Joni
PDF
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
PPTX
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
m ishizaki
PDF
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
Akira Inoue
PDF
WebブラウザでC#実行 WebAssemblyの技術
Sho Okada
PDF
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Shotaro Suzuki
PDF
ASP.NETの進化とASP.NET Core Blazorの凄さ
Sho Okada
PPTX
burikaigi2023
Tatsuya Ishikawa
PDF
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
PDF
Static Web AppsとBlazor WebAssemblyのすすめ
TomomitsuKusaba
PDF
Blazor 触ってみた
Oda Shinsuke
PDF
WebAssemblyが切り拓くフロントエンドWeb開発の未来
Jun-ichi Sakamoto
PDF
【BS2】.NET 6 最新アップデート
日本マイクロソフト株式会社
PPTX
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Yamamoto Reki
PDF
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
日本マイクロソフト株式会社
PDF
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
Tatsuya Ishikawa
PDF
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Shotaro Suzuki
C# で Single Page Web アプリが開発できるフレームワーク&開発環境 「Blazor」 ― その概要と Web アプリ開発者にもたらす利点
Jun-ichi Sakamoto
7 つの Blazor
m ishizaki
Blazor WebAssembly と Windows Forms でのロジック共有例
Koichi Ota
.NET Core 3.0 で Blazor を使用したフルスタック C# Web アプリの構築
Joni
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
Jun-ichi Sakamoto
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
m ishizaki
.NET 6 と Blazor で作るクロスプラットフォームアプリ概要
Akira Inoue
WebブラウザでC#実行 WebAssemblyの技術
Sho Okada
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Shotaro Suzuki
ASP.NETの進化とASP.NET Core Blazorの凄さ
Sho Okada
burikaigi2023
Tatsuya Ishikawa
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
Akira Inoue
Static Web AppsとBlazor WebAssemblyのすすめ
TomomitsuKusaba
Blazor 触ってみた
Oda Shinsuke
WebAssemblyが切り拓くフロントエンドWeb開発の未来
Jun-ichi Sakamoto
【BS2】.NET 6 最新アップデート
日本マイクロソフト株式会社
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Yamamoto Reki
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
日本マイクロソフト株式会社
2024/07/04 Blazor+ローコードで実現する.NET資産のモダナイズ
Tatsuya Ishikawa
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Shotaro Suzuki
More from Jun-ichi Sakamoto
(20)
PDF
Pre-render Blazor WebAssembly on static web hosting at publishing time
Jun-ichi Sakamoto
PDF
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
Jun-ichi Sakamoto
PDF
Azure App Service Authentication
Jun-ichi Sakamoto
PDF
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
Jun-ichi Sakamoto
PDF
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
Jun-ichi Sakamoto
PDF
Ohotech特盛#14 セッション4 予告編
Jun-ichi Sakamoto
PDF
CLR/H 第99回勉強会ライトニングトーク
Jun-ichi Sakamoto
PDF
Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Jun-ichi Sakamoto
PDF
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
PDF
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
Jun-ichi Sakamoto
PDF
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
Jun-ichi Sakamoto
PDF
One horror stories around NuGet
Jun-ichi Sakamoto
PDF
How to automated test a web application with sending e mail feature
Jun-ichi Sakamoto
PDF
Introduction of "MarkdownPresenter"
Jun-ichi Sakamoto
PDF
セッション中に Twitter につぶやく!
Jun-ichi Sakamoto
PDF
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
Jun-ichi Sakamoto
PDF
ASP.NET SignalR によるクイズWebアプリ 「みんなで同時プレイするWebアプリでCodeQuizに挑戦!」
Jun-ichi Sakamoto
PDF
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
Jun-ichi Sakamoto
PDF
ASP.NET で作るとあるTwitter Bot -開発環境からネット公開までぜんぶ無料だよ!-
Jun-ichi Sakamoto
PDF
CLR/H#74 LT IT勉強会発表用イチオシツール
Jun-ichi Sakamoto
Pre-render Blazor WebAssembly on static web hosting at publishing time
Jun-ichi Sakamoto
Azure Application Insights + Angular5+ - Global azure boot camp 2019@sapporo LT
Jun-ichi Sakamoto
Azure App Service Authentication
Jun-ichi Sakamoto
ライトニングトーク - とある LINE Bot の開発記「とても腹立たしいことがあったのです」
Jun-ichi Sakamoto
「ゆるくLTをしよう勉強会@旭川」jsakamoto 予告編
Jun-ichi Sakamoto
Ohotech特盛#14 セッション4 予告編
Jun-ichi Sakamoto
CLR/H 第99回勉強会ライトニングトーク
Jun-ichi Sakamoto
Ohotech特盛#13 スマホで操作するカメラ付きWi-Fiラジコンカー ― C#とラズパイとWebアプリの技術で作っちゃおう! ―
Jun-ichi Sakamoto
はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!
Jun-ichi Sakamoto
息子たちがローマ字勉強するための <s>HTML5</s> Web標準 アプリ作ってみた
Jun-ichi Sakamoto
More Azure Websites! - JAZUGさっぽろ "きたあず" 第5回勉強会ライトニングトーク
Jun-ichi Sakamoto
One horror stories around NuGet
Jun-ichi Sakamoto
How to automated test a web application with sending e mail feature
Jun-ichi Sakamoto
Introduction of "MarkdownPresenter"
Jun-ichi Sakamoto
セッション中に Twitter につぶやく!
Jun-ichi Sakamoto
Ohotech特盛#5予告 - タートルグラフィックでいろんな模様を描いてみよう!
Jun-ichi Sakamoto
ASP.NET SignalR によるクイズWebアプリ 「みんなで同時プレイするWebアプリでCodeQuizに挑戦!」
Jun-ichi Sakamoto
[予告篇] みんなで同時プレイするクイズWebアプリでCodeQuizに挑戦!
Jun-ichi Sakamoto
ASP.NET で作るとあるTwitter Bot -開発環境からネット公開までぜんぶ無料だよ!-
Jun-ichi Sakamoto
CLR/H#74 LT IT勉強会発表用イチオシツール
Jun-ichi Sakamoto
Ad
Recently uploaded
(8)
PDF
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
PDF
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
PDF
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
PDF
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
PDF
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
PDF
20250711_日本IBM ミドルウエア・ユーザー研究会(JIMUC)総会_中村会長資料.pdf
ChikakoInami1
PDF
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
Hyperledger Fabric公式サンプル fabric-samples徹底解説
LFDT Tokyo Meetup
20250710_Devinで切り拓くDB革命_〜価値創出に集中せよ〜.pdf
Masaki Yamakawa
Hyperledger Fabric最新v3.x系での機能強化、変更点にキャッチアップ!
LFDT Tokyo Meetup
人気ブロックチェーン基盤「Hyperledger Fabric」最新版を動かしてみた!
LFDT Tokyo Meetup
プライバシ保護のためのインターネットアーキテクチャの進化 (2025-07-11)
Jun Kurihara
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
NTT DATA Technology & Innovation
20250711_日本IBM ミドルウエア・ユーザー研究会(JIMUC)総会_中村会長資料.pdf
ChikakoInami1
[Hardening Designers Confernece 2025]ランサムウェアでの見えざるログ・見えるログ
kataware
Ad
C# で SPA を作る BLAZOR WEBASSEMBLY の進化 - そしてその先へ
1.
C# で SPA
を作る BLAZOR WEBASSEMBLY の進化 そしてその先へ OSC2022 Online/Hokkaido – E 10:00am
2.
おことわり Disclaimer ▪ 本セッションの録画を後日公開の予定です。 ▪ 本セッションでとりあげる内容は、正確であるように努めたく思 いますが、とりわけ自分があまり明るくない分野の内容について は、当方の認識誤りなど多々あるかもしれません。 ▪
もしお気づきの点などございましたら Twitter のハッシュタグ #osc22do_e10 でお知らせ頂く等していただけますと幸いで す。 ▪ 同じ .NET 上で稼働する言語・処理系として、Visual Basic お よび F# もある一方、本セッションでは時間の都合上、明示的に 言及していません。”C#”の箇所を適宜 F# や VB に読み替え ていただければと思います。
3.
Twitter Hash Tag #osc22do #osc22do_e10
4.
JavaScript 以外の言語で実装する クライアント Web C#
で SPA を書く Blazor が歩んできた道 .NET6 から使える “Native Dependency“ とは Blazor WebAssembly を超えたその先 セッション概要
5.
Client Web Choice JavaScript以外の言語で実装するクライアント Web
6.
JavaScript 以外の言語で実装するクライアント Web ▪
今日、JavaScript 以外の言語で実装したプログラムが、ブラウザで動くのは 珍しくない − インタープリター / WebAssembly にコンパイル / JavaScript にコンパイル ▪ 必ずしも React/Vue/Angular のような SPA ライブラリと同じ構造ではない − コンポーネント指向とは限らない ▪ ブラウザ上ではなくサーバー上で動作し、ブラウザとはリアルタイム通信すること で、イベントの処理と DOM の更新を行なう方式もある − Blazor でいうところの Blazor Server に相当?
7.
ブラウザ上で動作する例 Rust 版 React コンポーネント指向 JSX
風に Rust コード内にマー クアップを記述 Rust は他にも多数のフロントエ ンドライブラリ/フレームワークが 存在する “Rust web framework comparison” Python / PyScript Python 版 jQuery? Python で DOM を操作する コードを書く SPA をゴリゴリ書くというより も、豊富なパッケージ資産でデー タ可視化をサクッと行なう感じ? Ruby / Bormaŝino ブラウザ上で動く Sinatra? ERB でビューを書きコントロー ラを実装して POST / GET / PUT / DELETE を処理する フォーム送信がサーバーに送られ ずブラウザ内のコントローラで処 理して次のビューを描画する Dart / Flutter on the Web Dart コードは JavaScript に コンパイルされる Canvas に全部描画する感じ? (HTML に展開する場合もある 模様) Rust / Yew
8.
サーバー側で動作する例 PHP / Laravel
/ Livewire Ruby / Rails / Hotwire Elixir / Phoenix / LiveView
9.
HISTORY C# で SPA
を書く Blazor が歩んできた道
10.
Blazor が歩んできた道 -
2017年 2017
11.
Blazor が歩んできた道 -
2017年 2017年6月12-16日 NDC Oslo で Steve Sanderson 氏が Blazor をデモ 2017 2018
12.
Blazor が歩んできた道 -
2018年 2017年6月12-16日 NDC Oslo で Steve Sanderson 氏が Blazor をデモ 2017 2018年2月6日 .NET 公式ブログにて、 ASP.NET の実験プロジェクト として公式に紹介 2018 コンポーネントモデル ルーティング レイアウト フォーム検証 依存性注入(DI) JavaScript相互運用 サーバー側レンダリング デバッガ インテリセンス スコープ化された CSS ホットリロード WebAssembly AOT
13.
Blazor が歩んできた道 –
2019年 2017年6月12-16日 NDC Oslo で Steve Sanderson 氏が Blazor をデモ 2017 2018年2月6日 .NET 公式ブログにて、 ASP.NET の実験プロジェクト として公式に紹介 2018 2019年9月23日 .NET Core 3.0 リリース Blazor Server 正式リリース 2019 2020 コンポーネントモデル ルーティング レイアウト フォーム検証 依存性注入(DI) JavaScript相互運用 サーバー側レンダリング デバッガ インテリセンス スコープ化された CSS ホットリロード WebAssembly AOT
14.
Blazor が歩んできた道 –
2020年 2017年6月12-16日 NDC Oslo で Steve Sanderson 氏が Blazor をデモ 2017 2018年2月6日 .NET 公式ブログにて、 ASP.NET の実験プロジェクト として公式に紹介 2018 2019年9月23日 .NET Core 3.0 リリース Blazor Server 正式リリース 2019 2020年11月10日 .NET 5.0 リリース Blazor WebAssembly 正式リリース 2020 2021 コンポーネントモデル ルーティング レイアウト フォーム検証 依存性注入(DI) JavaScript相互運用 サーバー側レンダリング デバッガ インテリセンス スコープ化された CSS ホットリロード WebAssembly AOT
15.
Blazor が歩んできた道 –
2021年 2017年6月12-16日 NDC Oslo で Steve Sanderson 氏が Blazor をデモ 2017 2018年2月6日 .NET 公式ブログにて、 ASP.NET の実験プロジェクト として公式に紹介 2018 2019年9月23日 .NET Core 3.0 リリース Blazor Server 正式リリース 2019 2020年11月10日 .NET 5.0 リリース Blazor WebAssembly 正式リリース 2020 2021年11月8日 .NET 6.0 リリース 2021 2022 コンポーネントモデル ルーティング レイアウト フォーム検証 依存性注入(DI) JavaScript相互運用 サーバー側レンダリング デバッガ インテリセンス スコープ化された CSS ホットリロード WebAssembly AOT
16.
Blazor が歩んできた道 ▪ NDC
での発表から既に5年、Blazor は発展途上ではなく、成熟期に入った と言えるのではないだろうか − 潤沢なパッケージ資産とエコシステム − コード補完と分析、デバッガ、ホットリロードが提供する、リッチな開発者体験 ▪ とはいえ、これからも Blazor は進化を続けていく − 今回は取り上げませんでしたが、.NET MAUI とのハイブリッド構成で iOS や Android デバイス向けモバイルアプリ開発にも Blazor を利用可能 − .NET 7 は今年 2022年 11月リリース予定!
17.
NATIVE .NET 6 から使える
“Native Dependency” とは
18.
Demonstration
19.
.NET と WebAssembly
Native との速度比較 .NET 6 0.94 sec C 0.08 sec
20.
.NET と WebAssembly
Native との速度比較 .NET 6 0.94 sec C 0.08 sec .NET 6 AOT 1.11 sec
21.
.NET と WebAssembly
Native との速度比較 .NET 6 0.94 sec C 0.08 sec .NET 6 AOT 1.11 sec .NET 7 AOT 0.09 sec
22.
.NET と WebAssembly
Native との速度比較 .NET 6 0.94 sec C 0.08 sec .NET 6 AOT 1.11 sec .NET 7 AOT 0.09 sec JavaScript 0.08 sec
23.
Blazor WebAssembly の
Native Dependency ▪ 任意の言語・処理系から生成された WebAssembly バイナリ内の関数を、 Blazor WebAssembly から容易に呼び出せる − さらに NuGet パッケージ化されていれば、これを利用する Blazor WebAssembly ア プリ開発者は、何もせずにC#構文のままに透過的に利用可能 ▪ Rust によるクライアント Web 開発の盛り上がりの恩恵にあずかれるかも!? − Rust で書かれた計算中心のライブラリを、Blazor WebAssembly プログラミングから 利用できる可能性
24.
C#+WASM Blazor WebAssembly を超えたその先
25.
ブラウザの外へ活躍の場を広げる WebAssembly ▪ WASI
- WebAssembly コードを、ブラウザ以外の環境で実行できるように するための、システム資源にアクセスする API の仕様 − “The WebAssembly System Interface” ▪ WASI をサポートした WebAssembly 実行環境の実装がいくつかある Wasmtime Wasmer Lunatic
26.
Demonstration
27.
WebAssembly による新しいコンテナの形 ▪ 瞬時に起動する
WebAssembly モジュール − 50マイクロ秒でモジュール起動 ▪ 完全に分離・制御された実行空間 − メモリやCPU使用量の割り当てを監視・制御可能 − 必要な資源へのアクセスのみ許可 ▪ 1要求を処理するたびにモジュールを破棄 − ガベージコレクションが不要になる可能性!
28.
Conclusion おわりに
29.
▪ JavaScript 以外によるクライアント
Web 開発は選択肢 が増えつつある ▪ Blazor WebAssembly は成熟期に入りつつある − 今回はとくに、ネイティブな WebAssembly バイナリとの連携 強化に着目 ▪ WebAssembly の活躍の場が広がるのにあわせて、 C#開発者にまたひとつ選択肢が加わる未来 − Steve Sanderson 氏の実験プロジェクトながら、既に WASI ランタイム上でフルセットの ASP.NET Core Webアプリが稼働し、デバッガまで機能している − 新しいコンテナ、新しいマイクロサービスの形になるのか おわりに
30.
Twitter Hash Tag #osc22do #osc22do_e10
31.
Learn, Practice, Share. THANK
YOU! NEXT EXIT
Download