MAUIで非同期処理

 Android、iOSアプリを開発中です。


開発環境は「.NET MAUI」。5月23日に正式リリースされたばかりの最新の開発環境です。


書籍も少なく、ネット検索しても情報が少ないため、ちょっとした困りごと&解決手順を備忘録としてここ残しておこうと思います。

今回は、非同期処理からの画面更新。


非同期処理とはどんなことかと言うと「時間のかかる仕事を他者に依頼して、自分はいつでもお客様対応できるように待機する」といったイメージです。


例えば、ホテルのフロントに清掃依頼が入ってきたとします。

受付担当自ら清掃に向かってしまうと、次にフロントに来たお客様を待たせてしまうことになります。

そこで、他の社員に清掃を依頼し、自分はフロントで別のお客様対応ができるように待機する。

この時間のかかる仕事「清掃業務」が非同期処理です。


プログラミングの世界では、ワーカースレッドと呼びます。

上記の例では受付業務は、同期処理。これをメインスレッド(UIスレッド)と呼びます。


スマホアプリでは、ワーカースレッドから、コントロールの操作はしてはいけません。

例えば、Androidは更新できるけれど、iOSは更新できなかったり。

一旦ホーム画面に戻ってから、アプリ開きなおすと画面が書き換わるといった問題が発生します。


それでも、非同期処理でコントロール操作をしたいことは多々あると思います。


MAUIでは「Dispatcher.Dispatch」メソッドで問題解決できます^^)/

このブログの人気の投稿

技術メモ「503 Service Unavailable」

グーグルグループのメーリングリストの返信先が個人になってしまう

『ネットワークドライブ』のトラブル