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
0
140
Selected MAUI Blazor - meetup app osaka@8
2021/1/20 meetup app osaka@8
「.NET MAUI Blazorを選択する」遥佐保
Akiko Kawai
January 20, 2024
Tweet
Share
More Decks by Akiko Kawai
See All by Akiko Kawai
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
250
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
910
Try C++ module! - meetup app osaka@5
harukasao
0
430
シミュレーター制作の感想/ Tried developing Simulator at .NET Lab 201910
harukasao
0
94
NimTorchの紹介 / Introduce NimTorch meetup app osaka @3
harukasao
0
850
std::optionalの使い方 / how to use optional nakamecpp_13
harukasao
0
2.5k
2017/11/12 Optimized C++!
harukasao
0
200
2016/8/9 YEBIS for Unity (beta)のご紹介/Iwate Game Factory 2016 Summer Event
harukasao
0
11k
2015/11/21 OpenSource Value
harukasao
0
3.4k
Other Decks in Programming
See All in Programming
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
180
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
1.1k
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
240
ニーリーにおけるプロダクトエンジニア
nealle
0
950
効率的な開発手段として VRTを活用する
ishkawa
0
160
AWS Summit Japan 2024と2025の比較/はじめてのKiro、今あなたは岐路に立つ
satoshi256kbyte
0
120
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
15
4.6k
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
140
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
260
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
15
5.6k
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
12
7.1k
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
300
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Agile that works and the tools we love
rasmusluckow
329
21k
Visualization
eitanlees
146
16k
Unsuck your backbone
ammeep
671
58k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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 ええやん! 終わり