.NET MAUIが不人気な原因なんなの?

2024/04/03(水) 09:31:04.77ID:PIf6+wQa
https://monobook.org/wiki/.NET_MAUI
3デフォルトの名無しさん
垢版 |
2024/04/03(水) 09:34:46.85ID:UCS7Ve8v
PCとタブレットとスマホを一本のコードで書くとか無理に決まってるだろ
4デフォルトの名無しさん
垢版 |
2024/04/03(水) 09:35:42.67ID:PxKmm54D
AdMobのライブラリすらない
5デフォルトの名無しさん
垢版 |
2024/04/03(水) 09:36:28.62ID:72J2mJsT
カメラ撮影もできないからテキストとボタンを表示するくらいしかできない
6デフォルトの名無しさん
垢版 |
2024/04/03(水) 09:36:58.44ID:72J2mJsT
よくこのレベルで公開したなという感じ
2024/04/03(水) 09:38:31.60ID:GPSo8n7J
iOSアプリ開発にはMac必須なのにVisual Studio for Mac廃止なのが致命傷だった
2024/04/03(水) 09:38:59.38ID:GPSo8n7J
vscodeの拡張機能はゴミすぎだし
2024/04/03(水) 09:39:16.26ID:GPSo8n7J
>>3
あとこれ
2024/04/03(水) 09:41:35.50ID:DOa4fNy3
AndroidとiOSのふたつですら最小公倍数でできないことだらけなのに
そこにMacCatalystとWindowsを混ぜるとか企画したやつ頭キチガイすぎ
2024/04/03(水) 09:46:47.38ID:DOa4fNy3
Xamarinの出始めの頃の
基本的にiPhoneとAndroidで別々にアプリを作るが
OSに依存しないビジネスロジック部分だけ共通ライブラリ化する
というのが一番理にかなっていた
2024/04/03(水) 09:47:23.18ID:DOa4fNy3
Xamarin.formsの時点で道を間違えていたんだよ
13デフォルトの名無しさん
垢版 |
2024/04/03(水) 09:50:26.21ID:Ib/Uz+NF
vscodeのc#拡張が産業廃棄物級のゴミなのが大きい
14デフォルトの名無しさん
垢版 |
2024/04/03(水) 10:16:26.25ID:QnQzqXvM
XAMLがクソ
15デフォルトの名無しさん
垢版 |
2024/04/03(水) 10:19:28.77ID:HDaUFyfs
そもそもモバイル含めて全部Webアプリで良いしね
2024/04/03(水) 11:12:07.72ID:hK0cBcQ6
複数のプラットフォームに対応して出来ないことだらけとかAdobe Flashが通った道じゃん。
2024/04/03(水) 11:12:46.75ID:hK0cBcQ6
Silverlightでも経験しているのに何で同じ過ちを繰り返したのか。
18デフォルトの名無しさん
垢版 |
2024/04/03(水) 11:17:09.36ID:UaiYnVDt
ジョブズも死ぬ直前にそんなこと言ってたな

iPhone OSの新機能をアプリ開発に利用できるかどうか、いつ利用できるかがサードパーティーによって決定されてしまうと同氏は主張している。
特にクロスプラットフォームツールでは各種プラットフォームの「最小公分母」の機能しか提供されず、「開発者がAppleの最新技術を利用できない状況は受け入れられない」という。
https://www.itmedia.co.jp/news/articles/1004/30/news029.html
19デフォルトの名無しさん
垢版 |
2024/04/03(水) 11:54:24.39ID:5UVk8cmF
そもそもクロスプラットフォームが愚かな考え
20デフォルトの名無しさん
垢版 |
2024/04/03(水) 11:55:21.89ID:5UVk8cmF
片方で使えない機能があると両方で使えないことになる
21デフォルトの名無しさん
垢版 |
2024/04/03(水) 12:13:54.79ID:HDaUFyfs
>>17
寧ろ後継はPowerAppsやん
22デフォルトの名無しさん
垢版 |
2024/04/03(水) 12:16:10.12ID:HDaUFyfs
ぶっちゃけこの分野はFlutterで良いんだよね
プラットフォーム固有の処理はRustやGoで書いて呼べば良いし

唯一の難点というか嫌いなのはDart
ここだけせめてJSとかTSにしてくれりゃいいのに
2024/04/03(水) 12:46:57.01ID:yXsvCwfW
react native はまだ有るのかな
24デフォルトの名無しさん
垢版 |
2024/04/03(水) 15:04:40.22ID:025ipRUy
c#だもん
25デフォルトの名無しさん
垢版 |
2024/04/03(水) 17:21:50.32ID:u5RqGCMc
Androidのユーザーは金払いが悪いから、そもそもiOS向けのアプリだけ出しておけば十分だったんだよ
26デフォルトの名無しさん
垢版 |
2024/04/03(水) 18:27:01.46ID:22nl1AHd
>>14
これ
時代遅れの産物
2024/04/03(水) 18:29:57.57ID:22nl1AHd
>>11
AndroidはJavaだから問題ないけどObj-CのSDKをC#で書くとかただの苦行だし
別々に書くので良いよ
どうしても共通化したい場合はC++で書く方が良い
28デフォルトの名無しさん
垢版 |
2024/04/03(水) 18:57:29.62ID:Ak/SI5wp
>>27
swift登場以降はそうでもないぞ
29デフォルトの名無しさん
垢版 |
2024/04/03(水) 18:59:49.16ID:Ak/SI5wp
SwiftUIのシンプルさと雲泥の差なのが敗因だろ
ReactiveCommandなんかを使ってもグチャグチャになるし
30デフォルトの名無しさん
垢版 |
2024/04/03(水) 19:01:56.21ID:Ak/SI5wp
ぶっちゃけ教科書どおりにObservableなんか使って書いたらメンテナンス性は最悪すぎてやばいだろ
2024/04/03(水) 22:26:11.83ID:0QFgxkvj
失敗作の糞なのに頑なにプッシュして生産性落とそうとしてくるのが時間のムダ過ぎる
32デフォルトの名無しさん
垢版 |
2024/04/04(木) 05:57:07.45ID:mNkWQBjH
そもそもTeamsのアプリとかだってReactで刷新したわけじゃん
まず自分達の製品で使ってみろって言いたい
33デフォルトの名無しさん
垢版 |
2024/04/04(木) 10:15:44.69ID:lPk+rv7W
正直、iOSとAndroid別々に似たようなアプリを作った方が早い
34デフォルトの名無しさん
垢版 |
2024/04/04(木) 10:18:28.42ID:lPk+rv7W
あとXAMLは百歩譲ってもMVVMはゴミクソウンコだろ
2024/04/04(木) 13:54:42.51ID:e0l7Zmlm
>>33
これ
今や典型的なUIを使ったアプリなんてChatGPTで生成して貰えば良いのだからたいしたこともない
ゲームはUnityとか使えば良い
2024/04/04(木) 13:56:02.61ID:e0l7Zmlm
>>28
引数のラベルの仕様が全く違うので論外だよ
37デフォルトの名無しさん
垢版 |
2024/04/04(木) 23:45:57.01ID:hDr1yY+f
>>36
SwiftとC#なんてテキスト置換で相互変換できるだろ。
Xamarin.Macで古いCarbon叩く場合はIntPtrだらけになるけどiOSとCocoaだとそんなことないし。

むしろヤバイのJavaだよ。
AndroidのJavaはイベント処理に匿名クラス使いまくりだからC#に変換するのがクソ面倒。
2024/04/05(金) 00:04:40.97ID:mxhpBnUh
>>37
触ったことないんだろうけどUIKitというかObj-Cは関数のシグネイチャが
aFunc:arg1:arg2と言うような形なの
つまり関数名と引数のラベルが統一的に扱われる
これはC#でまともに書けないので
ただの引数にしてメソッドの名前をシンプルに変えてる

例:UIKitのメソッドシグネイチャ
tableView:didSelectRowAtIndexPath:

Xamarinのメソッドシグネイチャ
void RowSelected (UIKit.UITableView tableView, Foundation.NSIndexPath indexPath)

トホホ
名前がラベルじゃなくなってる上に個別のただの引数になっておる

これを見た時おれはxamarinというかC#を捨てた
39デフォルトの名無しさん
垢版 |
2024/04/05(金) 00:20:17.58ID:/byIH6sq
>>38
c#もラベルあるじゃん。
RowSelected (tableView:tableView, indexPath:indexPath)
みたいに書けばいいだけでは?

swiftで言えば全部の引数に_付いてる程度のもんだろ。
その程度の違いは一握りのキチガイしか気にしないだろ
2024/04/05(金) 00:21:54.21ID:mxhpBnUh
みなみに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に寄せて
第一引数のラベルは無視されて生指定して
第二引数以降はラベルをつけるみたいな仕様だったが改善された
2024/04/05(金) 00:22:41.94ID:mxhpBnUh
>>39
ラベルがメソッド名の一部だって言ってるだろ
そこを省略されたらなんもわからんのよ
2024/04/05(金) 00:26:23.11ID:mxhpBnUh
これは単にxamarinのせいではなくただのC#の言語仕様の限界
pythonやrubyのように位置引数とキーワード引数がわけられる言語なら容易に対応できたのに
2024/04/05(金) 00:28:11.54ID:mxhpBnUh
メソッド名が素直に一対一対応しないフレームワークなど使うか?
これが答えだ
いちいちこの対応関係を調べていかなきゃならん
こんなことやってられか?
いまならChatGPTがあるから多少マシではあるがこんなヤク狩りしたくねーのよ
44デフォルトの名無しさん
垢版 |
2024/04/05(金) 00:30:51.10ID:/byIH6sq
>>41
qiitaなどの世に溢れてるswiftコードのほとんどがobjc風ではなくC#風の記法だらけになってるのに、
そんなバカみたいなことに拘ってるのは一握りのキチガイだけだぞ。
2024/04/05(金) 00:34:24.89ID:mxhpBnUh
xamarinがなぜこんな仕様にしたのかは謎ではある
Javaに寄せるためにこうしたのか
キーワード引数は昔からあった気がするが仕様的に対応できないようなものがあったのか
2024/04/05(金) 00:37:43.11ID:mxhpBnUh
>>44
当たり前だがswiftは上に書いたようにSDKと同じように書ける
両方上手く書けるようにしてるんだよ
というか書けないとおかしいのだが
ランタイムはObj-Cのものを使ってるのだから

xamarinのせいなのかmonoのせいなのかは知らんがswiftと同じようにすることはできたはずなのに
2024/04/05(金) 00:39:21.51ID:mxhpBnUh
このようにxamarinはゴミという評価をして捨てていった
俺も一度はチャレンジしたのだよ
その結果がこれ
ちゃんとメソッドの仕様を合わせられていれば事情は変わっていたかもしれない
2024/04/05(金) 00:41:39.65ID:mxhpBnUh
ちなswiftでのSDKのメソッドシグネイチャは第一引数のラベルにのみ_がついている
こうすることで完全な一対一対応かつ普通の言語のラベル付きメソッド呼び出しも位置引数呼び出しもできるようになっている
素晴らしい👍
2024/04/05(金) 00:43:24.89ID:mxhpBnUh
C#でキーワード引数と位置引数の混合ができなかったのか
今もできないのかは知らないが少なくとも当時のmonoの環境では無理だったということなのか?
C#は詳しくないのでよくわからないが
2024/04/05(金) 00:44:57.68ID:mxhpBnUh
この引数の仕様は間違いなくswiftが1番美しい
全言語の中で最強だろう
51デフォルトの名無しさん
垢版 |
2024/04/05(金) 00:47:21.07ID:LdYpNUMj
>>46
Objective-cなんて誰もがクソだと感じていたけど
iOSアプリ開発ではそれしか使えなかったから
みんな仕方なく使ってただけだろ

SwiftやXamarinが登場してObjective-cが激減したのが答えだよ
テキストひとつ連結にするのに馬鹿みたいに長いメソッドなんて誰も使いたくない

あんな黒歴史のような過去にしがみつくのは愚かの極み
52デフォルトの名無しさん
垢版 |
2024/04/05(金) 00:47:48.96ID:FBxoOTBt
Objective-Cとは、
C言語のメモリ安全性と、
Smalltalkの高速性を合わせたプログラミング言語である。
53デフォルトの名無しさん
垢版 |
2024/04/05(金) 00:48:37.46ID:FBxoOTBt
>>50
Rustの出来損ないがSwiftだぞ
54デフォルトの名無しさん
垢版 |
2024/04/05(金) 01:02:18.73ID:QneFFsJP
objc,swift,c#を並べて比較したとき、c#を選ぶ理由はガベージコレクションが唯一リファレンスカウント方式ではないという点だよ。
カメラでの動画撮影などの高負荷かつ長時間使うアプリだと安定性に雲泥の差が出る。
2024/04/05(金) 01:58:12.15ID:mxhpBnUh
話がだいぶそれたがMAUIが流行ってないのは「xamarinで嫌気がさした人たちが戻ってこないから」です
2024/04/05(金) 05:31:46.96ID:mxhpBnUh
言い忘れた
AndroidはJavaだからSDKがほぼ一対一対応するからと書いたがAndroid SDKの仕様的に匿名のインナークラスをすげー使うのよ
これをC#でやるのがすげー泥臭くてその部分もクソだった
つまり結局そのまま移植するということが実質不可能であり
こんなことなら別々に書いた方がマシとなった
2024/04/05(金) 05:34:13.13ID:mxhpBnUh
まとめるとxamarinがクソ過ぎたせいで
どうせMAUIもクソだろうと思った人たちが相当数いて
MSの技術に不信感を持っているので使わない
現にMAUIのMacはgithubみてもほぼ開発は停止してる
2024/04/05(金) 05:37:37.37ID:mxhpBnUh
実際俺は仕事でiOSとAndroidのネイティブ開発をやってて
両対応面倒だからxamarin使えないかと本気で移行を考えていたし実際移植作業を開始していた
だからこれくらい詳細に語れる
MAUIを流行らせたい場合はまずは失った信頼を取り戻すことをしないと無理だろう
あとSwiftUIやFlutterが出てきている昨今
今更XAMLとかも時代遅れなのはいうまでもない
59デフォルトの名無しさん
垢版 |
2024/04/05(金) 05:59:24.81ID:5kaK3dCP
>>58
Blazorでやれば良いだけじゃ?
2024/04/05(金) 10:59:22.89ID:skjVNGtq
>MSの技術に不信感を持っている
8のタイル以降これ
8に関わった奴の罪は重い
61デフォルトの名無しさん
垢版 |
2024/04/05(金) 11:30:58.34ID:IQ2UY/1s
>>56
Xamarin.Androidは↓みたいなJavaのIListener系をActionに変換するクラスを必要に応じて深く考えずに脳死で作りまくれば捗るぞ。
class FuckListener : Java.Lang.Object, IFuckListener {
public Action<object>? OnFuckAction;
public void OnFuck(object you) {
OnFuckAction?.Invoke(me);
}
}
62デフォルトの名無しさん
垢版 |
2024/04/05(金) 12:30:12.96ID:5kaK3dCP
>>60
ぶっちゃけ思うんだけどセキュリティとかそういうのだけ更新してくれてたらWindows95で良いんだよね
2024/04/05(金) 17:44:21.96ID:mxhpBnUh
>>62
流石に95は無理
NTをそのまま64ビット化してくれればよかった
おれは昔NTでずっと開発しててめちゃくちゃ安定してた
当時のマシンリソースなんてカスみたいなもんだったのに
2024/04/06(土) 17:01:45.73ID:zNMeSjHN
>>2
Flutterとかでもそういうところあるよね
2024/04/06(土) 17:57:17.84ID:aTWJ76vQ
そんな当たり前だろ
2024/04/07(日) 09:52:55.07ID:PBkCA9RO
XAMLが嫌?
そんなあなたにMAUI Blazorをどうぞ
2024/04/07(日) 14:46:30.37ID:wzc0RLf2
>>66
ASP.NETが嫌なの
わかれよ
2024/04/09(火) 12:48:45.72ID:v1OJD5g+
>>63
3.1に比べれば95は神

NT? 重すぎでしょ
2024/04/09(火) 14:42:06.98ID:lDhzon+/
>>68
95なんて落ちまくりだっただろw
セキュリティもやべーし
70デフォルトの名無しさん
垢版 |
2024/04/09(火) 15:01:23.66ID:vz2W6XdT
>>69
だからセキュリティだけは更新してと>>62で言っただろ
文盲かよ馬鹿かよ無能かよw
71デフォルトの名無しさん ころころ
垢版 |
2024/04/09(火) 15:32:15.70ID:KoSn7rCk
C#だもん
2024/04/09(火) 16:46:33.01ID:cnWg1oP8
OSのセキュリティだけ更新して製品の安全性を保てるとか思ってるやつ
プログラミングやってないんやろな、とは思う
73デフォルトの名無しさん
垢版 |
2024/04/09(火) 16:54:03.30ID:vz2W6XdT
>>72
何言ってんだお前?
今のOSは全部そんな感じだぞ
2024/04/09(火) 18:00:51.66ID:lDhzon+/
>>70
落ちるのは単なるバグだぞ
あとOS的にセキュリティは一切考慮されてない仕組みだから無理
2024/04/09(火) 18:04:45.11ID:l6D7k+ZS
>>68
今のwindowsは全部NTベースだぞ
windows10はNT10.0だ
2024/04/09(火) 21:43:44.54ID:UuKm+fN/
>>75
95は32ビットフラットメモリモデルのプログラムがかけたんだぞ
3.1のセグメントモデルを知っていれば神としか言いようがない
3.1のファイル操作はDOSを使うからガックガクだったが95のプリエンプティブなマルチタスクは神
NTは確かにすでにあったけど起動するだけで眠くなるアプリ無いし
2024/04/12(金) 15:32:38.18ID:t3QEC2Vb?PLT(12015)

visual studio codeのc#とmauiの拡張機能が絶望的な品質だからだろ
2024/04/12(金) 15:33:35.20ID:t3QEC2Vb?PLT(12015)

iosアプリ開発はmac必須なのにvisual studio codeが使い物にならないせいでどうにもならない
2024/04/12(金) 18:01:46.39ID:1ecUYjT8
>>76
3.1触ったことあるってマジで何歳よ?
ジジイの俺ですら検証用のマシーンでチラッと見たことがある程度で触ったことはないぞ
80デフォルトの名無しさん
垢版 |
2024/04/12(金) 21:20:22.60ID:9sITkbam
>>78
Mac不要なのを知らんのか?
2024/04/12(金) 22:09:01.89ID:tyLDyfFZ
MAUIはmacOSはもうずっとCatalystでお茶を濁すつもりなの?前に触った時Windowサイズすら変えられないと知って絶望した
C#はもう観念して、せめてデスクトップに集中してほしいんだが
2024/04/12(金) 22:46:27.69ID:j0zLvtrU
>>79
Windows3.1は1990年代の前半だから40代の元パソコン少年とかなら触ったことあると思うぞ
自分は45歳のオッサンだが高校に上がって少し経つ頃にはPCはWindows3.1一色になってた
2024/04/12(金) 22:50:08.23ID:1ecUYjT8
XAMLやめない限りはやることはないよ
2024/04/12(金) 22:57:08.63ID:1ecUYjT8
>>82
俺もどっちかというとパソコン少年だったがMSXの後はwindows95まではコンシューマゲーム機しか触ってない
3.1触ってるやつは相当レアだと思うよ
2024/04/13(土) 00:36:11.70ID:OrtqC7Lq
今思えばWindowsは国民機を潰すのが目的の1つにあったろう
技術立国日本の零落の始まりだ
日本が誇れる企業はトヨタしかなくなった
AI自動運転とかで同じことが車で起きたら終わりだ
2024/04/13(土) 17:38:51.01ID:WqUEYZDT
XAMLを削除して新しいモダンな描画システムを作るべきだよ
FlutterとかSwiftUIみたいに書けるやり方でさ
2024/04/13(土) 19:22:04.53ID:umcuGDrn
SwiftUIはよかった
まだ作りかけって感じは否めないけど(テーブルが10列までしか作れないとか)
2024/04/14(日) 05:10:52.05ID:cBXZ7kVC
最近のフレームワークは最初からUI書くために設計されてるからなー
ツリー構造をいかに手数少なく
2024/04/14(日) 05:41:09.94ID:Jvefqylq
その辺のフレームワークの設計はMSの専売特許だったはずなのだけどね
どこでおかしくなったのか
90デフォルトの名無しさん
垢版 |
2024/04/14(日) 12:11:46.21ID:bJ4f9UiY
>>80
ビルドにMac必須だろ
とくにライブラリを作るなら実機が手元にないとまったく開発が捗らないし
2024/04/14(日) 12:12:39.70ID:bJ4f9UiY
>>81
ウインドウサイズは変えられるようになった
フォーカスの移動はできない
92デフォルトの名無しさん
垢版 |
2024/04/14(日) 12:23:29.65ID:Fqyn/T0R
>>90
ビルドもMac不要だぞ
2024/04/14(日) 14:37:02.31ID:iZhIOs9F
シミュレータなしだと都度実機へ転送でつらないか
いまはリモートシミュレータがクラウド化されてる?
2024/04/14(日) 15:48:22.87ID:Jvefqylq
UIKit使ってないならビルドは可能
95デフォルトの名無しさん
垢版 |
2024/04/15(月) 17:04:45.26ID:cAc47cem
UIKit使わないと無理だろw
96デフォルトの名無しさん
垢版 |
2024/04/15(月) 17:05:42.80ID:L/+vsaF5
ipaに署名できない
つまりリリースビルドができない
97デフォルトの名無しさん
垢版 |
2024/04/15(月) 17:09:17.54ID:6WSJ63r9
現状ではUIKitやらAVFoundationやらSensorKitやらを叩いてゴリゴリと自前でライブラリを作らないと使い物にならない。
そのライブラリの実装テストの試行錯誤はMac実機とiPhone実機の2つがないとまったく捗らない。
2024/04/15(月) 17:15:24.72ID:FCLpude1
ゲームなら別にMacはリリースする時までいらない
2024/04/15(月) 18:04:32.51ID:xKjV4DT3
まあ、実際使い物にならないから流行ってないんだけどね
廃止予定のVisual Studio for MacをVisual Studio Codeがまともになるまで延命するでもしないとMAUIまるごと完全消滅しそうではある
2024/04/15(月) 18:16:15.82ID:6WSJ63r9
>>81
mac catalystはswiftで開発してもゴミだからな。
AVFoundationもまともに動かないからバーコードも扱えないし業務アプリには致命的すぎる
101デフォルトの名無しさん
垢版 |
2024/04/16(火) 17:46:19.58ID:W2EsM7we
MAUI以前の問題だぞ
https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit&ssr=false#review-details
2024/04/16(火) 18:59:41.52ID:xEC1OsYQ
Java拡張の方が評価も更新頻度も高いというね
MSくん何がしたいんやC#もういらんのか?
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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