どうも。みむらです。
STEP_M の C# 移行を開始しました。
2ch の方で C++ において開発を進める方向の話も出ていましたが、
- メモリ管理の点において、安全なコードが書け、メモリリークが発生しない。
- プラグイン作成が、あらかじめ提供する Interface を継承して制作するだけでできる上、
構造上、独自拡張版や派生版が登場したとしても、オリジナルバージョンで利用できるプラグインが作れ、
プラグインを入れ子にして拡張するプラグインを作るにしても可能ということで、
かなりの拡張性が見込める。
- テキスト処理が簡単に書けて、いろいろなことができる。
- 端っからオブジェクト指向言語なので、テキスト処理やオブジェクト処理が後で見やすい、わかりやすい。
- Unicode ベースなので、多言語処理もできる。
- Visual Studio Express (無償版) でも開発が行える。
- 開発時の負担が減らせる。
- Mono Project の結果を利用すれば、Linux / Mac OSX でも走るかもよ!
というような点から、やはり C# での開発かな。ということになりまして、開発なう。です。
そして、XAML が結構使いづらいと考えていたのですが、使ってみたら使いやすい。
HSP と Win32API を使ってプログラムを作っていたこともあり、
可能な限りテキストベースで行ってもらった方がわかりやすいんですね。
XAML は XML ベース。
なっかなかに使いやすかったので、XAML での方向に進もうかと。
もちろん、XAML で書いたオブジェクトの動作を C# コードで書けて、
そこの部分の制御は Windows Form を使ったのとほぼ変わらないので、新たに覚え直す必要もなく。
問題は開発時間ですが、それはまぁ。暇を見つけてやりましょうやりましょう。ということで。
お絵かきソフトやら、メモ帳やら、やろうかなぁ。というやつはあるっちゃぁありますが、
C# + XAML がおもしろいので、こっちの開発に100%タスクを回しそうです。
ただ欠点ももちろんありまして、
- 動作可能OSが Windows XP 以降 (XAML 使わなければ、Win98 でも走るプログラムができるんですがねw)
- Windows XP では初回起動が遅い (.net framework の実行環境を立ち上げるため)
-> ユーザ側で ngen.exe であらかじめネイティブイメージを生成しておくと、初回から起動が速くなります。
- 動作全体がちょっと遅い
(.net のしょうがない点。多くの計算をする内容でなければ問題なし。)
まぁ、この辺は、C# でプログラムをいろいろと書いてはいますが、気にならない点ではないかと考えております。
そんな感じで、これからテスト版や制作中スクリーンショットなどを公開していきますが、
よろしく見守っていていただけたらと思います。
ではでは。そんな感じで。