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
Selected MAUI Blazor - meetup app osaka@8
Search
Akiko Kawai
January 20, 2024
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Selected MAUI Blazor - meetup app osaka@8
2021/1/20 meetup app osaka@8
「.NET MAUI Blazorを選択する」遥佐保
Akiko Kawai
January 20, 2024
More Decks by Akiko Kawai
See All by Akiko Kawai
C# and C++ Interoperability - cho-dotnetnew
harukasao
0
1
How to call c# from c++ - meetup app osaka@10
harukasao
0
39
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
320
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
1.2k
Try C++ module! - meetup app osaka@5
harukasao
0
500
シミュレーター制作の感想/ Tried developing Simulator at .NET Lab 201910
harukasao
0
110
NimTorchの紹介 / Introduce NimTorch meetup app osaka @3
harukasao
0
910
std::optionalの使い方 / how to use optional nakamecpp_13
harukasao
0
2.7k
2017/11/12 Optimized C++!
harukasao
0
240
Other Decks in Programming
See All in Programming
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
160
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
130
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
5.1k
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
120
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.5k
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.9k
JavaDoc 再入門
nagise
0
310
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
230
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
120
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
640
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
150
Vite+ Unified Toolchain for the Web
naokihaba
0
220
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
770
The Cult of Friendly URLs
andyhume
79
6.9k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
220
It's Worth the Effort
3n
188
29k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Accessibility Awareness
sabderemane
1
130
The Invisible Side of Design
smashingmag
302
52k
Believing is Seeing
oripsolob
1
140
Transcript
.NET MAUI BLAZORを 選択する 2024/01/20 Sat meetup app osaka@8 遥佐保(はるかさお)
自己紹介 遥佐保(はるかさお) Microsoft MVP for Developer Technologies [Jan,2018-Jun,2024] 久しぶりのリアル勉強会です
1. そもそもツール選定 2. UIコンポーネント 3. Demo
1. そもそもツール選定 前提条件 ゲーム制作における社内ツールが欲しくなった ゲーム外で情報を管理する/UIが必要な操作 ゲームエンジンはUnity(C#) オリジナルエンジン(C++)のチームもある 一つのプロジェクトで終わりではなく、共通基 盤として長く使っていきたい ビジネスで言うところの業務用途のツールが欲
しくなった さてこれ、何で作ろうかな…
技術選定 WEBサービス VS クライアントアプリ ツール自体の更新頻度が高い? ツール更新がないなら、アプリの方がいい? ローカルでの操作が必要なことがある? 開発者は「今後それほど更新はしないだろ」 しかし、実態は想像しにくい
操作感の重要度 単に情報を表示して、更新するだけであれば 大したUIコンポーネントは不要 そうじゃない場合は 何らかのUI制作のサポートは合った方が良い ところで最近は何でサービスを作ることが多い? ばーっと全部の情報を表示させるだけとか、 チェックボックス付けて保存するだけとか ex. これを更新したら、あっちの表示も更新したい
ツリー表示で展開させたいなどなど
WEBフロント React, Next.js, Vue.js など クライアントアプリ Electron 最強(もちろん Qt, WPF
もありますが) 傾向 UIは慣れてるHTMLベースが使いやすいっぽい ではWeb化して、 React ベースの Next.js にする?
ゲームエンジニアの開発言語はC# 突然に流行りのWebフロントを採用して良いか? 引き継ぐ人が限られる 本業(Unity)とは別のスキルを新たに習得する 必要がある では… Blazor はどうよ
Blazor ロジックがC#で書ける 既存のC#エンジニアが違和感なく入れそう UIはHTMLベース HTMLならみんな判るじゃろ 本質的にはGUIクライアントツール開発 単にUIがWeb系のノリというだけ
エンジニアなら直観的に判りそう! // Counter.razor <h1>Counter</h1> <p role="status">Current count: @currentCount</p> <button class="btn
btn-primary" @onclick="IncrementCount">Clic @code { private int currentCount = 0; private void IncrementCount() { currentCount++; } }
参考までに、React でのカウントアップ import { useState } from 'react' export default
function Home() { const [count, setCount] = useState(0) return ( <div> <div>{count}</div> <div> <button onClick={() => setCount(cnt => cnt + 1)}> increment </button> </div> </div> ) }
ちょっと話は戻りまして 今回の要件として、Blazor を採用してWeb化の方 向でいいんでしたっけ? 深堀してみる
Blazor の C# + HTML の作りが魅力的だが… 必要? アプリ Webサービス 〇
ローカル アクセス 容易 工夫すれば - 更新時 配布が面倒 問題なし - セッション 管理 たいしていらん 必要 - データ永続化 割とローカル 読み書きでOK 要検討 - サーバ環境 必須ではない 必須 - 備考 実行環境が限られる フルマネージド 実行時立ち上げ クライアントで動かしたいな
.NET MAUI Blazor クライアント起動処理のみが .NET MAUI 中身は Web View で
Blazor を表示 .NET MAUI Blazor を採用することに
2.UIコンポーネント 素のHTMLだけでは辛い 何かコンポーネントを使いたい Awesome Blazor Blazorのリンク集!かなり良い! https://github.com/AdrienTorris/awesome-blazor
MatBlazor Ant Design of Blazor Radzen Blazor Fluent UI Blazor
今回、Ant Design を採用しました 理由を述べる
3.DEMO
Blazor まぁええんちゃう .NET MAUI Blazor ええやん! 終わり