[LT資料] JXUGC#25 最新情報アップデート&LT大会で「2年で6個のアプリをリリースした感想 with Xamarin.Forms」というタイトルでLT発表しました #JXUG

8/31に開催されたJXUGC #25 最新情報アップデート&LT大会に参加し、LT発表をしましたので、LT資料を公開します。 補足説明もあります。
2019.08.31

2019/8/31に開催されたJXUGC #25 最新情報アップデート&LT大会に参加し、LT発表をしましたので、LT資料を公開します。

LT資料(5分)

補足

UIはXAMLがオススメ

C#コードで書くと下記のようになり、見通しが悪くなると思っています。

var label1 = new Label
{
    Text = "テスト",
    HorizontalOptions = LayoutOptions.CenterAndExpand,
    VerticalOptions = LayoutOptions.Start,
};

var label2 = new Label();
label2.SetBinding(Label.TextProperty, "AnyText");

var button = new Button
{
    Text = "Push",
};
button.SetBinding(Button.CommandProperty, "PushCommand");
button.SetBinding(Button.IsEnabledProperty, "IsExistData");

Content = new StackLayout
{
    Children =
    {
        label1,
        label2,
        button,
    }
};

XAMLだと下記となり、スッキリしている印象です。

<ContentPage.Content>
    <StackLayout>

        <Label Text="テスト"
                HorizontalOptions="CenterAndExpand"
                VerticalOptions="Start" />

        <Label Text="{Binding AnyText}" />

        <Button Text="Push"
                Command="{Binding PushCommand}"
                IsEnabled="{Binding IsExistData}" />

    </StackLayout>
</ContentPage.Content>

下記を見ながら、チャレンジしてはどうでしょうか。

また、XAMLについては下記の資料が大変参考になると思います!

MVVMはオススメ

まずは下記を見ながらチャレンジです。(日本語訳が分かりづらい場合は、英語で読むと分かるかもしれません)

「MVVMとかデータバインディング、完全に理解した」となれば、次のライブラリやフレームワークを使うと楽に実装ができます!

だんだん楽しくなってきますよ!

追従するもの、たくさんあるよ……

Xamarinというよりは、アプリ開発でよくあるツラミの部分ですね。直近だと、iOS 13iPadOSが控えてますね……。

特にXamarin.Formsを使って画面を作っているとき、画面関連の対応はXamarin.Forms待ちになったりすることもあります。 (カスタムレンダラー等を使わずXamarin.Formsの対応を待つ、という意思決定を自分でする)

デザインも大変だけど、参考資料はたくさんある

個人的に、アプリを作ってて一番大変?かもしれないです。アプリ自体のアイコンが。絵心もデザインセンスも無いので……。ほんとにデザイナーさんはすごいです。

アプリの見た目や色合い

アプリ自体の配色とかは、下記を参考にしています。特に色は後半にある「2014 Material Design color palettes」から選ぶことが多いです。

アプリで使うアイコン

「お気に入りアイコン」とかは、下記のアイコンを使用しています。「Apache license version 2.0」で配布されています。

アプリ自体のアイコン

こればっかりは、がんばるしかない……。

とにかく作ってみよう

作ってみる

アウトプット重視ですね。 ひとまず作り切ることで、スマホアプリ開発で必要な事柄が分かったりします。

ただ、スマホアプリならでは?の

  • あんな感じのデザインにしたいけど、どうやれば?
  • Android / iOS 共通が故の「仕様どうしよう……?」

など、細かい壁があるかもしれませんが、「課題を解決する力や達成感」を得られるのは大きいと思います。 まずは片方のOSだけでも良いかもしれません。(手持ちスマホに合わせる)

作りたいアプリが良いよ!

モチベーション維持のためですね。

他の誰かが作っているアプリでも良いのです。

自分が作りたいアプリを作る、自分が使いたいアプリを作る、そのほうが楽しいです。

前向きに捉える

「過去に書いたコードのメンテ辛い」は、そのまま「自分がスキルUpした証拠だ」と受け取ると、精神的に良いと思います。

確実に成長しているのです。

さいごに

こういう場で話すのは初めてだったので、かな〜〜〜〜り緊張しましたが、あっという間の5分でした。正直、記憶はあんまりない……。 良い経験をさせていただき、ありがとうございます!

あと、LiveXAML for Xamarin Formsのデモを見て「これいいな!!」となったのが一番の収穫でした。近いうちに買っちゃいそうです。