ユーザ用ツール

サイト用ツール


ハイハイスクールアドベンチャー_.net_maui版

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
ハイハイスクールアドベンチャー_.net_maui版 [2025/10/30 23:54] – [マルチプラットフォーム対応] arakiハイハイスクールアドベンチャー_.net_maui版 [2025/11/04 00:33] (現在) – [リソースファイル] araki
行 46: 行 46:
  
 <code csharp> <code csharp>
-string gender = await DisplayActionSheet("あなたの性別を教えてください", null, null, "男子", "女子");+string gender = await DisplayActionSheet("あなたの性別を教えてさい", null, null, "男子", "女子");
 </code> </code>
  
行 55: 行 55:
  
  
 +==== マルチプラットフォーム対応 ====
 +
 +.NET MAUIは、Windows/Android/MacOS/iOS のマルチプラットフォーム対応です。
 +なので単一のソースから複数のプラットフォームに対応したパッケージを得ることができます。
 +もちろん、完全にすべてが同一というわけではなく、一部は、その機種のための設定やコードなどを書く必要がありますが、最小限度です。
 +
 +フレームワークとしてマルチプラットフォームをカバーするように作られいてるので、基本的に、ほとんどの処理の機種依存を隠ぺいしてくれています。
 +
 +このあたりは AvaloniaUIのマルチプラットフォーム対応とは大きく違っている部分だと思います。
 +AvaloniaUIも Windows/Linux/Web/Android/iOSをサポートしていますが、AvaloniaUI の名前の通り、こちらは基本的にUIに関する部分を中心にマルチプラットフォーム対応をしています。
 +
 +なので、ちょっと、ファイル操作を統一的にやろうとしたら、それはUIではないので、自分でインターフェイス書いて、クラスを機種ごとに実装して、それをDI注入しろとかいう話になって案外面倒くさいです。
 +
 +.NET MAUIはこのあたりも基本的にきれいに隠ぺいしているので、リソースファイルがプラットフォームによってはSeekできないなどの制約があったとしても、比較的楽にマルチプラットフォーム対応ができるようになっています。
 +これは秀逸でした。
  
  
行 298: 行 313:
 全部メモリ展開するっていうのもありかな、とちょっと思ったんですが、このゲームの基本的な構造は 500KB程度の M5 Stackや Raspberru Pi Picoなどでも動くように、けちけち使う分だけを展開するスタイル。 全部メモリ展開するっていうのもありかな、とちょっと思ったんですが、このゲームの基本的な構造は 500KB程度の M5 Stackや Raspberru Pi Picoなどでも動くように、けちけち使う分だけを展開するスタイル。
  
-Android版は当初、全部メモリに展開してたんですが、ソースを整理するときに全面的にけちけち戦略に書き直した経緯もあって、今更全部展開っていうのもな、と思い、ファイルをユーザデータ領域にコピーして使う方針に。+[[ハイハイスクールアドベンチャー Android版]]は当初、全部メモリに展開してたんですが、ソースを整理するときに全面的にけちけち戦略に書き直した経緯もあって、.NET MAUI版とはいえ今更全部展開っていうのもな、と思い、ファイルをユーザデータ領域にコピーして使う方針に。
  
 <code csharp> <code csharp>
ハイハイスクールアドベンチャー_.net_maui版.1761868492.txt.gz · 最終更新: by araki