Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Xamarin + MvvmCross で作る iOS/Android アプリ

Xamarin + MvvmCross で作る iOS/Android アプリ

2014/05/03(Sat) Kyoto.なんか #kyotoasterisk

Nobuhiro Ito

May 03, 2014
Tweet

More Decks by Nobuhiro Ito

Other Decks in Programming

Transcript

  1. ⾃自⼰己紹介 •  伊藤  伸裕 / 伊勢  シン – @iseebi / id:iseebi

    •  フェンリル株式会社  共同開発部所属 – iOS / Android / Windows 8 のアプリ開発してます •  コミュニティ – スマートフォン勉強会@関⻄西 – すごいHaskell読書会 in ⼤大阪 •  H本読んでます。(2週⽬目)
  2. Xamarin 2.0 •  ネイティブの  iOS / Android / Mac アプリを

    C# で書ける! – Windows プラットフォームを⾜足せば、だいたいのプラッ トフォームのソースをC#で書いてしまえる。
  3. プロジェクト初期設定 •  プロジェクトの初期設定 –  http://www.slideshare.net/iseebi/cross-platform- development-with-xamarin-20- mvvmcross-32190450 •  NuGetで導⼊入する際、下記のものも⼊入れる – 

    MvvmCross –  MvvmCross – DownloadCache Plugin •  MvvmCross.HotTuna.Plugin.DownloadCache –  MvvmCross – File Plugin •  MvvmCross.HotTuna.Plugin.File –  Microsoft HTTP Client Libraries (Coreのみ) •  Microsoft.Net.Http
  4. iOSの実装 – セルの作成 •  iPhone Table View Cell を追加すると、 .cs

    と .xib が⽣生成される。 •  継承元を  MvxTableViewCell に変更更 •  .xib にコントロールを配置し、アウトレット接続 –  Xcode上で⾏行行う –  UIImageView は  MvxImageView にする。 URLでバインディングできるようになる。 •  DelayBind を記述する
  5. iOSの実装 - ViewController •  MvxTableViewController にする •  インナークラスで  TableViewSource を作る

    – コンストラクタで  RegisterCellForReuse する •  ViewDidLoad でバインディングを作成
  6. Androidの実装 - ListItem •  Layout を追加する •  xmlns に local

    を追加する – xmlns:local="http://schemas.android.com/apk/ res-auto" •  各要素に  local:MvxBind を追加する – コントロール側のプロパティ  ViewModel側のプロパテ ィ  で記述する – ImageView は  Mvx.MvxImageView にする。
  7. Android の実装 - View •  ListView のかわりに  Mvx.MvxListView を使⽤用 する。

    •  local:MvxBind に  ViewModel とのバインディン グを作成 •  local:MvxItemTemplate で、使⽤用するレイアウ トを指定する
  8. デメリット •  ライセンスが⾼高い –  会社で使うと1開発者1プラットフォーム  約10万円 –  チームを組むと  iOS /

    Android 3本ずつ=60万 (実際はディスカウント⼊入るのでもうちょっと安い) •  こまかい制限もちょいちょい –  動的コンパイル必要な機能は動かない •  まあ、「お⾦金金が出るならアリ」の技術… –  コード共有で浮くお⾦金金でライセンスを買おう
  9. 参考URL •  今回のソース –  https://github.com/iseebi/FotolifeViewer •  Qiita の  Xamarin タグ

    (国内のXamarin系の⼈人の  Qiita 参加率率率⾼高い) –  http://qiita.com/tags/xamarin •  Xamarin ⽇日本語情報  (国内代理理店の⼈人のblog) –  http://ytabuchi.hatenablog.com/ •  Xamarin Japan グループ (facebook) –  https://www.facebook.com/groups/778386365523431/ •  backyard of 伊勢的新常識識 (僕のblogです) –  http://iseebi.hatenablog.com/