この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
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 13
やiPadOS
が控えてますね……。
特に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のデモを見て「これいいな!!」となったのが一番の収穫でした。近いうちに買っちゃいそうです。