探検
.NET MAUIが不人気な原因なんなの?
2024/04/03(水) 09:31:04.77ID:PIf6+wQa
2デフォルトの名無しさん
2024/04/03(水) 09:33:59.00ID:ifc5FJEE ライブラリがなさすぎてMAUIで作るよりiOSとAndroidを別々に2個開発した方が早い
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を混ぜるとか企画したやつ頭キチガイすぎ
そこにMacCatalystとWindowsを混ぜるとか企画したやつ頭キチガイすぎ
2024/04/03(水) 09:46:47.38ID:DOa4fNy3
Xamarinの出始めの頃の
基本的にiPhoneとAndroidで別々にアプリを作るが
OSに依存しないビジネスロジック部分だけ共通ライブラリ化する
というのが一番理にかなっていた
基本的に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
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やん
寧ろ後継はPowerAppsやん
22デフォルトの名無しさん
2024/04/03(水) 12:16:10.12ID:HDaUFyfs ぶっちゃけこの分野はFlutterで良いんだよね
プラットフォーム固有の処理はRustやGoで書いて呼べば良いし
唯一の難点というか嫌いなのはDart
ここだけせめてJSとかTSにしてくれりゃいいのに
プラットフォーム固有の処理は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:22nl1AHd2024/04/03(水) 18:29:57.57ID:22nl1AHd
28デフォルトの名無しさん
2024/04/03(水) 18:57:29.62ID:Ak/SI5wp >>27
swift登場以降はそうでもないぞ
swift登場以降はそうでもないぞ
29デフォルトの名無しさん
2024/04/03(水) 18:59:49.16ID:Ak/SI5wp SwiftUIのシンプルさと雲泥の差なのが敗因だろ
ReactiveCommandなんかを使ってもグチャグチャになるし
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
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#に変換するのがクソ面倒。
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#を捨てた
触ったことないんだろうけど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で言えば全部の引数に_付いてる程度のもんだろ。
その程度の違いは一握りのキチガイしか気にしないだろ
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に寄せて
第一引数のラベルは無視されて生指定して
第二引数以降はラベルをつけるみたいな仕様だったが改善された
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
2024/04/05(金) 00:26:23.11ID:mxhpBnUh
これは単にxamarinのせいではなくただのC#の言語仕様の限界
pythonやrubyのように位置引数とキーワード引数がわけられる言語なら容易に対応できたのに
pythonやrubyのように位置引数とキーワード引数がわけられる言語なら容易に対応できたのに
2024/04/05(金) 00:28:11.54ID:mxhpBnUh
メソッド名が素直に一対一対応しないフレームワークなど使うか?
これが答えだ
いちいちこの対応関係を調べていかなきゃならん
こんなことやってられか?
いまならChatGPTがあるから多少マシではあるがこんなヤク狩りしたくねーのよ
これが答えだ
いちいちこの対応関係を調べていかなきゃならん
こんなことやってられか?
いまならChatGPTがあるから多少マシではあるがこんなヤク狩りしたくねーのよ
44デフォルトの名無しさん
2024/04/05(金) 00:30:51.10ID:/byIH6sq2024/04/05(金) 00:34:24.89ID:mxhpBnUh
xamarinがなぜこんな仕様にしたのかは謎ではある
Javaに寄せるためにこうしたのか
キーワード引数は昔からあった気がするが仕様的に対応できないようなものがあったのか
Javaに寄せるためにこうしたのか
キーワード引数は昔からあった気がするが仕様的に対応できないようなものがあったのか
2024/04/05(金) 00:37:43.11ID:mxhpBnUh
>>44
当たり前だがswiftは上に書いたようにSDKと同じように書ける
両方上手く書けるようにしてるんだよ
というか書けないとおかしいのだが
ランタイムはObj-Cのものを使ってるのだから
xamarinのせいなのかmonoのせいなのかは知らんがswiftと同じようにすることはできたはずなのに
当たり前だが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#は詳しくないのでよくわからないが
今もできないのかは知らないが少なくとも当時の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が激減したのが答えだよ
テキストひとつ連結にするのに馬鹿みたいに長いメソッドなんて誰も使いたくない
あんな黒歴史のような過去にしがみつくのは愚かの極み
Objective-cなんて誰もがクソだと感じていたけど
iOSアプリ開発ではそれしか使えなかったから
みんな仕方なく使ってただけだろ
SwiftやXamarinが登場してObjective-cが激減したのが答えだよ
テキストひとつ連結にするのに馬鹿みたいに長いメソッドなんて誰も使いたくない
あんな黒歴史のような過去にしがみつくのは愚かの極み
52デフォルトの名無しさん
2024/04/05(金) 00:47:48.96ID:FBxoOTBt Objective-Cとは、
C言語のメモリ安全性と、
Smalltalkの高速性を合わせたプログラミング言語である。
C言語のメモリ安全性と、
Smalltalkの高速性を合わせたプログラミング言語である。
53デフォルトの名無しさん
2024/04/05(金) 00:48:37.46ID:FBxoOTBt >>50
Rustの出来損ないがSwiftだぞ
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#でやるのがすげー泥臭くてその部分もクソだった
つまり結局そのまま移植するということが実質不可能であり
こんなことなら別々に書いた方がマシとなった
AndroidはJavaだからSDKがほぼ一対一対応するからと書いたがAndroid SDKの仕様的に匿名のインナークラスをすげー使うのよ
これをC#でやるのがすげー泥臭くてその部分もクソだった
つまり結局そのまま移植するということが実質不可能であり
こんなことなら別々に書いた方がマシとなった
2024/04/05(金) 05:34:13.13ID:mxhpBnUh
まとめるとxamarinがクソ過ぎたせいで
どうせMAUIもクソだろうと思った人たちが相当数いて
MSの技術に不信感を持っているので使わない
現にMAUIのMacはgithubみてもほぼ開発は停止してる
どうせMAUIもクソだろうと思った人たちが相当数いて
MSの技術に不信感を持っているので使わない
現にMAUIのMacはgithubみてもほぼ開発は停止してる
2024/04/05(金) 05:37:37.37ID:mxhpBnUh
実際俺は仕事でiOSとAndroidのネイティブ開発をやってて
両対応面倒だからxamarin使えないかと本気で移行を考えていたし実際移植作業を開始していた
だからこれくらい詳細に語れる
MAUIを流行らせたい場合はまずは失った信頼を取り戻すことをしないと無理だろう
あとSwiftUIやFlutterが出てきている昨今
今更XAMLとかも時代遅れなのはいうまでもない
両対応面倒だからxamarin使えないかと本気で移行を考えていたし実際移植作業を開始していた
だからこれくらい詳細に語れる
MAUIを流行らせたい場合はまずは失った信頼を取り戻すことをしないと無理だろう
あとSwiftUIやFlutterが出てきている昨今
今更XAMLとかも時代遅れなのはいうまでもない
59デフォルトの名無しさん
2024/04/05(金) 05:59:24.81ID:5kaK3dCP >>58
Blazorでやれば良いだけじゃ?
Blazorでやれば良いだけじゃ?
2024/04/05(金) 10:59:22.89ID:skjVNGtq
>MSの技術に不信感を持っている
8のタイル以降これ
8に関わった奴の罪は重い
8のタイル以降これ
8に関わった奴の罪は重い
レスを投稿する
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で ★2 [ぐれ★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 【正論】有識者「高市早苗に合理的配慮をしなかった野党が悪い」 [175344491]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 日経平均、49000円割れ 国賊高市を許すな ★2 [402859164]
- 吉村はん「高市さんは発言を撤回する必要ないですよ。中国の大阪総領事が謝罪すべき」 [256556981]
- 高市政権「中国さん、日本はいつでも対話に応じるで」 [834922174]
