Xamarin.Forms
#Xamarin.Forms
はじめて触る人にとってどんな情報が必要か?
情報の探し方
StackOverflow
C# or .NET
kekyoの丼 – プログラムの話題とか
Xamarin or Xamarin.Forms
GitHub
公式フォーラム
公式ブログ
Twitter
Planet Xamarin
公式ドキュメント
JXUG とリンクされてる日本語ブログ
Xamarin | Cocoa's Lab
iOS
Apple Developer Documentation
News and Updates
Videos
Menthas iOS
Android
Android Devloper Documentation
Android Developers Blog
Google Developers Japan
Menthas Android
Android Dagashi
Android Developers - Medium
Visual Studio
不安定
ビルドエラー
起動しなくなる現象
iOS ビルドが失敗する
Extensions
mayerwin.RenameVisualStudioWindowTitle
VisualStudioPlatformTeam.ProductivityPowerPack2017
ShemeerNS.ColorPicker
NikolaMSFT.InlineColorPicker
Xamarin が実行される仕組み
インタープリターと AOT
Windows で iOS アプリをビルドする仕組み
Android Emulator
Quick boot だと時間の経過とともにパフォーマンスが死ぬので Cold boot のほうが良い
SDK とかも Android Studio に寄せたほうが良い (ストレージも節約できる)
iOS Simulator
Android 署名
debug.keystore
iOS Wi-Fi デバッグビルドデプロイ
iOS 署名とプロビジョニングプロファイル
Secure Storage
Android Keystore
iOS Keychain
Xamarin.Forms の仕組み
Native View のラッパー
XAML
Page
Layout
View
Label
Xamarin.Forms
Android では、Label に指定したフォントサイズは sp として解釈され、OS のフォントサイズ設定により自動的にスケールします (Layout などのサイズ指定は dp として解釈される)。
ですが、iOS では自動的にスケールしてくれません。Xamarin.Forms の NamedSize 列挙子は Dynamic Type のように見えますが、これはただのプラットフォームごとに定義されたフォントサイズなだけなので使えません。 Xamarin.Forms 4.1.0 からは アクセシビリティー設定で変更した内容に応じて NamedSize に係数がかかるようになっているため、自動的にスケールするようになりました。
Android
sp でサイズ指定することにより、OS のフォントサイズ設定に比例してスケールするようになります (デフォルトなら dp と同じ)。
iOS
Android の sp と似た概念として Dynamic Type というものがありますが、sp のようにサイズを絶対指定できるものではありません。
Dynamic Type では Title1、Title2、Headline、Body などの役割に応じたフォント設定が用意されていて、これらをフォントに指定して且つ adjustsFontForContentSizeCategory に true を設定しておくと、OS のフォントサイズ設定に応じて自動的に拡大縮小されます。
Custom Renderer
Effect
Data Binding
PropertyChanged.Fody
INotifyPropertyChanged の実装を自動生成するツールです。
Trigger
Dependency Service
UI Thread と Worker Thread
Device.BeginOnMainThread
http://d.hatena.ne.jp/omanuke-ekunamo/20160911/1473616682
iOSはそのような挙動をするのですが、Androidでは今UIスレッドにいる場合はポストされて後で実行するのではなくそのまま実行してしまいます。
その他
ボックスモデル
StringFormat
ValueConverter
Messaging Center
Gesture
パフォーマンス
プロジェクト設定
リンカー