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/05/30(火) 08:11:47.78ID:oBS8Lc+s
Xamarin程の糞はないからな
462デフォルトの名無しさん
垢版 |
2017/05/30(火) 08:12:45.11ID:1uPxGeya
XamarinFormsならいざ知らず、なにを今更…
2017/05/30(火) 08:14:50.58ID:mG2+5w23
.NETでないと何も出来ない人達向けのツールだから仕方がない
2017/05/30(火) 08:33:12.25ID:Urrb23WX
クロスプラットフォームなのにネイティブの知識求めるとか詐欺すぎる
465デフォルトの名無しさん
垢版 |
2017/05/30(火) 08:40:20.20ID:1uPxGeya
薄いレイヤー作ったら文句言い、厚いレイヤー作ったら文句言い、何でも反対する民進党みたいだな
2017/05/30(火) 08:51:43.92ID:PZbBKLpD
ほんとXamarin.Forms, .NativeやるならAndroid, iOSの基礎知識を手に入れてから始めろよなぁ
各OSの知識もないのにXamarin扱ってUI不自由だの処理重いだの文句言われても困るよね

各プラットフォーム、Xamarin(C#)の知識をもって初めてXamarinはやるべき
そこまでしたらコード共通化ができて実際に工期は減る、工数単価が上がることは度外視する
2017/05/30(火) 09:19:27.91ID:RK9zQtkX
>>460
みんな知ってます
xamarinはモバイルアプリ開発者への聖杯にはなりえない
2017/05/30(火) 09:48:02.09ID:zOXcPiC1
わかってないヤツ大杉んだよな

信者のXamarinなら工数削られるとか
アンチのXamarinのIDEがクソとか
お前らXamarin言いたいだけだろと

.NET好きが趣味でやるものに何言ってんだってな
2017/05/30(火) 09:49:00.46ID:qy3qSG7Q
いいえ
ちょまどのおっぱい好きがやるものでふ
2017/05/30(火) 09:55:23.93ID:zOXcPiC1
それも趣味だし一論よな
おっぱいおっぱい(AA略
2017/05/30(火) 10:02:31.70ID:r7OlfKIL
>>460
http://ytabuchi.hatenablog.com/entry/msmvp2016

もっと C# のことも Android Java, Swift でのネイティブ開発のことも沢山勉強して、Xamarin の事なら @ytabuchi に聞け。位を目指したいです^^
当面の目標は 純粋な Xamarin.Forms だけで Model の PropertyChanged をどうやって ViewModel を経由して View に渡すか?の調査、実装。
単体テストを書けるようになること。try/catch を知ること。です!引き続き頑張ってまいりますので、識者の方々はサポートお願いしますね笑
472デフォルトの名無しさん
垢版 |
2017/05/30(火) 10:33:08.56ID:1uPxGeya
>>468
ゴミはもう帰れば?
2017/05/30(火) 11:30:23.86ID:0yTcygu7
Xamarin.Forms でキーイベントを取得したいのですが、各プラットフォーム毎にコードを書かないと取れませんか?
UWP/Android です。
参考になるページとかあれば教えて下さい。
2017/05/30(火) 12:56:01.42ID:1krQdGVl
Xamarinは糞だからネイティブ開発したほうがいいよ
2017/05/30(火) 13:16:43.72ID:zOXcPiC1
>>473
とりあえず、個々のPFで実装しないといけないのは大前提で
AndroidのキーはBACK, VOL_DOWN/UPくらいしかない
UWPのキーはQWERTYキーボードを想定して大量にある
どうやっても共通化できるわけないっつーか、Androidでキーイベントは無理だろ...
参考になるページは「Xamarin key event」ググレカス
2017/05/30(火) 16:39:14.13ID:0yTcygu7
>>475
今、ContentPageに1つだけViewを置いて、そのViewのカスタムレンダラで
Control.KeyDown += Control_KeyDown;
とかやったんですけど、Control_KeyDown に飛んでいないようなんですよね。
ContentPageを拡張しないとダメ?
477デフォルトの名無しさん
垢版 |
2017/05/30(火) 16:59:03.15ID:/pvQB1dU
キーじゃそのコントロールがフォーカス取れてないとダメなんじゃ
2017/05/30(火) 17:25:45.32ID:0yTcygu7
>>477
ですよねぇ・・・
ショトカーットキーとして使いたいだけなんですけどね・・・
479デフォルトの名無しさん
垢版 |
2017/05/30(火) 18:15:03.36ID:9pAG49er
これがあればC#だけでAndroidアプリが作れるって本当なんですか?
2017/05/30(火) 19:34:51.61ID:1krQdGVl
Xamarin.FormsでListView使うと
スクロールが重かったりサムネイルの表示が
遅かったりするんだがこれなんなんまじ糞だろ
ListViewとかスマホアプリの最も重要な
基本的なUIなのにこれすらまともに動作しないとか
どんだけ糞なんだよ
まじキングオブ糞
2017/05/30(火) 19:48:07.70ID:QGTiiJWn
>>480
下手くそ
2017/05/30(火) 21:46:18.65ID:w7LpgFTm
XamarinチームはUI苦手だからなw
483デフォルトの名無しさん
垢版 |
2017/05/30(火) 22:18:00.24ID:9pAG49er
じゃあXamarinで白猫プロジェクトみたいなアプリは作れないってこと?
2017/05/30(火) 22:20:16.35ID:oBS8Lc+s
ゲームはUnityで作るものと昔から決まっている
2017/05/30(火) 22:38:53.15ID:quUwWiqY
まあ、別にゲーム(アクション性の高いのは除く)だろうがなんだろうが, Xamarin&C#で
作れる事は作れるけど、Android固有の知識は必要だし、勉強の過程でその主力言語である
JAVAの知識が必要な場面は多々あるだろうよ
そういった意味じゃ最初の質問に対する答えはイエス&ノー
486デフォルトの名無しさん
垢版 |
2017/05/31(水) 00:05:32.88ID:/vYVSos9
>>485
Javaの知識がいるからC#だけじゃ作れないってのはちょと屁理屈すぎるかと。
2017/05/31(水) 00:57:36.31ID:EavCfTw2
相変わらず地雷源で地雷アピールに余念がない業者さんお疲れさまですチーッス
2017/05/31(水) 01:18:07.49ID:EavCfTw2
初心者をformsに誘導してるのは誰なんだろ?
罪作りやなあ
2017/05/31(水) 07:03:19.03ID:VSWYXwdZ
>>488
マジレスすると姫
エヴァンジェリストはそれが仕事だからねー
2017/05/31(水) 07:09:47.25ID:kD8JbiIP
ザマリン糞だろ?ネイティブで開発したほうが痒いとこに手が届いていいわ
2017/05/31(水) 07:14:55.68ID:qzdzhcsB
初心者はエバンジェリストなんか知らんだろ
VisualStudio関連の解説サイトあたりを巡回していてXamarinに興味を持つ奴がほとんどだと思うけど
2017/05/31(水) 08:05:35.99ID:nxjHnbYU
ググったらでる日本語のページ姫とちんぽ騎士団ばっかだからw
戦犯はこいつらだよ
2017/05/31(水) 08:11:22.14ID:zvIkQ7Uf
Unityでクロスプラとフォーム開発でAndroidやiOSの知識を求められるか?
普通クロスプラットフォームって言ったら各プラットフォーム固有の知識は必要なく開発ができると思うじゃん
実際やったらAndroidとiOSとXamarin固有の知識の3つが求められて負担が増してるっていうね
しかもqiitaとかstackoverflowの記事も少ないから調べものに時間が掛かってしょうがない
ListViewは重いしまじ糞
2017/05/31(水) 08:11:52.61ID:UTRLs8Up
>>489
きも
2017/05/31(水) 08:14:24.63ID:zvIkQ7Uf
IDEはまともにビルドできないしこんなのやってるやつは頭おかしい
2017/05/31(水) 08:17:11.87ID:UTRLs8Up
こんなものすらまともにビルドできないならそれはおそらく使ってる奴の頭の問題かと
2017/05/31(水) 08:21:26.56ID:zvIkQ7Uf
gitでブランチ切り替えただけで一旦IDEを終了させて再起動しないとビルドできなくなるのに使ってる奴の頭は関係ないだろw
Xamarinやってると頭がおかしくなるんだな
498デフォルトの名無しさん
垢版 |
2017/05/31(水) 08:44:51.39ID:vuiLIeKl
MS は最近Git好き好きアピールしてるくせにGitとの相性いまいちなんだよな
Resource.Designer.csとかもやめてほしい
499デフォルトの名無しさん
垢版 |
2017/05/31(水) 08:54:50.39ID:vTxcAllv
GitがWindowsに優しくない(autocrlfとgitattribute)。
Windowsのオープンファイルの削除ができない欠陥。
500デフォルトの名無しさん
垢版 |
2017/05/31(水) 09:06:56.83ID:vuiLIeKl
>>499
JetBrainのIDEはWindowsでもほぼ問題なく使えますよ
2017/05/31(水) 09:10:02.33ID:qzdzhcsB
ステマ?
502デフォルトの名無しさん
垢版 |
2017/05/31(水) 09:21:49.41ID:vuiLIeKl
どこがステマ?
2017/05/31(水) 09:26:44.86ID:VSWYXwdZ
>>494
「姫」を蔑称と理解してない荒しがいるとは思わなんだ
エヴァンジェリストをバカにしてるんだよw
504デフォルトの名無しさん
垢版 |
2017/05/31(水) 10:15:12.61ID:wo3N1YzL
>>497
ねーお前の思い込みはいーからさー俺の質問に答えてよ

コードの共有化しないでいいどうでもいいようなもん書いてて騒いでる無能なのか、
大きいプログラム書いててロジックコード6-7割共有化できるのに個別に書いてる無能か
共有化ができないから個別に書いてる無能なのか、お前はどの無能なの?

俺のかんだと1か3なんだけど
2017/05/31(水) 10:29:18.38ID:umsUilF6
>>504
死ね
2017/05/31(水) 10:43:10.23ID:qzdzhcsB
Xamarin.Apple.Sdk.targetsファイルのバグ修正きたぞ
ついでにXamarin.Formsの初期のバージョンが2.3.4.224から2.3.4.247にアップデートされてる

とりあえず問題はない模様

https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes#15.1.26430.12

>Fixed an issue where Xamarin iOS apps were not building correctly.
507デフォルトの名無しさん
垢版 |
2017/05/31(水) 11:58:12.39ID:lLzrRVWo
>>505
よう無能w
2017/05/31(水) 12:32:25.44ID:rtcjx/SG
>>503
ちょまどの話をすることが荒らしなんだよなあ
2017/05/31(水) 12:35:01.83ID:J43F7prP
>>493
そりゃゲームでOS固有の機能なんてほとんど要らないから意識する必要ないだろうな
自分でOS固有の機能使いまくるアプリ作っておいて「OS意識するなんてけしからん」って…
2017/05/31(水) 12:44:43.81ID:umsUilF6
だったらクロスプラットフォームを名乗るな
2017/05/31(水) 12:49:11.10ID:f5OI8lKb
Xamarinくらいのラッピングの薄さがちょうどいい
2017/05/31(水) 13:00:11.93ID:Kcuasmjx
>>508
エヴァンジェリスト()の話題は許せよ、、、

>>510
クロスプラットフォームがOS固有知識不要と思ってる子供かよ
Xamarinに限らずクロスプラットフォームで各PF知識は必須だろ
信者の言葉を鵜呑みにしていちゃもんつけるアンチは馬鹿だな
2017/05/31(水) 13:09:09.98ID:rtcjx/SG
>>512
つjava
2017/05/31(水) 13:17:44.72ID:qzdzhcsB
Javaはただのプログラム言語だろ
プラットフォームではないぞ
JavaもC#もどちらもVMの知識は必要だけど
2017/05/31(水) 13:19:25.09ID:b4vhRR5N
ちょろっとアプリ作るだけならVMもJITもAOTも固有知識もいらんだろ
Formsでたりんっていってるやつは何作ってんの?
ゲーム?
2017/05/31(水) 13:19:51.84ID:b4vhRR5N
それぞれの知識がいらんてことね
2017/05/31(水) 13:20:13.46ID:2eFaIDx0
>>514
つJVM
2017/05/31(水) 13:21:09.99ID:umsUilF6
Xamarin程の糞はない
2017/05/31(水) 13:21:49.61ID:qzdzhcsB
VMの仕組みそのものというよりVM依存のクラスライブラリの知識といった方が良かったか?
それくらいわかるだろ
2017/05/31(水) 13:22:46.38ID:2eFaIDx0
つかFormsの目指すところはそこだろ
まだ未完成なだけで
2017/05/31(水) 13:27:00.10ID:Kcuasmjx
Write Once, Debug Anywhereと馬鹿にされ
JVM実装(Sun, GNU, Apache, Aplix, OpenJDK)で振る舞い,要件が違って
iOSでコードを動かそうものならj2objcとかいうガチPF依存する
Java(JVM)がなんだって?

VMで全機能を無理やり吸収するJava/JVMより
各PF知識を要するXamarin/.NET VMのがイマドキだよなぁ
2017/05/31(水) 13:31:39.61ID:2eFaIDx0
イマドキではないだろ
なにいってんだこいつ
2017/05/31(水) 13:50:41.58ID:Kcuasmjx
そこでXamarin.Nativeを否定するのか・・・

最近、JVMのような全機能吸収するランタイム(VM)ってあったかなぁ
一応、Xamarin.Formsみたいに軽く吸収するものの
細かいことしようとするなら自分で下回りのAPIを叩けというものしか見かけんぞ

Xamarinの有用性を確認したいから幾つかイマドキのものを挙げてくれ
524デフォルトの名無しさん
垢版 |
2017/05/31(水) 13:55:45.35ID:lLzrRVWo
Delphi
525473
垢版 |
2017/05/31(水) 14:59:23.14ID:uGENQfaM
https://forums.xamarin.com/discussion/80116/how-can-i-detect-key-events-in-xamarin-forms

これを見てContentPageのレンダラを作ってみたけど、OnElementChanged に来た時点で Controll が null なんだよな・・・

Xamarin.Forms の UWP でキーボード(左右カーソルとESCキーだけでも)イベント取れる方法ないかな?
2017/05/31(水) 16:07:20.96ID:EavCfTw2
先にXamarnじゃないUWPプロジェクト作って、どう実装するのか調べた方が早いと思う
Xamarin的にformsは新参で既存ユーザーに旨味が無いから、やり込んだ人は此処にはいないんじゃないかな
2017/05/31(水) 16:56:07.89ID:Kcuasmjx
Xamarin信者にはちょろっと実装してホイできたよ、くらい回答して欲しいもんだけどな
自分含め遊び人しかいない中で唯一の真っ当なレスで、ちょっと可哀想になってきたので環境作って試してみる
うまくできたらご喝采、その時はもっかいレスするよ

>>524
Delphiなんてまだ生きてるのかよ、、、と思って調べたら死に体じゃねーかw
例えば指紋認証(Fingerprint API)とかポーティングされてるのかねと思ったら全く見つからねぇ
528デフォルトの名無しさん
垢版 |
2017/05/31(水) 18:48:50.28ID:2DKVbkxS
>>525
Control!=nullじゃないやつ来るだろ
2017/05/31(水) 19:18:19.53ID:umsUilF6
どうでもいいところでハマって時間を無駄にするのがXamarin
530デフォルトの名無しさん
垢版 |
2017/05/31(水) 19:18:56.28ID:2DKVbkxS
>>529
だからどの無能なのってば
2017/05/31(水) 19:36:00.07ID:z4RNlAZl
ちょまど効果ですっかりスレ機能しなくなったな
2017/05/31(水) 19:48:00.79ID:Ho16i7vY
機能してた時なんてあったっけ
533デフォルトの名無しさん
垢版 |
2017/05/31(水) 20:16:39.75ID:2DKVbkxS
Xamarin案件急増したってよ
http://leverages.jp/news/2017/052901/
2017/05/31(水) 20:20:07.80ID:XimrquBh
>>512
エヴァンジェリストってメソッドだったんだな…
2017/05/31(水) 20:20:55.98ID:umsUilF6
圧倒的にjavaなんだよなあ
2017/05/31(水) 20:22:37.38ID:umsUilF6
市場で求められてないC#とかいうマイナー言語をやっている君らは
エンジニアとしての価値が低いってことなんだよなあ
2017/05/31(水) 20:35:43.98ID:3W43EqFE
せやな
君はJavaだけやっていればいいよ
538デフォルトの名無しさん
垢版 |
2017/05/31(水) 20:52:08.02ID:2DKVbkxS
Javaで仕事しないといけないとかマジかわいそう
2017/05/31(水) 21:16:48.74ID:zvIkQ7Uf
C#の仕事が少ないのマジかわいそう
2017/05/31(水) 21:26:04.43ID:lgK5/wzl
底辺プログラマの仕事ってマジかわいそう
お前ら将来に希望は残されているか?
人生設計はしっかり描けているか?
541デフォルトの名無しさん
垢版 |
2017/05/31(水) 21:27:49.85ID:2DKVbkxS
ああ、青い銀行でサグラダファミリア作る仕事もJavaでしたっけ
2017/05/31(水) 23:29:15.26ID:uGENQfaM
>>528
VS2017でマルチプラットフォームアプリのテンプレで、UWPプロジェクトにCustomPageRenderer.csを追加。

[assembly: ExportRenderer(typeof(PageRendererTest.MainPage), typeof(CustomPageRenderer))]
namespace PageRendererTest.UWP
{
  class CustomPageRenderer : PageRenderer
  {
    protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
    {
      base.OnElementChanged(e);
      if(Control==null)
      {
        return;
      }
      Control.KeyDown += Control_KeyDown;
    }

    private void Control_KeyDown(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
    {
      throw new NotImplementedException();
    }
  }
}

これで、Controlにnull以外入ってこなかったよ。
543デフォルトの名無しさん
垢版 |
2017/06/01(木) 00:19:04.82ID:C/hVF+K9
OnElementChangedはiOSとかだと表示されるまでに複数回呼ばれた気がしたけど。
最初!=nullできて非表示時にnullだったっけかな。
UWPだとどうなるかは知らん。
544デフォルトの名無しさん
垢版 |
2017/06/01(木) 00:19:30.14ID:C/hVF+K9
ソース見れるんだから見てこい
2017/06/01(木) 07:34:11.24ID:XaLSsTm/
>>543
数回呼ばれるのは OnElementPropertyChanged の方ですね。
Macを持っていないからiOSでの実装は試してないけど、タップの座標を取るときに調べた中に、iOSではOnElementPropertyChangedで設定するようなことを見た覚えあります。
546デフォルトの名無しさん
垢版 |
2017/06/01(木) 08:19:57.07ID:C/hVF+K9
そっちだっけすまんそ
547デフォルトの名無しさん
垢版 |
2017/06/01(木) 10:36:24.07ID:ENdcuW3D
髪の輪郭補正が無い
https://mobile.twitter.com/chomado/status/868702603315523585/photo/1
2017/06/01(木) 12:51:07.80ID:44r1s1sg
Xamarin程の糞はない
2017/06/01(木) 14:12:39.97ID:OOuQIxTD
>>547
しっかり有村架純みたいな輪郭補正だろ
2017/06/01(木) 14:29:42.91ID:XaLSsTm/
UWPでのKeyDownイベント捕捉できました。

参考ページ http://garicchi.com/?p=19292

Viewのレンダラを作成し、OnElementChanged で Dispatcher.AcceleratorKeyActivated イベントを捉えることでキーイベントを処理できます。
後は、共通部分の関数を呼べばフォーカスを持っていなくてもOnKeyDown的な処理が出来ました。
実用的にするには、参考ページに書かれているように Dispatcher.AcceleratorKeyActivated の有効化/無効化を制御しなければなりませんが、そのあたりは追々対処していきます。

アドバイス等ありがとうございました。
551デフォルトの名無しさん
垢版 |
2017/06/01(木) 15:11:27.55ID:55CngytM
Controllがnullだったのはどうしたのよ
2017/06/01(木) 15:51:12.33ID:XaLSsTm/
>>551
Controlはnullのままですよ。
Dispatcher.AcceleratorKeyActivated と Control は関係ありません。

今の実装 ↓
    protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
    {
      base.OnElementChanged(e);

      if (e.OldElement != null)
      {
        Dispatcher.AcceleratorKeyActivated -= Dispatcher_AcceleratorKeyActivated;
        imgView = null;
      }
      if (e.NewElement != null)
      {
        imgView = (ImageView)e.NewElement;
        Dispatcher.AcceleratorKeyActivated += Dispatcher_AcceleratorKeyActivated;
      }
    }

    private void Dispatcher_AcceleratorKeyActivated(Windows.UI.Core.CoreDispatcher sender, Windows.UI.Core.AcceleratorKeyEventArgs args)
    {
      if (args.EventType == Windows.UI.Core.CoreAcceleratorKeyEventType.KeyDown)
      {
        if (imgView != null)
        {
          imgView.OnKeyDown(args.VirtualKey);
        }
      }
    }
553デフォルトの名無しさん
垢版 |
2017/06/01(木) 16:22:41.51ID:F1EgsN1c
クソなげえコードだなw
SwiftとかKotlinならもっとコンパクトに書けるのになw
.NETしか出来ないとこういう風になるんだなw
554デフォルトの名無しさん
垢版 |
2017/06/01(木) 16:53:58.22ID:llpGiASm
>>547
すみません、この美女はどなたですか!?
2017/06/01(木) 16:54:02.59ID:jBfsHiZT
UWPのコードをSwiftかKotlinならもっとコンパクトに書けるのか
やっぱデキる人は違うな
2017/06/01(木) 16:56:43.02ID:QM9+rdP+
>>555
俺も>>553にはびっくりした
2017/06/01(木) 16:57:41.67ID:m4VL+cYY
>>553
コード頼む。
2017/06/01(木) 18:50:32.81ID:G9Ok/2dG
あのさ、
xamarin.Formでスリープ状態を解除したくてググってたけどiOS用のソースは出てきてもAndroid用のはでてこなかったのね
んで、Androidのソースでググってみたら
http://kojiko-android.hatenablog.com/entry/2016/03/19/234748
こんなかんじにxamarinじゃないふつうのAndroid開発のソースはあったんだけどこれってどうやってXamarin.Formに移植したらいいのん?
2017/06/01(木) 19:24:54.74ID:TXrW+NmZ
チンポ騎士団ってマジでプログラムできないんだってのがよくわかるな
2017/06/01(木) 19:27:34.17ID:LTYIco+b
>>547
どうすればよいかよく研究してますね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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