Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Google Chrome の開発者ツールで C# コードをデバッグできるって知ってました?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
jsakamoto
June 07, 2026
Programming
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Google Chrome の開発者ツールで C# コードをデバッグできるって知ってました?
フロントエンド・PHPカンファレンス北海道2026 (
https://frontend-php-con.hokkaido.jp/
) での発表資料です。
jsakamoto
June 07, 2026
More Decks by jsakamoto
See All by jsakamoto
WebMCPを試してみました
jsakamoto
0
100
VRT in Blazor App Dev - .NET Lab 2026 Jul LT
jsakamoto
0
100
useEffect は使いたくないのですが、ではどうしたらいいですか
jsakamoto
1
150
開発したプレゼン用ツールが15年経っても誰も使ってくれない話
jsakamoto
0
120
UI コンポーネントカタログに MCP サーバー機能を追加する試み、そしてその結果
jsakamoto
1
150
いいね が燃料! 「自分のOSS」で1億ダウンロード突破の開発者が語る OSS 開発のリアル
jsakamoto
0
300
minify の効果を最大限に引き出す TypeScript コードを書く
jsakamoto
2
420
JavaScript 以外の言語によるフロントエンド Web 開発が既に実用段階である話
jsakamoto
0
3k
ベクトル化を使った意味検索を、簡単にアプリケーションに搭載できる時代になっていた件。
jsakamoto
2
470
Other Decks in Programming
See All in Programming
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
180
TS 7.0 で baseUrl が使えなくなった今、パスエイリアスをどうするか
bicstone
1
270
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
130
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.4k
dotNET_vulnclicker_intro.pdf
deka_morita
0
160
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
200
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
430
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.9k
golang-bob.pdf
iwatsukayura
0
150
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.7k
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
140
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
130
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
660
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
600
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
870
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Making the Leap to Tech Lead
cromwellryan
135
10k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Typedesign – Prime Four
hannesfritz
42
3.2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
660
How to Ace a Technical Interview
jacobian
280
24k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
560
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
290
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.