C#すら触ったことないド素人がWPFとprismをキャッチアップする方法
元プロの社畜 @nabeemichi です。
ぼくは、Windowsネイティブアプリを開発することになってしまっている。
でもC#も触ったことない。WPFなんて初めて聴いたよ状態から3週間ほどで、
それなりにアプリが動く状態になった。
そんな僕が、やったキャッチアップ方法を解説する。
他の言語ができれば、どうにかなる
プログラミング言語全般的にそうだと思うんだけど、
1つの言語をそこそこできるようになっていれば、
他のプログラミング言語はある程度どうにかなる。
そんな思いでWPF+prismライブラリを採用して、ゼロからアプリ作ってるんだけど、
情報なさすぎでびっくり状態。
やっぱり、Windowsネイティブアプリなんて今の時代つくるやついないだろってことだね。
お役所とか医療機関絡みじゃないと作らないか。
Windowsネイティブアプリって不便だもんね…WEBアプリにしようよって感じだよ。
そんなこと言っていても案件消化できないから、キャッチアップした。
WPFは中途半端すぎるからライブラリのキャッチアップを
WPFを触ってて一番思ったことは、
なんて中途半端なんだ…
ってことだ。その中途半端さを補ってもらうためにPrismライブラリを使ったりするわけだが、
もはやキャッチアップ対象は、WPFではなくてPrismのキャッチアップに焦点をあわせたほうがいい。
Prismを理解したら、それなりのWindowsアプリ作れる。
だからWPFって、なんだ?状態の人は、WPFという単語でググるのはもう辞めたほうがいい。
さっさとPrismをNugetからインストールして、Prismの使い方をマスターするほうが成果だせる。
ググってばかりじゃあ、動くものはできない。動いてるものからキャッチアップする
とはいいつつも、「WPF Prism」でググってても結局は何もできないし、
キャッチアップした気になってるだけ状態。
ググって知識入れてるつもりになってるよりは、動いてるものを一つづつ追いかけてく方が理解できる。
OJT的な感じで、実際に動いてデバックできる状況のソースコードを手に入れることが実はググるより良い手段だったりする。
Prismはgithubにサンプルソースが公開されてるので、ビジュアルスタジオをインストールしていれば、デバックしてキャッチアップできる状況を作ることができる。
Prismの主要機能を理解したら、もうこれをダウンロードしてデバックするのが一番理解しやすい。
僕はこのサンプルソースを見つけてから理解Prismの機能を理解することができた。
困ったら、ここのサンプルソースを参考にしする為に、何度もみたりデバックしてる。
ここのサンプルは、あたりまえだけど、めっちゃ重要なんだけど、
Visual Studioさえあれば、サンプルソースをビルドできる。
エラーなく、目的のサンプルを選んで、プロジェクトを選択してちゃんと読み込める。
ビルドに必要なソースがちゃんと全部そろってるのだ。
重要なんだけど、意外とサンプルビルドできないとかあって、その時点でキャッチ諦めたり
他のライブラリ探したりしてしまう僕にとっては重要。 今週のお題「部活動」
ググればそれなりの情報はでてくるけど、やっぱり本家の情報をベースにキャッチアップ
情報ってのは、正確性を保つのが難しいもの。
情報が古かったり、そもそも信じていい情報なのかどうなのかってのを判断するのに時間がかかる。
ただ、流石に公式のDocumentは信頼性がある。
だって、せっかくつくったライブラリだから使ってほしいはずだしね。
ここ間違ってたら、もうどうしようもないでしょ。
その最も信頼できるであろうドキュメントがここにある。
この公式ドキュメント見つけるのに、実は僕は時間がちょっとかかってしまった。
理由は、githubのwikiページにになかったからだ。
こうゆう大事なものって、目につきやすいWikiとかにあるものだとおもってたから、
正直Wikiみたときは、使わせる気ないクソライブラリだなって思った。
だって、普通WikiにAPIリファレンスとか、使用方法書いてあるのが普通だと思うからね。
でも、こいつは、ソースとしてバージョン管理してある。
正しい管理方法だと思うけど、流石にそこを一番先に探しにはいかないかな。
まとめ
さっさとPrismのサンプルソースをダウンロードしてデバックできる状況をつくって、動いてるものを動かしながらキャッチアップする。
サンプルからひつようなところをピックアップしながら、開発するのが一番はやくPrism使ったアプリを作れると思う。
僕らが考えるべきところはPrismがどうなってるかよりも、ビジネスロジックをどうするか?の方が大事だから。
そこに僕らの価値があるはず。
公式ドキュメントは、Wikiにないから、こちらから