久しぶりのWPFとReactNative

WPFを触った。デスクトップアプリを作りたくなったが、ReactNativeのアプリがまだ未完成なのだ。

Alternative Main

ViewModelのコンストラクタでModelを生成するけれども、Main関数で作ってもいいんじゃないかなと。WPFはMain関数を自動生成する。調べたらApp.xaml.csのコンパイル方法をcompileからpageにしたらいいよ、って出てきたんだけど上手く行かなかった。

class EntryPointを作って、そっちにMain関数を書き、プロジェクトの設定からStartupをEntrypointクラスにすると良さげ。

Task Synchonization

UIスレッド・メインスレッド・受信スレッドはそれぞれ独立して動かしたい。重い処理を実行しないときは気にしなくてよかったが、delegateeventを使うといい。delegateは良く分からない。

Low Layer C#

C#は便利だけど、byte配列をうまく調理できたらもっと便利なはず。後で調べる。

ReactNative

0.63から0.64に上げた。expoがandroid 11をターゲットとするため、android SDK level 30を新たにインストールした。gradleも6.5に上げた。dependencyの問題があってnpm installに失敗した。でも一応なんとかなったっぽい。