Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google Chrome の開発者ツールで C# コードをデバッグできるって知ってました?
Search
jsakamoto
June 07, 2026
Programming
23
0
Share
Google Chrome の開発者ツールで C# コードをデバッグできるって知ってました?
フロントエンド・PHPカンファレンス北海道2026 (
https://frontend-php-con.hokkaido.jp/
) での発表資料です。
jsakamoto
June 07, 2026
More Decks by jsakamoto
See All by jsakamoto
useEffect は使いたくないのですが、ではどうしたらいいですか
jsakamoto
1
110
開発したプレゼン用ツールが15年経っても誰も使ってくれない話
jsakamoto
0
86
UI コンポーネントカタログに MCP サーバー機能を追加する試み、そしてその結果
jsakamoto
1
120
いいね が燃料! 「自分のOSS」で1億ダウンロード突破の開発者が語る OSS 開発のリアル
jsakamoto
0
240
minify の効果を最大限に引き出す TypeScript コードを書く
jsakamoto
2
380
JavaScript 以外の言語によるフロントエンド Web 開発が既に実用段階である話
jsakamoto
0
2.9k
ベクトル化を使った意味検索を、簡単にアプリケーションに搭載できる時代になっていた件。
jsakamoto
2
400
CSR? SSR? C# で作る Web アプリフレームワーク Blazor のレンダリング方式を整理する
jsakamoto
0
1k
UI コンポーネントカタログ “Storybook” を、C# で SPA が作れる Blazor で再実装した話
jsakamoto
0
2.2k
Other Decks in Programming
See All in Programming
inferと仲良くなる10分間
ryokatsuse
1
280
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
430
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
100
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
430
ふつうのFeature Flag実践入門
irof
7
3.4k
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
390
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
220
iOS26時代の新規アプリ開発
yuukiw00w
0
220
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.2k
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
320
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
540
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Marketing to machines
jonoalderson
1
5.3k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
430
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
330
Documentation Writing (for coders)
carmenintech
77
5.4k
Writing Fast Ruby
sferik
630
63k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Are puppies a ranking factor?
jonoalderson
1
3.4k
How to Ace a Technical Interview
jacobian
281
24k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
70
39k
Transcript
Google Chrome の開発者ツールで C# コードをデバッグできるって 知ってました? フロントエンド・PHP カンファレンス北海道 2026 LT
Blazor WebAssembly ― C# で SPA を実装 ―
トランスパイラではありません C# をコンパイルしたバイナリがブラウザ上で動く compile C# Source Code (*.cs) MSIL (*.dll)
".NET CLR" Interpreter for MSIL (dotnet.wasm) 01 10 11 00 11 10 01 00 01 load & run load & interpret Web Browser
Web アプリケーションフレームワークである "C# が動く" だけではありません ▪ コンポーネント指向 ▪ データバインディング ▪
ルーティング ▪ DOM イベントハンドリング ▪ モジュール化された CSS
"JSX の C# 版" でコンポーネントを記述 To Do リストの例 <ul >
@foreach ( var item in _toDoList ) { <li >@ item </ li > } </ ul > <form @onsubmit ="OnSubmit" > <input type ="text" @bind =" _newToDo " > <button >Add</ button > </ form > @code { private readonly List <string > _toDoList = new(); private string _newToDo = "" ; private void OnSubmit () { _toDoList . Add( _newToDo ); _newToDo = "" ; } } HTML 中に C# を混ぜて書ける JSX の C# 版みたいな感じ “@onイベント名” でイベントを ハンドルする 指定した C# のメソッドが呼び出される “@bind” で変数をバインドする Input 要素の入力内容が、指定した C# の フィールド変数・プロパティに反映される コンポーネントの状態はフィールド 変数・プロパティに持てばよい React の Context のような仕組みもある ToDoList.razor .razor ファイルがコンポーネント 他のコンポーネントで <ToDoList/> とマーク アップして使える パラメーターやイベントコールバックを渡せる
ブラウザで C#ソースコード デバッグできる ブラウザの開発ツールウィンドウ ▪ 皆さんご存知の Ctrl + Shift +
I で出てくるアレ ▪ あそこに C# のソースコードが出てくる ▪ ブレークポイントで停止 ▪ 変数ウォッチ
DEMO
Blazor WebAssembly で作成した To Do List アプリを開いたところ。 右側には開発者ツールウィンドウのデバッガを開いています。
デバッガの file:// ツリーを開くと、Blazor WebAssembly のソースコードが現れます。 拡張子 .cs は普通のC#ソースコード、.razor は Blazor
WebAssembly のコンポーネントです。
デバッガの file:// ツリーから .razor ファイルを開くと、"JSX の C# 版" とでも言うべき、HTML 内に
C# を混ぜて記述する、Blazor のコンポーネントのソースコードが見えます。
.razor ファイルの行頭をクリックすれば、普通に、C# のメソッド内にブレークポイントが設定できます。 この状態で、To Do List アプリの [+] ボタンをクリックすると...
ちゃんとブレークポイントを設定した C# 行で停止しました!
コールスタックもちゃんと取れているので、呼び出し元のソースコード行へ遡ってジャンプできます。
変数ウォッチも機能しています。To Do List アイテムのリストオブジェクトに追加された要素を展開し、 オブジェクトの各プロパティの現在の値を見ることができます。
DEMO
▪ 非常にニッチではあるのですが、C# で SPA を作るという需要・市場があります ▪ JavaScript だけじゃないフロントエンド Web 開発の存在にどうぞ温かいご理解を
技術のヘンタイですよね まとめ
Thank you! ありがとうございました Learn, Practice, Share.