はかせのラボ

私の頭の中を書いていく雑記ブログです

xaml is 何

お久しぶりです。hakaseです。
今回はゲームプログラマーの就活について的なことを
書こうかなぁと思ったのですが特に思いつきませんでした。
ということでいつも通り覚書をつらつら書いていきたいと思います。

今回はxaml is 何です。

xaml is 何

xamlっていうのは名前から察せそうな気がしますが、
xmlライクなタグ使って構造を作っていくマークアップ言語になります。
基本WPFのUI部分(View部分)を定義するのに使うらしいです。
他で使われているって話はあんまり聞かないです。

全然ぱっと見違うものなんで想像できないかもですが、
最終的にxamlc#コードに変換されます。

動作とか汎用的なことはc#で、
見た目の定義はxamlでっていうのが
WPF界隈での基本認識らしいです。

詳しくはmicrosoftのページで見てください。
docs.microsoft.com

コードビハインド

xamlはUI定義を行うものという話をしましたが、
動きを作ることもできます。

色々な方法で付けられるのですが
その中でも一番簡単な方法です。

VisualStudioでxamlファイルを作ると勝手にxaml.csというファイルも
一緒に生成されます。

ここにコードを書くとxamlで宣言した
オブジェクトにアクセスしたりコールバックを使ったりできるようになります。

コードビハインドの使用はおすすめしない

これはあくまで自分の経験や教えてもらったことベースの話なので
常に適用されるお話ではないということを予め断っておきます。

ネット上にも転がっている話なので見たことがあるかもですが、
コードビハインドにロジックを書くとView層に見た目に関すること以外も
含まれることになり保守管理のコストが増えます。

わざわざWPFで作ってるのにも関わらず
保守管理のコストがWinFormsと大差なかったら
ただただめんどくさいだけでメリットがありません。

コードビハインドを使わなければ実現できない
もしくは
コードビハインド使わないと大量のファイルやコードが必要になる
等の理由がない限り使わない方がベターでしょう。
デカくなった時の保守管理が楽になるので。

あとがき

今回はxaml is 何について書いてみて
明らかに短かったのでコードビハインドについてもちょろっと書いてみました。

ぶっちゃけネットで聞きかじったことの再編集程度なので
誰かの参考になるとかはないと思ってないですが、
書いておかないと私が覚えていられないので許してください。

そしてコードビハインドの使用有無は個人の主観やプロジェクトの規約とかで
コロコロ変わると思うので柔軟に考えていくことが大事だと思います。

それでは今回はこの辺でノシ