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
780
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
Cloud Adoption Framework にみる組織とクラウド導入戦略
tomokusaba
2
330
Cloud Adoption Frameworkにみる組織とクラウド導入戦略(縮小版)
tomokusaba
1
170
私の考える初学者がBlazorできるまでの学習方法
tomokusaba
1
310
Semantic Kernelの最新状況及び入門
tomokusaba
0
210
Fluent UI Blazor 最新Update
tomokusaba
1
270
アクセシビリティの観点からみたFluent UI Blazorのすすめ
tomokusaba
1
320
Webアプリをできるだけコードを手書きしないで作ってみる
tomokusaba
2
300
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
1.4k
プロンプトエンジニアリング入門
tomokusaba
3
1.7k
Other Decks in Programming
See All in Programming
Micro Frontends for Java Microservices - dev2next 2024
mraible
PRO
0
190
Vue :: Better Testing 2024
up1
1
380
フロントエンドの現在地とこれから
koba04
10
4.3k
4年間変わらなかった YOUTRUSTのアーキテクチャ
daiki1003
0
100
Rails 8 Frontend: 10 commandments & 7 deadly sins in 2025
yshmarov
1
610
色んなオートローダーを覗き見る #phpcon_okinawa
o0h
PRO
5
370
tsconfig.jsonの最近の新機能 ファイルパス編
uhyo
6
1.4k
型付きで行うVSCode拡張機能開発 / VSCode Meetup #31
mazrean
0
230
いまあるチームにフィットさせる Serverless そして Platform Engineeringへの挑戦 / Serverless Fits the Team You Have and Platform Engineering
seike460
PRO
2
1.4k
Beyond the RuboCop Defaults
koic
2
500
Pythonによるイベントソーシングへの挑戦と現状に対する考察 / Challenging Event Sourcing with Python and Reflections on the Current State
nrslib
3
930
Go製CLIツールGatling Commanderによる負荷試験実施の自動化
okmtz
3
670
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
180
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Visualization
eitanlees
143
15k
Bash Introduction
62gerente
608
210k
The Mythical Team-Month
searls
218
43k
Facilitating Awesome Meetings
lara
49
6k
The Language of Interfaces
destraynor
154
24k
The Cult of Friendly URLs
andyhume
77
6k
Build The Right Thing And Hit Your Dates
maggiecrowley
31
2.3k
Atom: Resistance is Futile
akmur
261
25k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
4
110
Optimizing for Happiness
mojombo
375
69k
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
おしまい おしまい