Xamarin Part4 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/05/08(月) 07:40:04.29ID:KaTWGm/F
C#を用いてクロスプラットフォームアプリケーション(iOS Android Mac)を
を開発するためのライブラリおよび開発環境です。
Macの人は Xamarin Studio、Winの人は Visual Studioで開発できるよ!

公式
http://xamarin.com/

前スレ
Xamarin Part3 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1483089021/


Xamarin Part2
http://echo.2ch.net/test/read.cgi/tech/1480602653/

Xamarin Part1
http://echo.2ch.net/test/read.cgi/tech/1359861574/
2017/06/09(金) 22:33:16.37ID:ikXkOhBd
>>661
別にこの場合はバージョン管理が目的なわけじゃないから構わんだろ
2017/06/09(金) 22:33:55.34ID:MqTBLfEe
>>661
いるよね、こういう杓子定規的なやつ
2017/06/09(金) 22:34:12.51ID:XdG+/4N5
PDF数個くらいで大して遅くならねーよ
それよりもgithubはWebページ上でのPDF表示に対応してて見やすいな
2017/06/09(金) 22:37:49.75ID:Tx9231sP
IDコロコロ
2017/06/09(金) 23:56:57.76ID:4UyEKzeQ
イメージファイルはバイナリだからgitで管理しちゃいけないとか本気で思ってそう
2017/06/10(土) 00:00:17.22ID:FRc8CTCo
俺も原則バイナリはgithub管理すべきじゃないと思うけど…
2017/06/10(土) 00:00:28.30ID:Q+Cf3HLO
どうでもいいから姫の露出度高い画像貼れ
2017/06/10(土) 00:27:50.48ID:xWSVspGU
リポジトリはすでにforkされててmdはプルリクが来てる
pdfにもプルリク送らせる気か?

送られてもどこが間違ってるのかわからないと言う
2017/06/10(土) 00:32:45.11ID:b08RhG51
バージョン管理関係なしにただの公開アップローダーとして使っても別に問題ないだろ
2017/06/10(土) 00:40:41.65ID:pv/+u9Ym
全然問題ない
2017/06/10(土) 01:30:55.83ID:7CPx4yEU
Xamarinを使わない場合
1. iOSネイティブで作る
2. Androidネイティブで作る

Xamarinを使う場合
1. Xamarin.Formsで作ってみるがうまくいかないことが分かる
2. Xamarin.iOSで作る → ネットの情報少なくて時間掛かる
3. Xamarin.Androidで作る → ネットの情報少なくて時間掛かる

あれ?Xamarinを使った方が手順が一つ増えてね
2017/06/10(土) 01:38:55.95ID:LvQeTUom
XamarinやるとするならXamarin.Forms一択だろ。
2017/06/10(土) 02:17:01.09ID:7CPx4yEU
Xamarin.Formsでプロジェクト作ってもXamarin.iOSとXamarin.Androidのプロジェクトできるじゃん
Xamarin.Formsで難しい所はそっちに書いていかないといけないっていう
2017/06/10(土) 02:22:54.32ID:b08RhG51
>>674
はいはい、お前さんの言うことはまったくもって正しいよ
分かっていない他の奴らの方が頭おかしい

こう言ってもらえれば満足するのか?
676デフォルトの名無しさん
垢版 |
2017/06/10(土) 07:48:28.72ID:aOEMIte8
出来たらなんなの。親でも死ぬの?
それがあるからこそプラットフォーム間のギャップを埋めるのを簡単に出来るんだろ。
望み通りのプラットフォーム個別の記述を許さない完全にラップしたものでなんか作ってみ?思ったのと違う挙動するところを制御する手段がなくて気が狂うぞ
677デフォルトの名無しさん
垢版 |
2017/06/10(土) 09:42:28.36ID:tLngA/bq
>>670
問題ないけど、githubは個別ファイルのダウンロードがめんどくさいでしょ。
GoogleDrive(OneDrive使ったことないからわからん)とか公開ファイル置けるところがあるのに。
2017/06/10(土) 09:52:30.92ID:LXmKrpG6
>>677
PDFクリックしたら文書読めるけど
2017/06/10(土) 10:09:12.31ID:WbRq3zow
>>672
そもそも何がプラットフォーム固有処理で何がそうでないか理解できてない時点でネイティブ開発すらまともにしてないだろお前
何がプラットフォーム固有処理か分かっていればよっぽど特殊なアプリでない限り、
大半はFormsの共通部分で済むことが分かる
2017/06/10(土) 11:14:02.50ID:fos5j33Y
githubの有効な使い道もわからない底辺ITドカタ集団にいくら話しても無駄
このスレもアップローダーがわりにgithub使いたいというエンジニアらしからぬ考えの人ばかり
2017/06/10(土) 11:22:02.60ID:2tuXWrnd
へー、すごいねー
貴方はさぞ優秀なエンジニアなんでしょうねー
2ちゃんねるなんかで煽りレスしている程度の底辺レベルの知能レベルの様ですがw
2017/06/10(土) 11:47:43.21ID:+f4R/EjU
姫に直接見抜き許可ほしい
683デフォルトの名無しさん
垢版 |
2017/06/10(土) 12:17:18.42ID:VPPWvZKI
>>672
Xamarin.Forms使ったら2と3の部分が激減するんだけどなw
2017/06/10(土) 12:28:00.38ID:pv/+u9Ym
Xamarin.iOSとかXamarin.Androidの情報とかネイティブの情報流用したらいいだけだからなんぼでも見つかるね
2017/06/10(土) 14:31:40.75ID:wMhNQa/U
姫は最近Xamarinやってなくね?
2017/06/10(土) 16:40:01.12ID:8hZhOGpO
>>653
全部終わらせたけど
表記のあからさまな間違い
手詰まりとなる変化などがあった
(わかってるから普通に進めたけど知らない人は詰まる)

あとはソースがページをまたいでるものがあってコピペしにくい
ページ数を意識しなくていいんだから改修後のソースは改ページしたあとでもよかったのではないか
1章の内容は電話をかけるのとトランスレートの意味が分からないので題材としてはいまいち

でも全体的には面白かった
2017/06/11(日) 20:01:06.67ID:/BG8ZknD
XamarinよりHoloLensのほうが楽しいわ。
2017/06/11(日) 20:17:43.84ID:RB/OHkYp
>>687
比較対象ではないと思いますが
2017/06/11(日) 21:01:56.51ID:KEkeW7T2
Androidの実機へのapkインストールが頻繁に失敗するんですがどうなってますか
2017/06/11(日) 21:21:10.89ID:RB/OHkYp
>>689
おま環
2017/06/12(月) 01:53:57.64ID:MEYLXkSo
C#でAndroidアプリを作れるというのが理解できない
XamarinがC#のコードをJavaに直して吐き出してくれるみたいなイメージでいいんですか?
2017/06/12(月) 01:54:53.51ID:AUXrYQSd
全然違うけどな
693デフォルトの名無しさん
垢版 |
2017/06/12(月) 09:37:07.87ID:sBWCHRoY
うん、全然違う
2017/06/12(月) 15:57:37.01ID:q27/iY9p
だから糞なんだけどな
2017/06/12(月) 18:56:25.30ID:EjkH/ZCK
Xamarin程の糞はない
2017/06/12(月) 19:28:13.98ID:302sbzUP
Xamarin.Formsで全画面表示ってできるんですか?
697デフォルトの名無しさん
垢版 |
2017/06/12(月) 19:33:06.00ID:5L3xq22d
%%%MC+7,8%%%

}

000-"M","LES","TUV=0.13325&/0\7&%&",

001-"23","1","0","2","7.14",[\b%7/1444*%812%2.3%7&6111\end\\]{%3%12%\br
2017/06/13(火) 03:09:09.57ID:EFmCbykq
>>691です
CシャープのコードをILという中間コードに直して、そこからAndroidの中間コードに変換してくれる、で合っていますか?
2017/06/13(火) 04:01:01.00ID:tjsf1/MG
>>698
ILから先は.NET のランタイムがAndroidやiOSのAPIを直接叩いて動作する
2017/06/13(火) 09:28:08.39ID:Rrtg2Skm
>>698
だいたいあってる
C# => C#中間バイナリ => Android Nativeバイナリ とコンパイルする(JIT含む)

実行時には.NETランタイム(Monoランタイム/VM)が
Android NativeバイナリからAndroid API(C言語I/F)を経由してAndroid API(Java)を呼び出す

http://www.mono-project.com/docs/advanced/runtime/
とか
https://developer.xamarin.com/guides/android/advanced_topics/application_package_sizes/
を解読したら読み取れるんじゃないかな

.NETランタイム(Mono)はVMじゃねぇ!!とか言う奴いるけどJITコンパイラを含むVMなんだよなぁ
極力プレコンパイルなりJITなりでネイティブコードに落としてるんだろうけど限界はあるやね
2017/06/13(火) 10:59:02.26ID:tLOkWGaV
色々間違ってる
2017/06/13(火) 11:08:44.63ID:bcmdcu3y
>>698
ttp://www.buildinsider.net/mobile/insidexamarin/07
2017/06/13(火) 11:21:51.46ID:Rrtg2Skm
>>701
こんな風になw
一次リソース出しても読みもしないで思い込みで布教するから困ったちゃん
704デフォルトの名無しさん
垢版 |
2017/06/13(火) 12:16:57.05ID:/5j4YrAT
「Android Nativeバイナリから」が日本語がおかしいんじゃね
2017/06/13(火) 12:28:25.13ID:vISLmsVn
最初の一文からおかしい
2017/06/13(火) 12:38:50.11ID:bcmdcu3y
おかしいとか間違っているとかいうなら、どう間違っているか、正しいのはどうなのかを書かないと無意味。
まあ、中には煽りたいだけの人もいるだろうけどね。
2017/06/13(火) 12:48:12.73ID:LvzI55Ha
>>699>>700>>702

>698
ですがみな様ありがとうございます
取り急ぎの感謝です
じっくり読ませていただきたいと思います
2017/06/13(火) 13:28:21.22ID:Rrtg2Skm
> .NETランタイム(Mono)はVMじゃねぇ
に脊髄反射で気に入らないんだろうけど
> The Mono runtime implements this virtual machine.
と公式に明記されてるっつーの

プレコンパイル(C#中間コードへ)とJIT(Android Nativeへ)でarm, x86バイナリに変換してるって理解してないのかいな
んで、流石に全命令をPFコマンドにマッピングできないからランタイム(VM)が中継しなきゃならんわけだろ

まさかC#から.dexにコンパイルしてるとか、MonoにJITは存在しないとか思っちゃいねーだろうな
2017/06/13(火) 13:41:50.64ID:Rrtg2Skm
煽りなんじゃなく本気でXamarinが貶されてると思って反論してそう、反論になってないけど

俺の知識も結構古いから最新のXamarin.Androidが以下のことしてるならソースをおくれ
1. アプリケーションレイヤーのC#は.dexにコンパイルしてて, Android API(C言語I/F)を操作することはない
2. JITまでの処理を超絶賢いコンパイラでART並みのネイティブターゲットビルドしてる(この場合、Android Java APIはどうやって呼んでるの?)
710デフォルトの名無しさん
垢版 |
2017/06/13(火) 13:43:10.34ID:huEjF5Un
Javaで作ったアプリと
C#で作ったアプリ

実行速度は同じですか?
2017/06/13(火) 13:50:22.18ID:nSPZwJz9
Xamarinのが遅いし実行ファイルの容量もでかい
712デフォルトの名無しさん
垢版 |
2017/06/13(火) 14:59:56.44ID:MpJDhsXT
いやむしろダルビックがクソのせいでXamarinで書いたやつの方が基本速いって話だと思うが。
新しいVM名前忘れたけどそっちだとどうかは知らん。
713デフォルトの名無しさん
垢版 |
2017/06/13(火) 15:04:43.99ID:MpJDhsXT
「.NETランタイム(Monoランタイム/VM)が
Android Nativeバイナリから」
714デフォルトの名無しさん
垢版 |
2017/06/13(火) 15:11:26.66ID:MpJDhsXT
ごめん途中で書いちゃった。
それはJITコンパイルされたものからJavaを呼び出してるって意味?
2017/06/13(火) 15:51:48.59ID:co8+PZUE
>>700
>Android API(C言語I/F)を経由してAndroid API(Java)を呼び出す

APIがAPIを呼び出すってどういうこと?
2017/06/13(火) 16:05:00.87ID:5JfOZPJx
>>709
俺のイメージはこの通り

http://www.buildinsider.net/mobile/insidexamarin/07
2017/06/13(火) 16:40:46.11ID:mEdJ5tDH
一つのアプリを起動するとmonoランタイムとdalvikランタイムの
両方が立ち上がって相互に依存しあっている状態になる
これを一つのフレームワークとみなしてる

monoでJITコンパイルされたnaitiveアプリはmonoのライブラリを参照する
monoから直接叩ける下位のAPIはそのまま実行
dalvik(java)に依存してる部分は仲介システムを介して実行
718デフォルトの名無しさん
垢版 |
2017/06/13(火) 16:53:53.68ID:FSd9JKbI
初めからAndroidネイティブやってりゃこんな混乱なくてめでたしめでたし
2017/06/13(火) 17:21:08.47ID:Rrtg2Skm
>>713-714
疑問は同類だと思うからまとめてレスするけど
Xamarin.Androidで吐かれた実行時のコードってJava(VM)レイヤーじゃなくNative(C/C++)レイヤーで動くわけじゃん?
そのレイヤーからJava APIを呼ぼうと思ったら、JNI経由してJava APIを呼ばざるを得ない
C#コード => .NET Runtime(C/C++) => C/C++ Android API(JNI) => Java Android API

public class MainActivity : Activity
って書いた時のC# Class "MainActivity"とJava Class "Activity"は直接連携してるんじゃなくて下からぐるっと回って連携してる理解

>>716
その記事のソース元だと思われるアーキテクチャ資料はこれかなぁ
https://developer.xamarin.com/guides/android/under_the_hood/architecture/

AndroidアプリケーションAPI(Java)の上に一部重なってXamarin.Android API(C#)がいるけど
MCWもACWもJNIを経由してるよって言ってるからまぁそういうことなんだろうな
720デフォルトの名無しさん
垢版 |
2017/06/13(火) 17:30:06.13ID:X6Xo923W
>>719
いや疑問ていうか君の書いたもの分かりづらいからこういう意味で言ってるんだよね?っていう確認
2017/06/13(火) 17:32:09.88ID:zMNW55yd
>>719
JNIはjavaからネイティブを呼ぶ仕組みだからまったくの逆では?
2017/06/13(火) 17:39:11.30ID:UjkMf+JE
ちょまど今年で契約終了ってマ?
2017/06/13(火) 17:46:53.85ID:zMNW55yd
JNIは双方向なんだな
2017/06/13(火) 17:50:15.19ID:Rrtg2Skm
>>720
IDを転々とさせて煽ってるけどお前は誰だよw

>>721
NativeからJavaを呼ぶモノもJNIって呼ぶよ・・・最近のJava業界は違うのかもしれんけど

さておき、元々の反論(笑)からズレてしまったけど
C#のJITコンパイルしたコード(Managed Code)ってどれくらいネイティブ化してるんだろうね
Mono VMっつってるけど、Dalvik VMほどアホじゃなくART Runtimeくらい賢いといいなぁ
2017/06/13(火) 17:53:24.94ID:9zGloa6i
>>722
KPI()が高いんだから継続だろ
726デフォルトの名無しさん
垢版 |
2017/06/13(火) 18:02:19.12ID:X6Xo923W
>>724
勝手に陰謀論にしてんじゃねーよ
>>713に書いたようにお前の書いたものが何言ってるのか分からないから確認してやってんだろが。
そもそもお前が勝手に他の奴はわかってねえとイキってるだけやん
2017/06/13(火) 18:17:39.40ID:A+O/w9QH
最新のandroidは、実行統計情報に基づいて再コンパイルするART runtimeと新しいJIT runtimeのハイブリッド
2017/06/13(火) 19:27:07.42ID:0l6/Ble6
XamarinのUWPって.NET Nativeではないん?
つまり遅いん?
2017/06/13(火) 19:46:45.68ID:8nmrk1h7
>>728
おまえが馬鹿なのはよくわかった
2017/06/13(火) 19:58:08.27ID:0l6/Ble6
>>729
馬鹿なので詳しく教えて。
2017/06/13(火) 20:09:02.97ID:nSPZwJz9
Xamarin程の糞はない
2017/06/13(火) 21:28:45.67ID:Rrtg2Skm
>>726
で、何が言いたいんだよw
疑問、確認済んで自己満足したら罵倒なのはどうかと
733デフォルトの名無しさん
垢版 |
2017/06/13(火) 21:49:04.30ID:huEjF5Un
Android Studioと共存できる?
2017/06/13(火) 22:05:34.18ID:McnSDEvv
不可能
735デフォルトの名無しさん
垢版 |
2017/06/13(火) 22:12:43.64ID:MpJDhsXT
>>732
いや確認したこととお前が上から目線でイキってるのとは別でしょ。
2017/06/13(火) 22:42:45.99ID:QDQv43N6
>>733
可能
2017/06/14(水) 02:49:14.50ID:YjvfTYog
>>710
実効速度考えるとAndroidStudio一択なんだけどね
開発速度考えたらXamarin一択になる
AndroidStudioの要求スペックやUI全てが糞オブ糞
2017/06/14(水) 02:52:13.54ID:YjvfTYog
有能な開発者がAndroidStudioは見切ってるリアルやストア見ればわかるけどね
Xamarinも全然ベストということはなくてアンチテーゼのレベルにとどまってはいるが
2017/06/14(水) 03:08:02.72ID:8RlawS/K
今VisualStudioもAndroidStudioも両方使ってるけど、IDEの出来ならだんぜんAndroidStudioだわ
必要マシン性能はCorei7 16GBメモリ SSD これだけ揃えれば問題ない

AndroidStudioに慣れた後だと、なにやるにしてもVisualStudioはひと手間多くて嫌になるよ
VisualStudio for Macはさらにひどい出来だな
2017/06/14(水) 03:11:55.59ID:8RlawS/K
今年のGoogleI/OでKotlin採用が一番受けたけど、
ここで歓声上げた奴等はほぼAndroidStudio贔屓だと思って間違いない
AndroidStudio無しでKotlin使うとかほぼ考えられんからね
2017/06/14(水) 03:21:42.09ID:sjQFObUl
そんなのJavaで開発してりゃ当たり前だろ
使い分けも出来ないのはただの無能
2017/06/14(水) 03:33:39.92ID:8RlawS/K
AndroidStudio見切ってるやつがKotlinを歓迎するのか
おまえ面白いこと言うのな
2017/06/14(水) 03:41:50.01ID:sjQFObUl
VisualStudioではJavaは使えないしAndroidStudioではC#は使えない
それだけのこと
2017/06/14(水) 08:21:02.84ID:JfvqLMZu
>>740
もともとkotlin派はintellij使ってるけどw
2017/06/14(水) 08:55:25.47ID:cHdy61OE
C#使ってる奴等はほぼVisual Studio贔屓だと思って間違いない
2017/06/14(水) 08:56:35.72ID:2lEYzfeN
>>744
intellijのandroidサポートはAndroidStudio と同じものだろ
新規プロジェクト作成で同じ画面出てくるし
2017/06/14(水) 09:23:57.41ID:qrcUW+3G
>>735
うん、イキってるのは関係ないから大人の余裕でスルーしなよ

そんなことよりXamarin(Mono VM)がVMと評されるほどアホじゃないってことを示そう
Xamarin詳しくないから賢いならどういうアーキテクチャでそうなってるのか興味ある
2017/06/14(水) 10:12:39.78ID:3q7Jf+yw
>>739
i5 メモリ8GB SSD
これだときついかな?
2017/06/14(水) 10:13:37.00ID:cHdy61OE
実機デバッグにすればきつくない
2017/06/14(水) 10:46:03.31ID:QpisDt2i
AndroidStudioは起動が遅い
2017/06/14(水) 12:00:37.64ID:CV8NhxRP
>>748
AndroidStudioとemulatorとその他ブラウザとか動かしてるとちょっとキツイかなって感じ
emulatorをやめるか、AndroidStudioとemulator専用マシンならいける
752デフォルトの名無しさん
垢版 |
2017/06/14(水) 12:09:08.11ID:tbRNMUc+
>>747
いやだからお前日本語おかしいってw

AndroidStudio使いやすいのか。
覚える気は無いけどVSより使いやすいってのは思想設計がいいのかAndroid専用だからそりゃ色々最適化されてるってのとどっち?
2017/06/14(水) 12:37:24.53ID:CV8NhxRP
>>752
AndroidStudioはJetBrains社のIntellijIDEAにGoogleがandroid用プラグインを追加したもの
IntellijIDEAはプラグインでいろんな言語に対応できる
IntellijIDEAが優秀かどうかは好みの問題もあるだろうけど、
JetBrains社はほぼIDE専業メーカーとして生き残っているわけで、一定の評価は受けてると思っていいだろう
2017/06/14(水) 12:44:13.00ID:QhYNjehQ
VSは時代遅れ
microsoftに関わってるやつはゴミ
755デフォルトの名無しさん
垢版 |
2017/06/14(水) 12:48:14.95ID:i/E7QqbY
でもC#の躍進凄いからねえ
2017/06/14(水) 12:51:28.30ID:CV8NhxRP
>>755
https://blog.jetbrains.com/jp/2016/01/13/569
2017/06/14(水) 12:57:04.84ID:CV8NhxRP
この記事でも紹介されてるAlt+Enterが、
AndroidStudioでもほんと便利で捗る
2017/06/14(水) 13:15:36.47ID:QhYNjehQ
microsoftは10年以上IDE開発しててゴミとか才能ないよ
2017/06/14(水) 13:37:55.85ID:fYC+lzac
なんだかんだ言って最高のIDEはVisual Studioだわ
760デフォルトの名無しさん
垢版 |
2017/06/14(水) 14:13:10.30ID:mHh/iDcV
>>753
おお、ideaが元なのか。それは良さげだな。
R#先生にはお世話になってます。

ideaは2000年かちょい前ぐらいにjavaやってた時に触ってすげーと思った記憶が。
2017/06/14(水) 14:32:44.34ID:LagFPNJT
Xamarin信者が発狂する「VM」という釣り餌があるに荒らしが構ってくれなくて悲しい
お前らIDEだのKotlinだので盛り上がってないでXamarnを煽れよ...
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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