Xamarinはじめました
八巻 雄哉
第1回サトヤ勉強会 2014/11/15
クロスプラットフォームアプリ開発
Web UI系(ハイブリッドアプリ)
Webアプリを
ラップする
ネイティブアプリ
モバイルWebサイト
Cordova (PhoneGap、Monaca)
共有コード
独自UI系
独自UIで
UIコードも共有
iOS向け
独自UI
Android向け
独自UI
Windows向け
独自UI
RAD Studio XE/Appmethod
Adobe AIR
共有UIコード
ネイティブUI系(その1)
それぞれ
アプリをつくる
iOSアプリ Androidアプリ Windows
アプリ
共有コード
ネイティブUI系(その2)
プラットフォー
ム固有コード
コードを共有して
ネイティブアプリ
iOS
ネイティブUI
Android
ネイティブUI
Windows
ネイティブUI
Xamarin(C#)
Tatanium Mobile(JavaScript)
RoboVM(Java)
RubyMotion(Ruby)
プラットフォー
ム固有コード
プラットフォー
ム固有コード
基本的に有償のツール
学生は無料でINDIE版使えます
Visual Studio(Windows)
Xamarin Studio(WindowsとMac)
Xamarin Android Player(Preview)
C#と.NET基本クラスライブラリ(BCL)
Windows Phoneアプリの場合
iOSアプリの場合
iOSのAPIを100%カバー
Androidアプリの場合
AndroidのAPIを100%カバー
demo
LINQ with Xamarin
Xamarin.Forms
共有コード
共有UIコード(Xamarin.Forms)
iOS
ネイティブUI
Android
ネイティブUI
Windows
ネイティブUI
UIコードも共有して
ネイティブアプリ
Tatanium Mobile(JavaScript)
もほぼ同じ仕組み
Xamarin.Forms.Labelクラスの場合
UILabel TextView TextBlock
ページ
Content MasterDetail Navigation Tabbed Carousel
レイアウト
Stack Absolute Relative Grid ContentView ScrollView Frame
ビュー(コントロール)
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
demo
FormsGallery
XAMLが使える
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MinimalMvvmLightSample.MainPage">
<StackLayout>
<Label Text="{Binding MyMessage}" VerticalOptions="Center"
HorizontalOptions="Center" Font="Large" />
<Button Command="{Binding IncrementCommand}" Text="Click Me!"/>
</StackLayout>
</ContentPage>
Xamarin.FormsのXAML
似てるけどいろいろ違うので、結構つまづく
demo
XAML
データバインディング
View
ViewModel
Model
demo
Binding with MVVM Light Toolkit
Announcing .NET 2015
Announcing .NET 2015
.NETコアライブラリのOSS化
.NETコア部分のマルチプラットフォーム化
ASP.NETがLinux/Mac OS Xで公式サポートされる
クロスプラットフォームモバイル開発のさらなる進化
Visual Studio != Windows系アプリ開発環境
Java、Android Debug Bridge(adb)、Apache Cordova、Xamarin用テンプ
レート、Androidのエミュレータなどが入る
OmniSharpへのコミットでWindows以外の.NET開発も支援
Vim、Emacs、Sublime TextなどにVisual Studioばりのコード補完機能を導入
MicrosoftのCEO、サティヤ・ナデラ、Apple、
Googleと比較して自社の本質を的確に指摘 –
TechCrunch
http://jp.techcrunch.com/2014/11/11/20141110heres-what-microsoft-
ceo-satya-nadella-thinks-apple-and-google-do-best/
Microsoftのビジネスとは他の人々にソフトウェアなどのプロダクトを
開発する力を与えるところにある。
デベロッパーがアプリケーションを開発できるようにするプラット
フォームを提供し、また誰であれコンピューティングに関連する人々
が所望の成果物を作れるようにする数々のツールを提供するところで
こそ、Microsoftが真価を発揮し、本当の差別化を行えるのだと私は考
えている。
プラットフォームのプロバイダー、ツールのプロバイダーであること
こそ、Microsoftの根本的なアイデンティティなのだ。
ComCamp 2015開催のお知らせ
サトヤ仙台とエフスタ!!SENDAIによる合同開催の勉強会
日本マイクロソフト後援
日時:2015年1月31日(土)
場所:PARM-CITY131貸し会議室(マーブルロードおおまちアーケード)
内容:まだ未定(学生向けのセッションを1つ以上用意したい)
絶賛スピーカー募集中
Appendix
Xamarin.Formsの前提条件
Android 4.0以降
iOS 6.1以降
Windows Phone 8(Visual Studio使用)
注意点
ソリューションファイルがある場所のパスにUnicode文字が含まれて
いると「Unexpected Error」でビルドできない(Windows Phoneプロ
ジェクトは大丈夫)。
XAMLについて知りたい
Tech·Ed 2008 Yokohama
開発者なら知っておきたい XAML の書き方

Xamarinはじめました