読者です 読者をやめる 読者になる 読者になる

プログラマーな日々

プログラマーをやっています。好きなツール:WorkFlowy、好きな言語:C#、好きなサービス:Backlog、好きなAWS:AWS Lambda。

.NETラボ勉強会2014年4月に行ってきた(その2「Xamarinで作るiPhoneとWindows ストア アプリの共通コンポーネント改め」by Microsoft MVP for Visual C# 増田 智明さん)

f:id:JHashimoto:20140409044240j:plain

4/26に「.NETラボ勉強会2014年4月」に行ってきました。

.NETラボ 勉強会 2014年4月 : .NET Lab

 

全4回に分けて、セッションの内容を紹介します。今回は第2回です。

2つ目のセッションは、増田智明さんの「Xamarinで作るiPhoneとWindows ストア アプリの共通コンポーネント改め」でした。

Xamarinとは?

  • C#でクロスプラットフォーム開発
  • 前身がmono
  • WindowsのXamarin StudioはAndoroidアプリの開発が可能
  • MacのXamarin StudioはAndoroidとiPhoneアプリの開発が可能

PCLのアセンブリ

  • AndoroidとiPhoneだけをターゲットにすれば、かなりのAPIが使える
  • ストアアプリ、Windows Phoneアプリを含めると、かなり使えるAPIが制限される
  • プロジェクトテンプレートは、ユニバーサルアプリ用のPCLと従来のPCLがある

PCLの使いどころ

  • サーバーとの通信ロジック
  • ローカルストレージの保存ロジック
  • 業務ロジック
  • ゲームロジック
  • Viewとは切り離されたデータモデル
    • MVC、MVVMパターンの活用

PCLの苦手な部分

  • プラットフォーム依存が多い箇所
    • インターフェースを使えばできないことはないが、構造が複雑化
  • 外部ライブラリの依存が多い箇所
    • メインプロジェクトにアセンブリを入れる必要がある

その他の共通化の方法

  • プラットフォーム毎に#ifでビルドして用意する
  • プラットフォーム毎のライブラリを利用
  • ソースコードで共有
    • C#コードをリンクを共有

リンク

第1回のリンクです。

.NETラボ勉強会2014年4月に行ってきた(その1「Visioの1から8まで教えます~あとの2割は自分でね~」 by Microsoft MVP for Visio 上村 国慶さん) - プログラマーな日々

 

第3回のリンクです。

.NETラボ勉強会2014年4月に行ってきた(その3「クライアント技術から見たBuild 2014 Wrap-up」by Microsoft MVP for Visual C# 森博之さん) - プログラマーな日々

 

第4回のリンクです。

.NETラボ勉強会2014年4月に行ってきた その4「ライトニングトーク」 - プログラマーな日々