Microsoft Xamarin part8 [.NET MAUI]

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2021/08/01(日) 09:38:36.43ID:AQsxQSFr
Xamarinと.NET MAUIのスレッドです。
C#でクロスプラットフォームのアプリを開発できるフレームワーク
無料、クロスプラットフォーム、オープンソース。
対応プラットフォームは、Windows, Android, iOS, macOS, Linuxなど
2021/08/01(日) 09:39:09.73ID:AQsxQSFr
Xamarin
https://dotnet.microsoft.com/apps/xamarin

.NET MAUI [.NET Multi-platform App UI]
2021年11月正式リリース予定。Xamarinの後継フレームワーク
https://docs.microsoft.com/en-us/dotnet/maui/
https://github.com/dotnet/maui

前スレ
Xamarin Part7
http://mevius.5ch.net/test/read.cgi/tech/1596690797/
3デフォルトの名無しさん
垢版 |
2021/08/01(日) 09:56:07.35ID:AQsxQSFr
他にも有用なリンクあったら張っていってね

主に.NET MAUI関連
https://github.com/dotnet/maui/wiki
https://github.com/dotnet/maui/wiki/faqs
https://docs.microsoft.com/en-us/dotnet/maui/get-started/installation
https://docs.microsoft.com/en-us/dotnet/maui/
https://github.com/dotnet/maui/wiki/Roadmap

https://twitter.com/xamarinhq
https://twitter.com/5chan_nel (5ch newer account)
2021/08/02(月) 15:30:18.00ID:CN5AND1I
.NET MAUI | .NET Blog
https://devblogs.microsoft.com/dotnet/category/net-maui/
2021/08/02(月) 15:43:07.59ID:hlxsjNdy
MVVMってめんどくさすぎんか?
いや後発の仮想DOMの完成度が高杉たというだけなのだろうが
ベタFormsとどっちがマシなんだろってレベル
PrismとRxPropertyてのを使えば楽になんのかな…
2021/08/02(月) 16:06:06.83ID:5bqQQvdG
クラスが増えて面倒だけど後でメンテするとき楽
2021/08/02(月) 16:49:58.01ID:XIPPub6G
>>5
WPFのMVVMが稀にみる駄作だからですよ
2021/08/02(月) 18:12:28.12ID:mU1fKL7v
MVVMがめんどくさいって雑すぎるだろ
MVVMアーキテクチャがめんどいのかMSが公式でPrismのようなフレームワークやコンポーネント用意してないからめんどいのかどっちなんだ
後者なら同意するMVVMに限らずMSの開発環境全てが投げっぱなしでコミュニティも育たず何もなくGrapeCityやReSharperのような糞高いサードツールないと効率も悪いから糞めんどい
そしてMAUIだBlazorだ思いつきで提案してきたり頑なにASPは固辞して押し付けるくせに自分らはOffice含めた自社サービスはがっつりReact Nativeで開発とか糞ウケる
9デフォルトの名無しさん
垢版 |
2021/08/02(月) 18:31:55.53ID:H/s1ryRu
>>5
とりあえずお前のめんどくさいところを言語化しろ
2021/08/02(月) 18:34:55.28ID:CN5AND1I
>>5
Virtual DOMってReactの話してるの?
MVVMとぜんぜん違うカテゴリの話だと思うんだけど

あとMAUIはMVVMだけでなくMVUも使えるとかいてあった。
MVVM, MVU好きなほうをつかえってことらしい
2021/08/02(月) 18:59:23.06ID:XIPPub6G
WPFもMVVMは最小限でいいんだよ
コアフレームワークに入ってないのは
そういう理由と推測されるし
イベントハンドラーと組み合わせで書ける
2021/08/02(月) 19:19:12.08ID:mU1fKL7v
>>11
JSやPythonが人気出た理由がお前もわかってなさそうだな
OSSコミュニティが自発的に盛り上がって便利なフレームワークやライブラリがどんどん開発されてそれがちゃんとメンテされてナレッジが整備されたからだぞ
MSみたいに最低限の仕組みは用意したお前らプログラマーなんだから必要な物は自分で作れみたいな投げっぱなしで人気出るわけねーんだわ
結局コミュニティが育たず一部の技術オタクみたいな奴らがC#マンセーしてそいつらのおもちゃになっただけでPrismやRxなんかのフレームワークやライブラリもメンテされずRxなんてC#捨ててJSに移行したし
WPF黎明期なんてINotifyPropertyChangedやICommandを毎回実装してたんだぞコーディングしながらC#やXAMLはものすごく好きなんだがMSの開発環境ってマジで糞だなってずっと思ってたわ
2021/08/02(月) 19:21:24.42ID:XIPPub6G
>>12
自分で判断できなそうで
あたま悪そう
2021/08/02(月) 19:46:01.65ID:hlxsjNdy
VMの実装が直感的じゃないし冗長すぎるよね
もっとシンプルなVMが理想なんだけどReactiveProperyとかLinqとかPub/SubとかCommandとか色々書かされてつらい
なんかいい感じのジェネレータが欲しいッス
2021/08/02(月) 19:58:17.46ID:KLKMpcbu
>>14
そりゃ書くからでしょ
評価して糞パターンは捨てればいい
2021/08/02(月) 20:02:51.98ID:CN5AND1I
VS2022 + MAUI preview6で順調につまづいているわ
preview 4以降はOpenJDK11を推奨とかいてあるし
preview6のmaui-checkではOpenJDK11がインストールされる。
OpenJDK11だとVSのAndroid Emulatorが起動しない。
VSの設定でJDK1.8.0-25に戻すとEmulator起動した。

MAUI preview6、OpenJDK11でAndroid Emulator起動できてる人いる?
現状、どのバージョンのJDKを使えばいいのかわからん、

maui-checkは、
? OpenJDK 11.0 Checkup...
? 11.0.10 (C:\Program Files\Microsoft\jdk-11.0.10.9-hotspot\bin\..)
? 1.8.0-25 (C:\Program Files\Android\Jdk\microsoft_dist_openjdk_1.8.0.25)

? Visual Studio 17.0.0-pre.2.0 Checkup...
? 17.0.0-pre.2.1 - C:\Program Files\Microsoft Visual Studio\2022\Preview
2021/08/02(月) 20:39:23.36ID:FXDaXh0x
戻すと言うよりAndroid SDKのライセンス同意にJDK8使ってるだけだからライセンス同意後はJDK11で動くよ
2021/08/03(火) 00:55:58.27ID:hXK9STmR
MAUIってWPFでも使えるの?
2021/08/03(火) 01:29:28.32ID:pLHTkUUw
いや、何言ってんの?
2021/08/03(火) 11:40:56.32ID:0Yig1Pf9
>>17
ありがとう、
MAUIでなくXamarinでproject作ったらJDKライセンス同意の画面がでてきて
それ以降、API30のAndroid emulator立ち上がるようになった。

MAUIはまだGUIのテンプレートでproject作れないんだな
dotnet new maui -n mauitest
でproject作れるのはわかったがBuildはエラーで通らなかった。

9月にリリース候補RCでるようだけどこの品質で間に合うのかな
RCでるまでVS2022previewでXamarinでもいじってようかな
MAUIはまだきついわ
2021/08/03(火) 20:49:42.54ID:3OflLX7c
xamarinと何も変わってない
開発体制、品質全く同じ
望みなし
2021/08/03(火) 21:27:15.22ID:4EGDKMYd
PrismでMVVMやってるんだけどDynamicResoursesの切り替えってどうやるんすか?
動的にスタイル変える方法をググるとApplication.Current.Resourcesを書き換えろって出てくるんだけど
これってレイヤーが違うと思うんでVMではやりたくない

CSSだとclassだけ書き換えてスタイルを切り替えれたけどこれと同じことをやりたいつまり
・動的にスタイルを切り替える
・VMは具体的なスタイルを知らず代わりにスタイルを示す名前を扱う
2021/08/03(火) 21:51:31.50ID:3e74G+kh
Firestoreからデータ取得したいけど、参考になるサイトありますか?
2021/08/04(水) 00:15:33.70ID:qtSxTq0Q
>>22
DataTrigger使う
どちらにしろコードビハインドする必要があるこれはXAML(MVVM)では避けて通れないモヤモヤポイントだから諦めるしかない
ControlTemplateなんかのXAMLだけじゃどうしようもないカスタマイズしまくりのユーザー定義コントロールとかクラス拡張しまくりのコードビハインドの塊だからな
まぁ別にReact NativeだってHooksをViewに書きまくるわけだからFluxtとか何それって感じだしアーキテクチャに矛盾が生じるなんてそれこそよくあること
2021/08/04(水) 01:54:00.16ID:45YS3Hvr
>>24
あざす
XAMLしんどいすね…
はじめたばかりなののこころおれそう
2021/08/04(水) 10:05:13.12ID:UGRrV4fv
>>20のエラー解決した
VS2022の下のworkloadsの上から4個も追加でいれたらMAUIの新規アプリ作成できるようになった。
ファイルサイズ大きすぎるからdocument無視してUWPとかC++入れてなかった。

Mobile development with .NET
Universal Windows Platform development
Desktop development with C++
.NET Desktop Development
ASP.NET and web development (required for Blazor Desktop and the BlazorWebView control)

その他
Single-project MSIX Packaging Tools
maui

残りはmaui-checkが自動でいれてくれる。
https://docs.microsoft.com/en-us/dotnet/maui/get-started/installation
2021/08/04(水) 10:06:57.54ID:UGRrV4fv
>>21
開発体制はXamarinと全く違うしクオリティは必ずあがるだろう
すでにドキュメントの充実度があがってる
28デフォルトの名無しさん
垢版 |
2021/08/04(水) 10:13:46.74ID:UGRrV4fv
https://www.statista.com/statistics/869224/worldwide-software-developer-working-hours/
Cross-platform mobile frameworks used by software developers worldwide

Xamarin 11%
C#ではトップ維持するもシェアが減った
Flutter以外、すべてシェアが減っているがMAUIが出れば流れはかわるだろう
2021/08/07(土) 23:37:38.72ID:hTQ1BWxi
うーむわからない
PrismのViewModelsのボイラープレートのDestroyでReactivePropertyをDisposeするコードを書いたんですけど、
このDestroyイベントが呼ばれてないっぽいです
このイベントってアプリ終了しても呼ばれないんですかね?
ちなみにランタイムはAndroidです
2021/08/08(日) 01:16:46.81ID:yLNKABBR
ReactivePropertyは使ったことないけど俺はおすすめしないな
特にフレームワークやライブラリが全く成熟せずメンテされないXamarin環境ですでにPrismですらろくにメンテされてないのに技術自慢の河合がノリで作ってろくにメンテしてないフレームワークとか俺なら絶対に採用しないわ
Firebaseのライブラリですら海外の個人メンテナーに頼っててIssue山積みなの知らなくてバグ満載でどハマりしたからな
ピンハネしすぎでまた別問題だがそれでもCOCOAの惨状とか見ればわかる通りぶっちゃけ現時点でハイブリッド開発でXamarinを選択するのはめちゃくちゃリスキーだぞ環境やコミュニティが全く盛り上がラズ成熟もしてないからなMS自体がXamarinじゃなくReact Nativeで開発してる時点でお察し
2021/08/08(日) 02:10:39.60ID:spevSTIa
あ、はい
すごくしんどい気はしてるんだけどもうやるしかないとこまできてる
次の機会ではFlutterでチャレンジするよ
RNはRNでアップデートしんどいって聞いた

話戻すんですけどDestroyが呼ばれない件って何かわかりますかね?
32デフォルトの名無しさん
垢版 |
2021/08/08(日) 09:36:07.05ID:Mo7aKH+B
MAUIとXamarinはドキュメント少ないね
サンプルアプリをbuildして動かしたあとすぐに学習が停滞する

Android Studioはドキュメント充実してると実感する
IDE触ってるだけでUIの開発がなんとなくわかってしまう。

JetPack Composeが人気らしいけど
Compose Multiplatformってすごく人気でそうじゃない?
言語がKotlinだしReactNative, Flutter, Xamarinをすぐに抜き去るんじゃないかと
2021/08/08(日) 13:58:44.76ID:mSPMxXcr
VBで作ったアプリをxamarinにコンバートしてますが、情報が少ないのでKotlinやflutterで作り直したほうが良いでしょうか?
ちなみにxamarinを選択した理由はメインロジックをツールでコンバートしやすいのとvisualstudioに慣れてるからです。
2021/08/08(日) 14:48:15.57ID:Mo7aKH+B
>>33
動作が必要なプラットフォームは?業務用?
ユーザー数は?VBのバージョンは?
コンバートに使ってるツールは?

compose multiplatformはまだアルファ版だし業務なら使えない。
あとまだiOSなどが対応してない
https://blog.jetbrains.com/kotlin/2021/08/compose-multiplatform-goes-alpha/

IDEの違いはすぐ慣れるからどうでもいいと思う。
Android studioは直感的にUI作れるしよくできてる。すぐ慣れると思う

Flutter(Dart)への移植は絶対やめたほうがいいと思う。Flutter以外でdartほぼ使われてない。
2021/08/08(日) 15:45:56.45ID:Mo7aKH+B
https://www.theregister.com/2021/08/06/compose_for_desktop_kotlin_framework/

Play StoreはCompose利用らしい
2000のアプリが Compose利用とのこと
Despite only just hitting 1.0, Google said: "There are already over
2,000 apps in the Play Store using Compose – in fact, the Play Store app itself uses Compose."
2021/08/08(日) 16:31:50.19ID:bQ604qzQ
>>33
VBアプリケーションは当時の流行のせいで
プレゼンテーションとビジネスロジックが密結合している可能性が高く
簡単に資産を捨てることはできないと思うよ
たぶん.NETでやる以外の選択肢はないんじゃないかな
2021/08/08(日) 16:53:54.16ID:K1rR3dVB
>>33
スタンドアロンのシステムなの?

サーバーを.NETにしてビジネスロジックを全部そっちにおいて
UIは好きなので組めばいいんじゃないの?
2021/08/08(日) 22:17:08.79ID:SlvtpBfQ
もう勝負あっただろ
flutterは今年中にwindowsにもしっかり対応するし
flutterでandroid,iOS,macOS,windowsでさらにUWPでwebも!!
jetpack composeも正式リリースしてcomposableは状態変化を自動で検出してflutterの上位互換

maui??
ぷっ
2021/08/08(日) 22:19:24.40ID:SlvtpBfQ
WinUIはコントロール豊富だからこれらがwindows専用じゃなくてmauiで使えたら
他のプラットホームでfluent design!!
ってワンチャンはあったな
2021/08/08(日) 22:22:45.35ID:SlvtpBfQ
UnoPlatformは忘れた方がいい
2021/08/08(日) 22:38:42.37ID:Mo7aKH+B
>>38
MAUIもofficial wikiにbrowser対応検討中と書いてあるぞ
Blazorと連携するようになると思われる

MAUIを見下してるがflutterも負け組になるんじゃないか
Dart嫌い多いしCompose MultiPlatformがiOS対応したらFlutterはおしまいだと思うわ
Dartなんて選んだ時点で失敗は確定していた
2021/08/08(日) 22:57:10.34ID:SlvtpBfQ
更に優秀なのでてきて負け組になるなら優秀なのに乗り換えるだけだし
別に問題ないだろ
楽に開発したいのが目的だから
現状はトータルとしてflutterが一番楽だから使ってるだけだし
composeは一つ作りかけのアプリcomposeに移行してるけど
2021/08/08(日) 23:13:55.61ID:SlvtpBfQ
つか、composeがiOSに対応なんて先長いだろ?
よくわかってないが現状JVM依存してる?からiOSでは駄目なんしょ?
そこまでJetbrain頑張れる?

xamarinの場合はAOTコンパイルしてるからiOS向けokだけど
2021/08/08(日) 23:22:32.79ID:II+2ElqZ
新しくなくても優れてなくてもいいから長期間メンテ最小限で動くやつがいい
2021/08/08(日) 23:40:04.66ID:Mo7aKH+B
>>43
JetBrainsが有能すぎるから、何でもありうるんじゃないか

compose multiplatformはbrowserとdesktopを同時に開発してきたんだろ。
しかも今アルファだが年内に正式版だすといってる。
iOSも1年以内に正式版出してくると思われる

なんでiOSは無理だと思うわけ?iOSはJVM使えないからってだけ?
KotlinもtypesafeなわけだからSwiftに変換してコンパイルするのは
別に不可能ではないだろう
有能すぎるJetBrainsならなおさら。
2021/08/08(日) 23:43:50.88ID:HmXMyWaM
そんなもん正式版出てきてからでいいだろ
「正式リリースはXX年のXX月です」ってその手のやつってなかなか出てこないし
2021/08/09(月) 03:00:55.11ID:8zOlJQWj
あの、xamarin native はどうなるのですか?
2021/08/09(月) 05:13:32.63ID:KhkS1z0C
>>46
アルファかベータが出てからでもよいかもしれないが、
正式版出てからでは遅いな
今書いてるコードが無駄になるかが決まるから。
今からFlutter/Dartのコードは書かないほうがいいだろう

>>47
Xamarin native is moribund.
MAUIができたらMSはxamarin nativeのメンテナンス停止すると思われる
2021/08/09(月) 05:23:04.67ID:KhkS1z0C
>>43
そういえばKotlinはKMMですでにロジックはiOS対応してるじゃないか
あとはUI部分だけcross platform対応すれば、Compose multiplatform出せる。

Kotlin Multiplatform Mobile
https://kotlinlang.org/lp/mobile/

KMMのアルファが出たのが2020年10月っぽいからわずか10か月で
Compose multiplatformのdesktopとbrowserを出してきたことになる。
Compose multiplatformのiOS対応、1年以内は十分可能なラインだと思うわ
2021/08/09(月) 05:25:57.11ID:Xrd/gax2
そもそもIntelliJ IDEAがクソ使い辛いクソIDEなんだが
そのクソ使い辛いものがベースのAndroid Studioもクソ使い辛くてクソ重いんだよなぁ
そもそもまともなPHPのIDEがなかったからPhpStormが人気なだけでIntelliJとかVSと比較したらゴミだぞ
2021/08/09(月) 09:40:35.13ID:KhkS1z0C
>>50
PHP、そもそもまともな言語ではない。
IDEは言語やフレームワーク、ライブラリのクオリティに比べたら重要度は低いと思う。

VSはWPFとかでは使いやすいがMAUI利用時はそうは思わない。
Android Studioは直感的にUIの部品を張り付けてUI書ける。
Visual StudioのWPF(C#)ライクでいいと思う。
でもXamarinやMAUIで同じようにUI書けないでしょう

Buildの時間もAndroid StudioのほうがVS2022 + MAUIより速い気がする
2021/08/09(月) 09:51:00.06ID:eRGdBEf8
UI部品を貼り付け…
VBerかな?
2021/08/09(月) 09:54:05.07ID:XTaREe6O
ポトペタって最初は楽なんだけど、ちゃんと考えると辛いよね。
formsアプリでちゃんと画面のリサイズに対応したり、split系のコンテナ使ってたりしたら、二度とやりたくないって思うぐらいのものだと思って。
2021/08/09(月) 10:27:07.72ID:KhkS1z0C
>>52
WPF(C#)ってかいてるだろ
Android Studio(Kotlin)でもポトペタできる

>>53
Android Studio使ってる?
ポトペタでもC#のとは違うでしょう
どの場所を起点に配置するかも上下左右、指定必要だし
マージンも指定するのが普通だからリサイズは対応できるでしょ
2021/08/09(月) 10:29:59.07ID:eRGdBEf8
まぁ…初心者には安心かもね
でもMSがとっくに通り過ぎて開発者が切り捨てたアイデアなんだよなポトペタって
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況