.NET MAUIが不人気な原因なんなの? (426レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) レス栞 あぼーん
38(1): 04/05(金)00:04 ID:mxhpBnUh(1/16) AAS
>>37
触ったことないんだろうけどUIKitというかObj-Cは関数のシグネイチャが
aFunc:arg1:arg2と言うような形なの
つまり関数名と引数のラベルが統一的に扱われる
これはC#でまともに書けないので
ただの引数にしてメソッドの名前をシンプルに変えてる
例:UIKitのメソッドシグネイチャ
tableView:didSelectRowAtIndexPath:
Xamarinのメソッドシグネイチャ
void RowSelected (UIKit.UITableView tableView, Foundation.NSIndexPath indexPath)
省3
40: 04/05(金)00:21 ID:mxhpBnUh(2/16) AAS
みなみにswiftではこの辺が少し変わっていて
aFunc(label1 arg1:Type, label2 arg2:Type)となっている
呼び出す時は
aFunc(label1: "foo", label2:"bar")
ラベルがめんどくえって時は_をラベルの前につける
aFunc(_ label1 arg1:Type, _ label2 arg2:Type)
こうするとaFunc("foo","bar")で呼び出せる
ちなみにswiftも昔はObj-Cに寄せて
第一引数のラベルは無視されて生指定して
第二引数以降はラベルをつけるみたいな仕様だったが改善された
41(1): 04/05(金)00:22 ID:mxhpBnUh(3/16) AAS
>>39
ラベルがメソッド名の一部だって言ってるだろ
そこを省略されたらなんもわからんのよ
42: 04/05(金)00:26 ID:mxhpBnUh(4/16) AAS
これは単にxamarinのせいではなくただのC#の言語仕様の限界
pythonやrubyのように位置引数とキーワード引数がわけられる言語なら容易に対応できたのに
43: 04/05(金)00:28 ID:mxhpBnUh(5/16) AAS
メソッド名が素直に一対一対応しないフレームワークなど使うか?
これが答えだ
いちいちこの対応関係を調べていかなきゃならん
こんなことやってられか?
いまならChatGPTがあるから多少マシではあるがこんなヤク狩りしたくねーのよ
45: 04/05(金)00:34 ID:mxhpBnUh(6/16) AAS
xamarinがなぜこんな仕様にしたのかは謎ではある
Javaに寄せるためにこうしたのか
キーワード引数は昔からあった気がするが仕様的に対応できないようなものがあったのか
46(1): 04/05(金)00:37 ID:mxhpBnUh(7/16) AAS
>>44
当たり前だがswiftは上に書いたようにSDKと同じように書ける
両方上手く書けるようにしてるんだよ
というか書けないとおかしいのだが
ランタイムはObj-Cのものを使ってるのだから
xamarinのせいなのかmonoのせいなのかは知らんがswiftと同じようにすることはできたはずなのに
47: 04/05(金)00:39 ID:mxhpBnUh(8/16) AAS
このようにxamarinはゴミという評価をして捨てていった
俺も一度はチャレンジしたのだよ
その結果がこれ
ちゃんとメソッドの仕様を合わせられていれば事情は変わっていたかもしれない
48: 04/05(金)00:41 ID:mxhpBnUh(9/16) AAS
ちなswiftでのSDKのメソッドシグネイチャは第一引数のラベルにのみ_がついている
こうすることで完全な一対一対応かつ普通の言語のラベル付きメソッド呼び出しも位置引数呼び出しもできるようになっている
素晴らしい👍
49: 04/05(金)00:43 ID:mxhpBnUh(10/16) AAS
C#でキーワード引数と位置引数の混合ができなかったのか
今もできないのかは知らないが少なくとも当時のmonoの環境では無理だったということなのか?
C#は詳しくないのでよくわからないが
50(1): 04/05(金)00:44 ID:mxhpBnUh(11/16) AAS
この引数の仕様は間違いなくswiftが1番美しい
全言語の中で最強だろう
55: 04/05(金)01:58 ID:mxhpBnUh(12/16) AAS
話がだいぶそれたがMAUIが流行ってないのは「xamarinで嫌気がさした人たちが戻ってこないから」です
56(1): 04/05(金)05:31 ID:mxhpBnUh(13/16) AAS
言い忘れた
AndroidはJavaだからSDKがほぼ一対一対応するからと書いたがAndroid SDKの仕様的に匿名のインナークラスをすげー使うのよ
これをC#でやるのがすげー泥臭くてその部分もクソだった
つまり結局そのまま移植するということが実質不可能であり
こんなことなら別々に書いた方がマシとなった
57: 04/05(金)05:34 ID:mxhpBnUh(14/16) AAS
まとめるとxamarinがクソ過ぎたせいで
どうせMAUIもクソだろうと思った人たちが相当数いて
MSの技術に不信感を持っているので使わない
現にMAUIのMacはgithubみてもほぼ開発は停止してる
58(1): 04/05(金)05:37 ID:mxhpBnUh(15/16) AAS
実際俺は仕事でiOSとAndroidのネイティブ開発をやってて
両対応面倒だからxamarin使えないかと本気で移行を考えていたし実際移植作業を開始していた
だからこれくらい詳細に語れる
MAUIを流行らせたい場合はまずは失った信頼を取り戻すことをしないと無理だろう
あとSwiftUIやFlutterが出てきている昨今
今更XAMLとかも時代遅れなのはいうまでもない
63(1): 04/05(金)17:44 ID:mxhpBnUh(16/16) AAS
>>62
流石に95は無理
NTをそのまま64ビット化してくれればよかった
おれは昔NTでずっと開発しててめちゃくちゃ安定してた
当時のマシンリソースなんてカスみたいなもんだったのに
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.943s*