祝! Xamarin.Forms Version3.0 リリース🎉


※ この発表は Mobile Act #2 で話した内容です。

アジェンダ

  1. 自己紹介
  2. Xamarin.Forms
  3. 追加機能
  4. おわり

自己紹介

ID:  @AyaseSH          
名前:  太田川 洋
仕事:
 フェンリルの Xamarin担当
 最近 UWPもやるので .NET担当になってきた


Xamarin.Forms

Xamarinを使用した開発において View層を共通させて開発できるようになるフレームワークです。

今月始め(2018/5) その Xamarin.Forms の v3.0 がリリースされました。
v3.0になって何が出来るようになったのかを発表したいなと思います。


追加機能 その1


CSS

CSS を使ったデザイン定義が追加されました。

今までプロパティやスタイルで決めていた定義(C#, XML)を CSSの記法で書けます。

定義の種類は 公式リファレンス を参考に


<Style x:key="MainPageTitleStyle"
       TargetType="Label">
    <Setter PropertyName="FontSize"
            Value="Medium" />
    <Setter PropertyName="FontAttributes"
            Value="Bold" />
</Style>

↑を css だと ↓になる

.mainPageTitle {
    font-style: bold;
    font-size: medium;
}

追加機能 その2


FlexLayout

CSS の追加とともに FlexBox (可変するレイアウト方式)も追加されました

今までは Stack, Grid, Absolute, Relative から作成

ここに Flexible が追加🎉


Collection ライクなビューを Xamarin.Forms のみでできる


親の大きさを見て、子の並び・大きさを動的に配置してくれるレイアウト


追加機能 その3


Visual State Manager

Windowsアプリ(WPF, silverlight, UWP) では定番の機能

コントロールの状態から UIを変更できる機能
色を変えたり、配置を変えるのが簡単に定義できる




追加機能 その4


RTL Support

右から左へのレイアウト変更


page.FlowDirection = Device.FlowDirection;
<ContentPage
    FlowDirection="{x:Static Device.FlowDirection}">

デバイスの言語情報をみて切り替える場合は上記と各対応だけ

アプリ内での切替はDevice.FlowDirection部分をカスタマイズ


Xamarin.Formsでの開発に幅が広がってくれて嬉しいバージョンアップ

他にもクロスプラットフォームは増えてきたのですが、 老舗(?)の Xamarinも選択肢にどうですか?


ご静聴ありがとうございました