More Related Content
Similar to わんくま名古屋 #38 (20160521) Xamarin入門 (20)
More from Yasuhiko Yamamoto (20)
わんくま名古屋 #38 (20160521) Xamarin入門
- 2. わんくま同盟 名古屋勉強会 #38
スピーカー紹介
• BluewaterSoft 山本 康彦 a.k.a @biac
まだ人工衛星が飛んでない時代に生まれ、HONDAでクルマの設計やってました
• Microsoft MVP for Windows Development (2014/10-2016/9)
• Windows ランタイム アプリ開発 / 記事や書籍の執筆 やってます
22016/5/21
- 3. わんくま同盟 名古屋勉強会 #38
スピーカー紹介
~ このセッションに関連する@ITの記事
• 徹底予習! Windows 10 のユニバーサルアプリ開発
2015/4/28 http://www.atmarkit.co.jp/ait/articles/1504/28/news015.html
• Windowsフォーム開発者のためのWindows 10 UWPアプリ開発入
門
2015/9/29~ http://www.atmarkit.co.jp/ait/articles/1509/29/news020.html
• 連載:Visual Studio+Apache Cordovaで始めるiOS/Androidア
プリ開発
2016/3/15~
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/app/vscordova_index.html
32016/5/21
- 5. わんくま同盟 名古屋勉強会 #38
C#プログラマーのための 基礎からわかる
LINQマジック!
• 5月12日 発売♪
• 「LINQ? なにそれ美味しいの!?」
…という人に!
• 技術評論社
ISBN: 978-4-7741-8094-6
352ページ、¥3,110 (消費税込み)
2016/5/21 5
- 6. わんくま同盟 名古屋勉強会 #38
C#プログラマーのための 基礎からわかる
LINQマジック!
• Amazon
http://amzn.to/1Seb1Mb
※ Kindle版は¥2,880
• 技評デジタルパブリッシング
¥2,880 (PDF/ePubセット)
https://gihyo.jp/dp/ebook/2016/978-4-7741-8176-9
• その他のオンラインショップは、技評社のサイト
を参照してください
https://gihyo.jp/book/2016/978-4-7741-8094-6
2016/5/21 6
- 7. わんくま同盟 名古屋勉強会 #38
Java 8 で登場した Stream API
※「ラムダ式で本領を発揮する関数型インターフェースとStream APIの基礎知識」(2014/4/30)より
http://www.atmarkit.co.jp/ait/articles/1404/30/news017.html
2016/5/21 7
String[] values = {"あか","あお","きいろ","みどり","おれんじ"};
Stream<String> stream = Arrays.stream(values);
String result = stream.filter(value -> value.contains("あ"))
.max((v1, v2) -> v1.compareTo(v2))
.get();
- 8. わんくま同盟 名古屋勉強会 #38
C#では、LINQがVisual Studio 2008から実用化
※ 前頁のJavaのコードを翻訳
2016/5/21 8
string[] values = {"あか","あお","きいろ","みどり","おれんじ"};
string result = values.Where(value => value.Contains("あ"))
.Max();
WriteLine(result??"(null)");
//出力: あか
- 9. わんくま同盟 名古屋勉強会 #38
C#、LINQ以前の書き方
※ 前頁のLINQのコードと同じ結果が得られる
2016/5/21 9
string[] values = { "あか", "あお", "きいろ", "みどり", "おれんじ" };
string result = null;
foreach (var value in values)
{
if (value.Contains("あ"))
{
if (string.Compare(result , value) < 0)
result = value;
}
}
WriteLine(result ?? "(null)");
//出力: あか
- 12. わんくま同盟 名古屋勉強会 #38
ざ ま り ん
Xamarin ってナニモノ?
• Xamarin Inc. のクロス プラットフォーム 開発ツール
Android / iOS / Windows
• C#で開発
• Xamarin Inc. をMicrosoftが買収 (2016/3/18)
⇨ Xamarin Platformが、Visual Studioに無償で入った♪
※ Community版(無償)以上。Expressには無し
2016/5/21 12
- 13. わんくま同盟 名古屋勉強会 #38
Xamarin の製品構成
※ 日本代理店はXLsoft https://www.xlsoft.com/jp/products/xamarin/
2016/5/21 13
IDE (Mac用 / Windows用) 自動テスト用クラウド
アプリ モニタリング トレーニング
これがVisual Studioに入った!
- 14. わんくま同盟 名古屋勉強会 #38
2つのXamarin Platform
※ https://www.xamarin.com/studio ; https://www.xamarin.com/visual-studio
2016/5/21 14
Xamarin Studio (Mac用) Xamarin for Visual Studio
これから紹介するのはこちら♪
- 16. わんくま同盟 名古屋勉強会 #38
2通りの UI作成法
• Xamarin ネイティブ
▸プラットフォームごとに記述
▸ネイティブAPI 使い放題
• Xamarin Forms
▸共通の単一コードで記述
▸ネイティブUIに変換される
▸それなりの制限アリ
2016/5/21 16
これから紹介するのはこちら♪
- 17. わんくま同盟 名古屋勉強会 #38
2通りの コード共通化手法 (1/3)
• PCL
▸独立したバイナリ
▸実行時に参照
• Shared Project
▸ビルド時にマージ
2016/5/21 17
これから紹介するのはこちら♪
- 18. わんくま同盟 名古屋勉強会 #38
2通りの コード共通化手法 (2/3)
• PCL (Portable Class Library)
2016/5/21 18
Android用
プロジェクト
バイナリ
iOS用
プロジェクト
Windows用
プロジェクト
PCL
プロジェクト
バイナリ
バイナリ
バイナリ
実行時に参照
- 19. わんくま同盟 名古屋勉強会 #38
2通りの コード共通化手法 (3/3)
• Shared Project
2016/5/21 19
Android用
プロジェクト
iOS用
プロジェクト
Windows用
プロジェクト
Shared
プロジェクト
バイナリ
バイナリ
バイナリ
ビルド時にマージ
- 21. わんくま同盟 名古屋勉強会 #38
開発に必要な環境
• Windows
UWPをやるならWin10必須、そうでなければWin8.1でもOK (…らしい)
エミュレータを使うには、64bit版のPro以上
メモリ8GB以上 & SSD必須 (⇦個人の感想ですw)
• ビルド用Mac
iOS向けにビルドするには必須
MacinCloudを利用する手もアリ http://nuits.hatenadiary.jp/entry/2016/04/02/124859
• テスト用の実機 (なくても何とかなる)
Android / Kindle Fire、iPhone / iPad / Apple watch、Windows Phone 8.x /
Windows 10 phone / HoloLens / Xbox one / Raspberry Pi、etc.
2016/5/21 21
- 22. わんくま同盟 名古屋勉強会 #38
インストール
• VS2015 新規インストール時、
または、コントロールパネルの
「プログラムのアンインストール
と変更」
• 機能選択画面で、「クロスプラッ
トフォーム モバイル開発」の下の
「C#/.NET (Xamarin)」にチェック
• 全部入りだと45GBくらい (@@;
2016/5/21 22
- 24. わんくま同盟 名古屋勉強会 #38
このルートの落とし穴
▸× ユーザー名に日本語
▸× プロジェクト名、または、そこまでのパスに日本語
• あとは大丈夫だったけど、一番楽な攻略ルートなので f(^^;
※ 実際には相当に手ごわいダンジョンです。
攻略方法は、XLsoft 田淵さん @ytabuchi のブログに⇩
http://ytabuchi.hatenablog.com/entry/2016/04/05/142525
2016/5/21 24
- 28. わんくま同盟 名古屋勉強会 #38
Win10上で実行 👏
2016/5/21 28
[x86] or [x64]
UWPの
プロジェクトを選択
ローカルコンピュータ
を選択
【注意】Win10 UWPは、Any CPUではビルドできません。
.NET NativeでCPUごとのバイナリになるためです。
- 30. わんくま同盟 名古屋勉強会 #38
Xamarin で "Hello, world!" やってみた♪
• C# でクロス プラットフォーム開発ができるよ!
• VS 2015 Community なら、開発環境は無償♪
(ハードスペックの要求がそれなりに…)
• “Hello, world!”までの道のりは長いと覚悟してね♡
日本で一番詳しい人は、(たぶん)
XLsoft https://www.xlsoft.com/jp/products/xamarin/ の
田淵さん @ytabuchi / http://ytabuchi.hatenablog.com/
「Xamarin逆引きTips」を連載中
http://www.buildinsider.net/mobile/xamarintips
302016/5/21