« DLR上のVisual Basic | メイン | OPConnect May 2, 2007 »
After MIX, how many Visual Basic languages are there?
Paul VickがVBxとSilverlightに関してまとめていますので、要約します。
まず「VBxはVisual Basicの次のバージョンであって、新しいバージョンではない」こと。つまりこれはVBxがVBSやVBAのようにVBから枝分かれした似たような何かではないことを示しています。
「SilverlightはクロスプラットフォームなCLRであり、いくつかの制限があるので、デスクトップ用のCLRでコンパイルしたILのビットがそのまますべて動作するわけではない」こと。また「OrcasのVisual BasicコンパイラはSilverlight用のコンパイルはできない」ので、ライブラリ込みでSilverlightにコンパイルさせる必要があります。たとえば、誰かがMacでそのページにアクセスしに来たときには、Silverlghtのアプリケーションやそれで使用するライブラリをWebサーバー側でビルドしてやる必要があります。
Orcasを使わない別の方法としては、DLR上で動作させることを前提にコードを書き、ソースコードを直接Silverlightに送り込んでそれ自身に実行させる方法があります。できるだけ軽量のコードをクライアントサイドで実行させる方法で、従来のWEBクライアントアプリケーションのモデルに近い方法をとります。
VBxの一部はDLR上に気づき上げられたコンポーネントで、SilverlightはDLR言語をホスティングできるので、VBのコードをSilverlightのインスタンスに送って、それをダイナミックにコンパイルし、実行させることができます。したがってMacがそのWebページ来た場合、すべてのバイナリコードをMacに送る必要はなく、まさしくソースコードを送ることができます。もし、プログラムに対して何かしらの改修が必要な場合でも、ソースコードを修正して、WEBページをリフレッシュさせれば良いのです。
覚えておきたい重要なことは一つのVisual Basic言語であること、しかし、VBxがいったん登場するとそれを実行する一つ以上の方法を得ることができます。従来どおり、.DLLや.EXEにコードをコンパイルすることもできますが、それ以外のもっと軽量にCLRのインスタンスとしてコードをコンパイルして実行させる方法を持つことができます。これは面白いことになってきました・・・。
というわけで、これで「C#にしたほうがいいんですかね?」などという疑問を1グラムも持つ必要はありませんね!
このエントリーのトラックバックURL:
http://www.isisaka.com/blog/mt-tb.cgi/1872
コメント
コメントしてください