C#/WPF: 10年ぶり?5年ぶり? Visual Studio で C# で XAML で WPF で
Note: 今回は技術的内容はたぶん無いよう・w・ たぶんただのエッセイだよう・w・
Visual Studio
で C#
を書くのはお気持ち的にはたぶん10年ぶりくらい(実際はそんなに長くないよ😋)。 C#
でアプリを書くのは5年ちょっと振りくらい(たぶんほんと)。 C#
や .net
の概況や言語仕様のアップデートは毎年1回くらいは気にかけていたけどね(メテオにはMPが足りないテラおじいちゃんが「おもいだす」できる程度には)。
私が C#
を使わなくなった理由は幾つかあるけれど、
Managed DirectX
の緩やかな衰弱、そして事実上の死XNA
の緩やかな衰弱、そして死Silverlight
の緩やかな衰弱、そして死Microsoft
に振り回されたくない想いの強まりMono
黎明期とGNU/Linux
プラットフォーム主環境化とASP.net
によるサーバーサイドエンジニア化- そもそもわたしが
C#
を使う理由が消失した
そんな事が10年くらい昔から5年くらい前までに私が C#
を直接は使わなくなった流れ。言語としては好きなんだよ😃
で、最近ね、仕事のボスが
「伊藤さん、技術力すごい評価するけどビジネスアプリ的なUIとか作ってくれないですよね(だからボーナス評価は並に落としますね」
とか言うの。まあ、私の会社じゃないし、お世話になってるだけだからね、要求には答えてあげないとね♥
『べ、べつに作れないわけじゃ・・ないんだから!(ぁーだりぃーょぉー、そんなダサいもの作りたくないでござるよー・・・うぐぅー』
と、いうわけで伊藤さんは中略 WPF
と Visual Studio
と C#
で Windows
向けのビジネスアプリ的なUIというやつをぺぺっと作ってやることにしたのでした。
先ず、 C++
しか使わないので入れていなかった C#
を WPF
でデスクトップアプリつくれるっぽいキットを Visual Studio Installer
を起動してぽちぽちインストールします。 Win Form
そんな存在すら危うさを感じるものいまさら使いません💀 UWP
そんな制約で疲れそうなものぺぺっと作りたいだけなのに使いません(たぶん勝手な思い込みです)。
既に C++
環境のため Visual Studio
の本体的な何かはインストールされているため、1分もかからずあっさりダウンロードとインストールがおわった。再起動も不要だったのでそんなことに無駄に小さな幸せを感じてしまった私に悔しさを感じた。
起動して WPF
デスクトップアプリのプロジェクトを新規作成。なんかフォーム(WPF
なのでそうじゃない)のヴィジュアルなデザイナーの下にコードが同時表示されている。
お久しぶりデース、XAML
=サン。ぁぁ、懐かしいですね、わたし好きですよ、こういう GUI
をヴィジュアルプレビューと記述用のテキストな言語で作れる何かそういうの。(最近は UMG
( UE4
)を使っていたのでテキストソースでは簡単にはイジれないんだよね。その前は imgui
で、あれはソースでしかイジれないしデザインのプレビューとか完全脳内コンパイラー必要だし。)
わたしの脳内のわたしじゃない誰か「ハァィ、うさぎー、それじゃあ今回はどうして
QML
は使わなかったんダーイ?」
わたしの脳内のそれじゃない誰か『うるせえな、あんなもん使ったら
GPL
汚染(厳密には使うコンポーネントやソースのバージョンによってLGPL3
だったりGPL3
だったりGPL2
だったりする )を受けるしクロスプラットフォームなんてどうでもよく Windows でだけぺぺっと動けばいいなら Qt 開発環境もめんどくせーんだよ・w・』
脳内で誰かがおしゃべりしていた。私にはどうでもよいことだが。
わたしらしき何者か『さて、とりあえずボタンでも付けてみようか。』
Visual Studio
のコンポーネントがアイコンで表示されてくれていてマウスでどーっとするとばーんと GUI
ができるあのアレは…どこだ…。
わたしのなかのかわいいかもしれないやつ『ぉぉ~なるほどぉ~!こんなところに縮こまっておったかーー、気付かんところだったではないかぁ~~😂』
などと思った気がしたが、ぺぺっとアプリを作るためにこの子には脳内の宇宙の扉の先のどこかへお帰り頂いた。
「押せ。」と一応書いてから気づいたが、引いたり、さすったり、殺したり、おしゃべりしたりはできないのでデザイン工学に一杯取られた気がした。実は殺すことはたぶんできるのだが、それは実行時にウィンドウハンドルを(中略)そのはなしではなかった。ぺぺっと忘れて続けよう。
それで、ただボタンを付けてイベントを束縛しても面白くないので Visual Studio
のヴィジュアルな力とやらを見てやろうと思った。グループ化してテキストボックスも入れてやろう、グフフ…。…これを…こうして…ここへ…。
たぶんわたしに接近してきたわたし「私の…わたしの…「かわいいボタン。押せ。」が消えてしまったではないかぁ~~~~~うわぁああああああん」
こういう時、かわいいやつを出すと得をするのだが、それは相手が居る場合だ。残念だったな、帰れ、かわいいわたし。
わたし、プログラマー。ソース、信じる。(ごにょごにょ
わたし『ぐぬぬ…。なーにがグループじゃぁ~~\(^o^)/ うっかり騙されたではないかぁ~~~!(設計に基づく正しい挙動です)』
なんて遊びながらでもぺぺっと GUI
アプリ作ってさっさと動かせちゃうんだから、便利でいいよね。
感覚をハンドリングできはじめてきた気がするので、落書きエッセイはこのくらいにします。こんなの読んでくれて、ありがとうね😋