<< MapServerからODBCでSQLiteに接続する | top | Mono上でのインタフェース作成 >>

MonoでVB厨房のおろかさを思い汁

Visual Basicで、MapScriptを使うということに執着しているのは、MapScriptやGDAL/OGRの持つ豊富な便利な機能を手早く利用できることに、とても魅力を感じているからである。

Visual StuidoないしVisual Basic 2005 Express などに搭載されている、IntelliSense(インテリセンス)はコード補完機能であり、またオブジェクトブラウザは、クラスの構造をビジュアルに見れるとても便利な機能である。

この2つと、フォームエディターによるビジュアルなインタフェース作成と、それぞれの部品をダブルクリックしたり、エディター上で使用できるイベントを一覧から選ぶだけで、インタフェースと実行するコードを結びつけることができるため、さまざまなインタラクションを仕込むことがあまり苦にはならない故、RADツールとしてある程度のシェアを得ているのだと思っている。

ところで、bugnaの母艦はMacBookなので、MonoでMapScript(VB)Mac OS XでMapScript(VB)の用な記事を書いて、VBでMapScriptは、実はマルチプラットフォームでいけるぞ!、と言ってみたかったが、壁にぶち当たった。

それは、WindowsのVisual Basicによる開発と、Monodevelop上でのVBNCを利用した開発は、インタフェース作成という点が大きく違うということにいまさら気づいたのである。。。
bugnaはインハウスなVBプログラマーであるので、ハッカー諸氏のようなCやC++なども知らず、グラフィカルなインタフェースを作るのがいかに大変なのかを、全然知らなかった。

『VB=グラフィカルなインタフェースでシステム開発』という洗脳されている自分にやっと気づくという、情けなさをいま感じている。
グラフィカルなIDEなくしては開発がままなならないVisual Basicというものは、限定した条件の下で利用されるべきであろう。
VB厨房が、あれこれできないとか、.NET上では言語による性能差はない!などといろいろ言っても、格下な扱いにしかならないのは当然かもしれない。

Ubuntu や Mac OS XでMonoとVBNCとMonodevelopが動く環境を整備して、MapServerとMapScriptをコンパイルすれば、それぞれの環境上で、Visual BasicからMapScriptを利用することができる。ただ、MonoがいくらWindowsFormsをサポートしたといっても、Monodevelopでは、C#の開発環境からしか、Gladeを利用したグラフィカルなインタフェースエディターを利用することができない。
VB環境でも、Glade3インタフェースビルダーをMonodevelop内から起動することはできるが、
Gladeでボタンなどを配置したあと、イベント処理などを行うには、自分で設定しないといけない。たとえば、マウスボタンの、down/move/up/click/doubleclickなど、ユーザーが操作するであろう思いつくイベントなどを自分で設定しなければならない。

VBを利用した開発で便利だと思った、グラフィカルなユーザーインタフェース開発というのが、ここでひとつ躓いた。


もうひとつ、Monodevelop上で、C#を使っている場合は、コード補完機能が使える。これはとても便利で、MapScriptやGDAL/OGRのような豊富な機能を持つツールを利用する上でも、書かせない機能である。しかし、VB環境にしてしまうと、この機能も使うことができない。
で、ここでもうひとつ躓いた。

Visual Basicを利用するってことは、いろいろ難しいことを知らないでも使えるという、商業製品としてとてもいい特長を持っているけれども、システム開発をする人間が知らなくてはならないことへリーチすることを、著しく妨げていることをもっとよく知るべきだと思った。
bugna | mono | 11:05 | comments(0) | trackbacks(0) | - | - |
Comment









Trackback
URL:

05
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--