Xamarin 概要 2017/01/15
-
Upload
yoshito-tabuchi -
Category
Engineering
-
view
172 -
download
3
Transcript of Xamarin 概要 2017/01/15
Xamarin概要
2017/1/15OthloEvent #9 [学生限定Xamarinハンズオン]OthloTech x Microsoft Student Partners x JXUG学生支部
田淵義人@エクセルソフト
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
080-7015-3586
参加してくださっている皆さまぜひXamarinの楽しい部分を持ち帰ってください(^^)
スタッフの皆さま会場手配、懇親会手配、事前準備もろもろありがとうございます。
2
多謝
営業(セールスエンジニア) 兼 新規事業開発室 室長Xamarin コミュニティエバンジェリスト2016年4月 Microsoft MVP Visual Studio and Development Technologies 受賞
連載・執筆Build Insider Xamarin Tipsマイナビニュース.NET開発テクノロジ入門2016年版
コミュニティJapan Xamarin User Group 主宰Twitter: @ytabuchifacebook: ytabuchi.xlsoftBlog: Xamarin 日本語情報
3
田淵義人@エクセルソフト
アジェンダ
Xamarin とはXamarin ネイティブXamarin.Forms事例Xamarinをこれから始める方・学生さんへまとめ
4
Xamarin とは
銀の弾丸ではない
Miguel, Nat
Mono, Ximian
Novell, Attachmate
Xamarin, Microsoft
6
Xamarin (ザマリン・企業)
C# / .NET / Visual Studio
フル “ネイティブ” アプリ
API 100% 移植
コード共通化
7
Xamarin
C#
8
using System.Collections.Generic;using System.IO;using System.Linq;using System.Net.Http;using System.Xml.Serialization;
button.Click += async (sender, e) =>{
using (var client = new HttpClient()){
using (var reader = new StreamReader(await client.GetStreamAsync("xxx"))){var deserializer = new XmlSerializer(typeof(Rss));var latest = deserializer.Deserialize(reader) as Rss;var feed = latest.Channel.Items
.Where(x => x.Link.Contains("xamarin"))
.Select(x => x.Title).ToList();}
}};
2つの開発手法
9
Shared C# App Logic
(PCL)
Shared XAML/C# UI Code
(Xamarin.Forms)
iOS
C# UI
Shared C# App Logic
(PCL)
Android
C# UI
Windows
C# UI
Xamarin.FormsXamarin Nativeロジックのみ共通化
UIはネイティブで個別に作りこむ
必要な知識
10
プラットフォーム個別
Xamarin Native
iOS API Objective-C, Swift Xcode
Android API Java Android Studio
Windows API Visual StudioC#
API 言語 統合開発環境
iOS API Objective-C, Swift Xcode
Android API Java Android Studio
Windows API Visual StudioC#
Xamarin.Forms
iOS API
Android API
Windows API
Objective-C, Swift Xcode
Java Android Studio
Visual StudioC#Xamarin.Forms
UI toolkit
アジェンダ
Xamarin とはXamarin ネイティブXamarin.Forms事例Xamarinをこれから始める方・学生さんへまとめ
12
Xamarin ネイティブ
40
Xamarin ネイティブ
41
UIは個別
ネイティブAPIは個別
PCL or Sharedネットワーク
Json, XML
永続化
async/await
42
Xamarin ネイティブ
iOS
C# UI
Shared C# App Logic
(PCL)
Android
C# UI
Windows
C# UI
Xamarin Nativeロジックのみ共通化
UIはネイティブで個別に作りこむ
PCL or Shared
#if __ANDROID__
#if __IOS__
43
Windows
AndroidiOS
アジェンダ
Xamarin とはXamarin ネイティブXamarin.Forms事例Xamarinをこれから始める方・学生さんへまとめ
44
抽象化UIライブラリ最大公約数
ワンソース・ネイティブUI/UX
XAML / MVVM
拡張可能
45
Xamarin.Forms
Shared C# App Logic
(PCL)
Shared XAML/C# UI Code
(Xamarin.Forms)
Xamarin.Forms
Pages
46
Layouts
47
Controls
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView
EntryCell ImageCell SwitchCell TextCell ViewCell
48
Xamarin.Forms
ワンソース
ネイティブのUI/UX
49
XAML
50
XAMLの機能
51
機能 Xamarin.Forms でのサポート
XAML 2009 仕様 a
シェイプ (四角、楕円、パス など) BoxView
Resource, Style, Trigger a
Data binding a
Data template a
Control template Custom Renderer
Render Transform a
アニメーション コードのみ
カスタム XAML behavior a
カスタムマークアップ拡張 a
Value converter a
XAMLの機能
Resource
Style
Trigger
Behavior
Value Converter
Data Template
Data Binding
52
Model View ViewModel
Data Binding
MessagingCenter
53
MVVM
ネイティブコントロール (UI)
Custom Renderer
Effects
54
ネイティブAPI
Dependency Service
Plugin
55
アジェンダ
Xamarin とはXamarin ネイティブXamarin.Forms事例Xamarinをこれから始める方・学生さんへまとめ
56
フェンリル株式会社 様
http://biz.fenrir-inc.com/application_development/casestudy_app/nhk_kouhaku.html
NHK 紅白
57
株式会社エムティーアイ 様
http://www.xlsoft.com/jp/products/xamarin/apps_sakenomy.html
Xamarin.Forms 活用事例
Sakenomy
58
@muak_x さん
http://kamusoft.hatenablog.jp/entry/2016/11/08/220810
59
色しらべ
@yamamo さん
https://docs.com/yamamoto-takahiro/9893/jxugc-17-xamarin
60
AzureVM Power Switch
@kikutaro_ さん
http://kikutaro777.hatenablog.com/entry/2016/08/07/230423
61
坂道46セレクション
https://www.xamarin.com/prebuilt
Prebuilt サンプル
62
Acquaint Sport Xamarin CRM My Shoppe
資料一覧https://jxug.connpass.com/event/39470/
ビデオ録画https://www.youtube.com/playlist?list=PLxAao1dxjr71PXLAJwn0qdmDwz-K0bGpW
申請お待ちしております。http://bit.ly/MyXamarinApp
63
JXUGC #17 お前の Xamarin アプリを見せてみろ!
アジェンダ
Xamarin とはXamarin ネイティブXamarin.Forms事例Xamarinをこれから始める方・学生さんへまとめ
64
Microsoft Imagine とはhttps://www.microsoft.com/ja-jp/education/imagine.aspx
学生や教員のみなさまの ICT 技術の学習や教育、研究をサポートする年間制のメンバーシッププログラムです
マイクロソフトの開発ツールやサーバー製品をいつでもダウンロードできます
ダウンロードした製品は永続的に利用できます
65
Microsoft Imagine (旧DreamSpark)
いくつかの言語を覚えようXamarin ならば、Swift/Java (Kotlin でも可) も覚えておいて損はない
チャレンジは怖くない
66
学生の特権
Android SDK をちゃんとインストールWindows で Xamarin 開発をしたい方はインストールする前に読んでほしい -Xamarin 日本語情報
Xamarin for Visual Studio スタートアップ トラブルQA集 - nuits.jp blog
Xamarin バッドノウハウの解説 - Xamarin 日本語情報
Hyper-V の Visual Studio Emulator は使わない*個人的な見解です
丁寧に環境構築
67
Xamarin逆引きTips - Build Insider
Xamarinに関する投稿 - Qiita
Xamarin Advent Calendar 2016 ← HOT
Insider.NET > .NET TIPS - @IT
JXUG : 関連ページ、ブログ一覧
Xamarin 日本語ドキュメントの紹介 : XLsoft エクセルソフト
68
日本語ドキュメントを読む
Xamarin ハンズオン (初級)
Xamarin Dev Days Tokyo ハンズオン (中級)
Xamarin.Forms CustomRenderer ハンズオン (中級)
JXUG で主催しているハンズオンやもくもく会に参加http://jxug.connpass.com
エラーとワーニングは別物ですビルドエラーにならなければ、とにかく進めてみる
69
手を動かす
読む・見る・聞く・調べるGuides - Xamarin (ドキュメント)
Recipes - Xamarin (逆引き辞典)
Xamarin Blog
Xamarin channel - Youtube (セッション動画)
Xamarin Forums
Stackoverflow
PreBuilt アプリBuild Apps Quickly using Prebuilt App Templates - Xamarin
71
英語ドキュメント
Xamarin.iOS, Xamarin.Android は iOS API /Android API の薄いラッパーである
ネイティブの情報を探して Xamarin で使う
72
iOS/Android ネイティブの情報
日本語版を作成中
原文は以下で公開中
https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/
73
Creating Mobile Apps with Xamarin.Forms Book
アジェンダ
Xamarin 概要Xamarin ネイティブXamarin.Forms事例Xamarinをこれから始める方・学生さんへまとめ
74
#Xamarinはいいぞ
環境構築を超えれば
C# だけで iOS/Android アプリを開発できる
ネイティブ API はゆっくり覚えれば良い
Xamarinは怖くない
77
ご清聴ありがとうございます
http://jxug.orghttp://jxug.connpass.com次回は1/28(土)です。是非遊びにきてください(^^)
田淵義人@エクセルソフト
Twitter: @ytabuchi
facebook: ytabuchi.xlsoft
080-7015-3586
78