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
Blazor WASMのアプリをMAUI Blazorに移行してみる
Search
tomokusaba
February 24, 2023
Programming
0
1k
Blazor WASMのアプリをMAUI Blazorに移行してみる
.NETラボ 勉強会 2023年2月
Blazor WASMのアプリをMAUI Blazorに移行してみる
tomokusaba
February 24, 2023
Tweet
Share
More Decks by tomokusaba
See All by tomokusaba
コンピューティングリソース何を使えばいいの?
tomokusaba
1
31
Microsoft Agent Frameworkの可観測性
tomokusaba
1
130
.NET 10の概要
tomokusaba
0
140
.NET 10のASP.NET Coreの気になる新機能
tomokusaba
0
130
.NET 10のASP. NET Core注目の新機能
tomokusaba
0
190
コンピューティングリソース何を使えばいいの?
tomokusaba
1
220
技書博で見つけた本
tomokusaba
0
75
新卒2年目でドロップアウトしてからの20年間
tomokusaba
0
120
Azure Well-Architected Framework入門
tomokusaba
1
270
Other Decks in Programming
See All in Programming
ゲームの物理 剛体編
fadis
0
390
Cap'n Webについて
yusukebe
0
160
ThorVG Viewer In VS Code
nors
0
540
Go コードベースの構成と AI コンテキスト定義
andpad
0
150
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.5k
Graviton と Nitro と私
maroon1st
0
160
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
160
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
430
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
450
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
230
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
140
Featured
See All Featured
HDC tutorial
michielstock
1
300
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
130
Music & Morning Musume
bryan
46
7k
Color Theory Basics | Prateek | Gurzu
gurzu
0
170
Information Architects: The Missing Link in Design Systems
soysaucechin
0
730
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
360
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
A Tale of Four Properties
chriscoyier
162
23k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
270
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
270
Transcript
Blazor WASMのアプリを MAUI Blazorに移行してみる 株式会社SAKURUG エンジニアリングユニット 草場 友光 .NETラボ 2023年2月
自己紹介 • 普段は主にWebFormsアプリの保守の お仕事をしてます。 • 古めのシステムが多いので時代に取り 残されぬよう新しい技術を一つでも入 れるよう日々努力しています。 • 2022/08-2023
Microsoft MVP (Developer Technologies) • tomo_kusaba
宣伝 【VISION】ひとの可能性を開花させる企業であり続ける VISIONに共感できる仲間募集中。
注意 • 個人の見解・解釈が多分に入っています。 • 見解の相違・事実誤認などありましたらご指摘ください。 • #dotnetlabでtweetすると右側に表示されます
今日の目的 • Blazor WebAssemblyで記述したアプリケーションは基本的に そのままのコードでMAUI Blazorに移行が可能です。 • しかし、ワークロードが異なるが故に全くそのままといういき ません。 •
先月見せたRESTAPI、MessagePack、MemoryPack比較用の アプリケーションを題材にして実際にMAUI Blazorに移行して みてその差異を探ってみたいといきます。
MAUI Blazorとは Blazor Hybrid Blazor技術も使ってMAUI のUIやコードを記述できる 技術 MAUIの様々なAPIも Razorコンポーネントの中に 記述できる
今回の移行順序 • 必要なパッケージを NuGet(MessagePack,MemoryPack,QuickGrid) • _imports.razorに「@using Microsoft.AspNetCore.Components.QuickGrid」を追加 • Null許容を有効化する •
モデルクラス(Yubin.cs)をコピー • MauiProgram.csにhttpClientサービスを追加 • Page配下の各razorページを移行 • Shared配下のNavMenuの表示を変更
移行元プロジェクト • https://github.com/tomokusaba/MessagePackView • https://kind-moss-0af0a4d00.2.azurestaticapps.net/ (GitHub) Static Web Apps
デモ
ワークロードによる差 • global usingで暗黙的に宣言されているパッケージ • MAUIはNull許容が有効化されていなかった。(.NET 7) • Microsoft.AspNetCore.Components.Hosting.WebAssembl yHostかMicrosoft.Maui.Hostか?
実機でデバッグしてみる(Android) • 準備 • デバイスで開発者モードを有効にする • 設定画面に移動 • 端末情報を選択 •
ビルド番号を7回タップ • USBデバッグを有効にする • 設定画面に移動 • 開発者向けオプションを選択 • USBデバッグオプションをオンにする • デバイスをPCに接続する • データ通信可能なUSBケーブルでPCと端末を接続する • デバイスのドライバーをインストールする(Android SDK Managerを使用 してGoogle USBドライバーをインストール)
ホットリロード • 実機でのデバッグ実行時でもホットリロード可能(重要)
デモ
移行後のMAUI Blazorアプリ • https://github.com/tomokusaba/MAUIBlazor
参考文献 • NET MAUI とは • ASP.NET Core Blazor Hybrid
おしまい おしまい