Xamarin Part6
■ このスレッドは過去ログ倉庫に格納されています
>>271
ライブラリ頻繁にいじるものでないならいいけど、そうでないとプロジェクト参照の方がいいな AndroidでC#のアプリをダウンロードすればアイコンをクリックするだけで
起動できるようにする場合、.NET の RUNTIME はいつインストールされる?
AndroidマシンはCPUが色々あるらしいので、.NET RUNTIME は、1つだけの
CPUに特化したものでは駄目なはず。なので、以下のどれかを行わなくてはならない
ハズ:
1. アプリの起動前に、手作業でそのCPUに応じたRUNTIME をインストールしておく。
2. アプリの初回起動時にCPUに応じたものをネットから自動ダウンロードする。
3. RUNTIMEは、CPU Native 用ではなく、Java仮想マシン用のものとする。
つまり、.NET 仮想マシンが、Java仮想マシンの上で動作する二重構造
とする。<--- めちゃくちゃ効率が悪い。 >>274
apkの中に各CPU向けランタイムも含まれてるから、ストアからアプリをダウンロードしたならそこに適切なランタイムも勝手に含まれている だからアプリとは別にランタイムをダウンロードする作業はありません androidならapkに各CPU用のランタイムが含まれてるんじゃねぇかな。つまりユーザーがアプリをダウンロードする段階で全部ダウンロードしてインストールしてる。 >>275
でも、CPUの種類は時間がたつにつれて増えていくかも知れないので、
それだと、2019年に作ったC#アプリのapkは、再コンパイルなしでは
新しい Android マシンでは起動できないと思うけど。 C#アプリの Android 版の apk は、15MB 程しかないらしい。
これに本当に全てのCPU向けの .NET ランタイムが入るだろうか?
Windowsマシンで、Windows Update の詳細記述を見ていると
.NET の 修正 Update だけで、数10MB〜数100MB あったと思う。
修正と言うのは、部分 patch にすれば小さく出来るはず。
それでも、こんなに大きい。
あらゆる Android マシンの、修正 patch ではない、完全な .NET ランタイムが、
本当に 15MB に入るのだろうか。
どっちにしろ、論理的に考えて、それでは新しいアーキテクチャの CPU には対応できない。 >>278
CPUが追加されるのとか数年に1回くらいだろ
再コンパイルすればいいじゃん
追加されたCPUが下位互換持ってたら再コンパイルなしでも動くし >>279
apkのランタイムサイズは15MB×サポートCPU数だろ
ストアからは適切なもんだけダウンロードされるから15MBのダウンロードになるわけだな >>281
そういう仕組みだったのか。
じゃあ、Java の思想とはぜんぜん違う。
Java の場合は、同じ jar ファイルが、異なるマシンでもそのまま動作する。
C#の場合、MSの判断一つで特定のCPU用のパッケージが作れなくなってしまう可能性が
ある訳だね。なんちゅうこっちゃ。Javaとは全く違うじゃない。 >>282
Java + NDK(C++)で作られてるアプリがたくさんあるだろ
それと同じことよ >>283
Android マシンには、最初からそのマシンの CPU に合わせた
JVM がインストールされているので、違うぞ。 >>281
あれ、そうなの?適切なものだけダウンロードだと開発者が署名したapk分解しちゃうの?署名無効になるな。
つか、arm端末にインストールされたapk覗くとx86のバイナリも含まれてるぞ >>287
x86コードの除去し忘れだったりして。 基本的に互換性のない新CPUなんてそう頻繁に出ないでしょ。
そのCPUの性能を100%引き出したいのでなければCPUが出る都度コンパイルなんてしないでしょ。 >>289
「各アーキテクチャ向けapk」と「それらをまとめたapk」は、
それぞれ何MB 位なの。
同じサイズということは論理的にありえないハズだが。 んなもの、アプリによって変わるにきまっているだろ。
Javaのアプリは何MBくらいなの?って聞かれて的確な答えが返せるの? >>288,289
あ、そういうオプションもあるのね。
xamarin関係なく前にいくつかの他人のapkとかリバースエンジニアリングしてたときぬにNDK使ってるやつでx86やらarmのバイナリが含まれてるのばっかだったからそういうもんだと思ってた。
c/c++部分がちょこっとだったからそうなってたのか。
すまんかった。 >>292
Android における C# の GUI の Hello World の場合に決まってるじゃん。 >>294
自分で試せばいいやん。ほぼ全部無料のものばかりだ。 自分で試せることすら率先してやらない程度の興味ならそれこそ時間の無駄じゃろ そんな簡単なことなのに、誰も答えられないということは、誰も試してないこと
が証明されました。
(証明終わり) そうだね
誰が何を知りたかった話なのかは当人以外どうでもいいからね 聞けば何でも教えてもらえると思ってるのは
典型的なゆとり わざわざhello worldの容量調べようなんてこと誰も考えないからこれから作らないと確認できない
それなら自分で作れば?となるのは極めて自然 C#の場合、よっぽど作りこまなければ自分のコード部分のバイトサイズなんて
アプリ全体のサイズの数%未満だろう。だから、Hello Worldでもなんでもあんま
変わらんかも知れんけどな。
C#アプリのサイズが仮に15MBとしよう。自分の書いたプログラムがコンパイル
された結果のバイナリコードは、大体20KB〜300KBくらいなんだよ、多分。 つか、xamarin.essentialsは誰もしないんだな アーキテクチャー別のバイナリーダウンロードする機能ってもう Xamarin でサポートされたんだっけ?
名前忘れちゃったけど割と最近 Android でサポートされた気がするからまだなんじゃないの
それ抜きにしてもリンカー入れれば最小のアプリサイズは 10MB 未満だよ アプリサイズより起動速度の遅さが気になるけど、その Qiita の投稿の手法だったり、Visual Studio の次のバージョンでも d8/r8 とかいうやつで改善されるらしいしよっぽどシビアな案件じゃなければ気になんないんじゃないのという気持ちがある つうか、そのアプリサイズって、起動直後にネットから追加 Download が
絶対に始まらない保障はあるの? 斬新な発想だな。ランタイムを段階的に追加ダウンロードするの? >>311
インターネットに繋がってない環境でapkインストールしてから正常起動するか試してみたらええやん Xamarin程の糞はない
ttps://twitter.com/ca_developers/status/1093416959243300864?s=09
https://twitter.com/5chan_nel (5ch newer account) 何のイベントか知らんけど参加者のMacユーザーの割合やクロスプラットフォーム開発ツール(?)への関心の低さを考えれば
当たり前の結果の気がする
というかクロスプラットフォームとマルチプラットフォームの使い方間違えてないか? x-code使わないとダメだから単体では無理なのはわかるが、Windows用VisualStudioでOSX用のアプリってビルドできないの? こういうのに参加する自称意識高い系のミーハーはMac使い多いな。
中身なさそうなアホばっかやな お前らがXamarinに費やした時間は無駄だったということ残念でした macないとビルドできないからな。
それがXamarinがブレイクしない理由でもある。 既に、Apple 離れは始まってるのかね。
株が急落、iPhoneの売り上げの急減、日本での売り上げの、Huauay
みたいな中華スマホへの敗退は聞いたけど。
少なくとも、10代のプログラマには嫌われてるだろうね。
企業以外は作っても公開できないので、昔の「パソコン」や「ポケコン」
「MSX」みたいなものの代わりにはなりえないね。 ん?FlutterとかはMacなくてもビルドして実機で動かしたりできるの? できないよ
そもそも趣味だとしてもモバイル開発をやっててMacを持ってないとかありえんわ 仕事ならともかく趣味であれば自分の所有しているスマホ以外は興味薄いだろ
AndroidユーザーがわざわざMac手に入れる動機としては弱い
XamarinもマルチプラットフォームではあるけどどちらかといえばAndroid寄り
逆にMacユーザーにしてみればXamarin への関心は薄い 元はMS、Windows派の技術なのにAndroid向け、iPhoneはMacないとダメっていう中途半端さがネック Appleが頑なにライセンス解放しないので仕方ない
最近の凋落ぶりを見るとそろそろ意識改革してもおかしくはないが…
MSがXamarinを買収してまでライセンスを一般に無償解放したのを見習って欲しい >>324
俺は仕事だけど、swiftよりもC#の方が快適だからiOSのみの案件でも最近はXamarinを好んで使うよ 若い人で、自作プロラムをいろんな人に使ってもらいたい人は困るだろうな。
でも、MSのVisualStdioのライセンスも日本には合わない気がするよ。 そうか?
個人開発者やオープンソース開発に対しては殆ど完全に無償解放されてるだろ
商用利用についても以前に比べれば随分敷居は下がった
以前のVS Enterpriseだと新規で200万近く費用必要だったのが今はほぼ半額
維持するだけなら年間20万程度で済む はー。
ひきこもりのオイラの通信回線の遅さを知らないなー。
いくら無料でもDLできないんだよ。。。 1,000円払うから、誰か宅配してくれ、VS Community。 近所にネカフェはないのか?
引きこもりでもたまには外出くらいはするだろ 近所にはない。風呂入って、バスと電車で行って帰ってきて、また風呂に入らね
ばならん。
そこに巨大な壁が有る。 それなら雑誌かムックの付録でVSのDVDが付属してる古本でも探してネットでポチれ そんな通信速度だと何するにしても辛いのでまず速くするのがベストなのでは >>330
それが日本に合ってないという理由?
ふざけんよ 少しは自分で調べろ
初心者向けの入門書や定期刊行雑誌のバックナンバーなんかを調べれば出てくる
出版社のサイトかAmazonなどの評価欄を参考にしろ
ただ良くも悪くもVS2017はバージョン末期なので最近新規に刊行されたものは少ない
VS2017登場当時の頃を狙え Expression Edition は見つかるけど、Community Edition も本当にあるんか? 20年前にこの業界で仕事始めてからずっと言っているのは、UIのクロスプラットフォーム技術は必ず失敗する。
ttps://twitter.com/mkino/status/1093731721378377729?s=19
https://twitter.com/5chan_nel (5ch newer account) それ言い出すとすべてのWebアプリも該当するんだけどね コンビニで落とせよ
スマホあんだろ?
1.セブンに行く
2.セブンのアプリをインストールしてwifiにログインする
3.スマホのブラウザをpcモードにしてxamarinをdl
4.スマホで落としたファイルをpcにコピーしてインストール
アップデートの時は
ノートpcならノートPC持ってセブン行け
デスクトップなら寝てる間にやれ Xamarin は UI のクロスプラットフォーム化を目指したものじゃないよ。その方の書き方が誤ってて、意図してるものに該当するのは Xamarin.Forms だね。その時点で雑な言い方する人なんだなと思っちゃう 5,000円くらいで、Wifiが使える端末を買えば、Lawsonでも行けるかな。
近くにはLawsonしかない。しかも、500mくらい離れていると思う。 をーー。
そういうことが出来る、お勧めの5,000円くらいまでで変えるWifi端末を教えて
くれやーーー。PCと接続してデータを読み取れる奴ーー。 >>346
form sでほとんどのもの作れるし、必要ならrendererなりネイティブコントロール使うなり何とでもなるからなー 巨大ファイルのダウンロードなら 4G 回線でも十分速いんじゃない。ギガモンスターみたいなプラン入ってさ。でも 50GB じゃ足りないかも スマホないのか。じゃあできるだけ安くで速度考えればネカフェだな 一ヶ月だけ、自宅に光回線契約して、すぐにやめられる安いプロバイダって
どっかない? というかそもそも地域はどこなのか
一軒家なのか共同住宅なのか
契約者は本人なのか家族なのか
情報が無さすぎて何も分からん Xamarin.WPFでKeyDownイベントの取得はどうやればいいのでしょうか。
UWPの時は、Dispatcher.AcceleratorKeyActivatedに追加すれば出来たのですが、
Xamarin.Forms.Platform.WPF.PageRendererでは項目がありませんでした。 自己解決しました。
テラテイルでも書きましたが、MainWindowに対してイベントハンドラを追加することで取得できるようになりました。 Windows版のiOS用AppDesignerでのScrollViewの使い方がぜんぜん分からん
XCodeだとScrollViewにViewを突っ込むだけでスクロールするのに、同じようなことをやっても全くスクロールせえへん・・・ ああ、これデザイナーじゃなくてXCodeの画面なのか >>369
Xamarin live playerではあかんか? >>370
あれで良さげな気はする
ちょと公式で出て欲しい気はする ■ このスレッドは過去ログ倉庫に格納されています