そもそもの土台の出来がダメなWindowアプリ開発環境 ~2014年5月現在の状況~

次のWindowsはデスクトップ用とモバイル用に分かれるらしい。
※もちろん、サーバー用のWindows Serverは全く不明。
どちらもWindowsRTアプリが動くようになるらしい。
しかし、それ以前にWin32にはプラットフォームとしてはともかくアプリ開発の土台がなってない。
古くあるMFCベースはもうやる気が無いらしく、Windows FormかWindows Presentation Foundation(以下WPF)をベースに作ることになる。
それにC++、C#、VBの様な言語も選ばなくてはいけない。
ま、その辺の実装に大きな問題は無い、問題は実装した後の結果だ。
C#とVBでリリースした機能に差(VBだけにある機能)があったり、Windows Formは昔から仕様がほぼ変わらないが流行りの記述方法に変わっている。WPFはBindingに頼り過ぎBindingはJava系で云うところのヘルパークラスやJDBCの仮装実装インタフェース状態にそっくりだ。そう作った奴にしか判らない実装になっている。古いもので云えばOS/2のクラスライブラリィ同然で、サンプルでの書き方(またサンプルの記事の通りの方法)でしか機能しないのだ。
あからさまに云えば、XMLでサンプルデータを作り、それをフォーム上のコントーロールにBindingしデザインを確認したら、こんどは、そのBindingの設定をDBなりクラスなりに置き換えなくてはいけない。ここで不味い実装が露見する。
dataSource  プロパティはもちろん変更が必要だが、末端の Binding   xpath=@<エンティティ名> を Binding <クラスのプロパティ名>に全て手で直していかなければいけない。
この辺の設計者は、どうせ全部部下にやらせるからどうでもいいんだろう。 どこでそうだがSGMLの仕様は一見読みやすいが流用が効かない=一行野郎魂で出来ている。と判るのは実際に使っている部下だけである。
さらに、C#のWindows Form アプリ系は、フォームのビハインド・ソース・ファイルのフォームクラスの前に何か別のクラスを作ると、同列のxxxx.designe.csつまりフォーム設計をC#ソースにしたものなのだが、そのクラス名が先の作ってしまった別のクラス名に裏でこっそり置き換わり、次第にエラーが山の様に積みあがるバグは今も入ったままだ。
また、WPFではそうならないので安心かと思えば、Nameプロパティが名無しの状態からプロパティウインドウで何か名前を与えようと1文字入れると反応しなくなり、続きはXAMLファイルのテキスト・ビューの方で中途半端な名前になっている箇所を正しい名前に書き換えなくてはいけない。
と云う感じで、IDEのUI設計レベル(並) >>(全く越えられる気配が感じられない距離感)>>UIの実装レベル(底辺) なのが現実で、それが、アプリの構成設計 ≒ サンプルの実装 の出来なので、応用が利かない。
例えばWPFでListViewをGridViewとして機能させ、列を設定用にチェックボックスで埋めることができる。Windows FormではOwnerDrawイベントを駆使して実装しなくてはいけないのに比べればかなり簡単だ。しかし、それは列に文字を出すだけなら簡単で、チェックボックスでも列の設計が固定なら簡単だ。但し、DBの内容によって列の数が増減するようなダイナミックな設計をしてしまうと、もうXAML式(仕様は永久確定でなければいけないの法則)では無理で、頑張ってBinding するリソースをC#で組み立てなければいけないが、XAMLの <CheckBox IsChecked=”{Binding IsConverted, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}”/>の属性の部分を どうC#ソースで書くのかは、var 宣言から逃れられないため、ソース・エディタのヘルプも全く役に立たず、正解はコメントの無い実装レイヤーに包まれている。
さらに5月のSQL Server 2008 のWindows Updateパッチはいつまで経ってもインストに失敗すると報告する。実はパッチが当たっており、インストーラのバグだったようで、非表示にしてめでたしと思いきや、こんどはデタッチでエラーが出る。強引にデタッチすると、データベースのインスタンスがクラッシュし、再起動しても復旧しない。仕方なく2014に置き換え、アタッチすると、何事も無かったかのように動き出すが、今度はVisual Studio 2013のデータベース・ツールからスキーマ詳細構成が見れないのはバージョンが新しすぎるせいなので仕方が無いが、無駄にアチコチにバージョンチェックが挟まっているせいで、バージョンチェックエラーとなり、テーブルのデータも観れないし、SQLを実行することもできなくなっている。
※但し、コンパイルしたアプリはNO VESION CHECKED なので何も支障が無い。
黒猫やCSDが無かったら、どうなってるか?と思うと怖いですね。
という感じで、ボロボロです。
もうご臨終じゃないですかね。
でも、もうすぐ2014版がでるんでしょうね。それまでは開発を放棄し、待機してるしかないですね。
てかMSの仕事って雑すぎるってだけの話なんですけどね。
そうでもなければ誰もWindows 9の話なんて耳を貸す訳がないですよね。
ただいま仕事にならない状況です。
次のWindowsの情報を検索してヒマつぶししております。 (世界中の大半のプログラマ
 
所感:
所詮セキュアにしようとすれば、内容の確認もできず、ロクなテストもできないのは当然。出来が悪いのは必然!
そこを頑張ってデバッグしてると思わぬところで天井が抜ける!セキュリティホールがアチコチで見つかる諸元なのだ!
つまり、セキュアにすればするほど、どんどんテスト不十分になり、とんでもない勢いでセキュリティホールが仕込まれていくのである。(証明終了




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA