Insider's Eye
|
マイクロソフトの開発環境といえばVisual Studioだが、その一方で無償のASP.NET開発ツールである「ASP.NET Web Matrix(以降、WebMatrix)」が支持者を増やしている。このWebMatrixもマイクロソフトが開発したもので、マイクロソフトが初心者プログラマ向けに運営するWebサイト「プログラミング☆簡単レシピ」で大々的に取り上げられたことを始め、『ASP.NET Web Matrix日本語版入門』(葛西 秋雄著、ラトルズ発行)や『Web Matrixプログラム・パーツ集』(PROJECT KySS著、メディアテック出版発行)など、専門解説書もいくつか登場してきた。本@IT/Insider.NETフォーラムでも、Webアプリケーション開発初心者を対象に、「Web Matrixで始めるWebアプリ・プログラミング」という連載記事を公開したが、結果は非常に好評だった。無償でだれでも使える手軽なツールでありながら、かなり高機能で使い勝手もよいことが人気の秘密だと思われる。
無償のASP.NET開発ツール「ASP.NET Web Matrix」のIDE画面 |
無償ツールではあるが、機能やユーザー・インターフェイスは本格的である。 |
無償かつシンプルな操作性を持つWebMatrixは、ASP.NET Webアプリケーション開発のすそ野を広げた。読者の中にも、WebMatrixでASP.NET開発を学習したという人がいるかもしれない。
しかし、現在のようにWebMatrixが快適に日本語環境で使えるようになるまでには、通常の製品にはない困難な道のりがあった。マイクロソフトが販売するソフトウェアは、もとから国際化対応がなされており、言語設定を切り替えるだけで各国語環境に対応できるようになっている。しかし有償販売される製品ではなかったWebMatrixは、基本的に英語環境しか考慮されていなかった。また日本語化にあたっても、製品レベルの開発リソース(開発者)は投入されなかった。
しかし日本のWebアプリケーション開発者層を厚くするには不可欠なツールだと考え、本業とは別に、アフター5プロジェクトとしてWebMatrixの日本語化作業を買って出たマイクロソフトの社員がいた。今回ご紹介する鈴木 祐巳(まさみ)氏その人である。しかしその道のりは平坦ではなかった。極めつけは、WebMatrixが使う日本語フォント(Thoma乱筆フォント)を自身で作成したことだろう。
そこで今回、鈴木氏にWebMatrix日本語版の舞台裏について語っていただくことにした。WebMatrixはどのように開発されたのか。その裏事情を探っていこう(以下敬称略)。
―― 日本語版ASP.NET Web Matrixリリースに至る経緯を教えてください。
鈴木:まず始めに、英語版リリースから日本語版リリースまでに1年8カ月もかかってしまい、Webアプリケーションを開発している日本の皆様方に大変ご迷惑をおかけしたことをおわび申し上げます。これだけ時間がかかってしまったのは、この製品の生い立ちに大きく影響されています。米国ではwww.asp.netというWebサイトより提供していることからもご理解いただけると思いますが、WebMatrixは通常のマイクロソフト製品とはまったく異なるラインで作られた開発ツールなのです。 |
―― 具体的にはどういった生い立ちなのでしょうか?
鈴木:WebMatrixの生い立ちは、ASP.NETに大きく依存しています。WebMatrixはVisual Studio .NET(以降、VS.NET)のようなASP.NET向け開発ツールですが、WebMatrixはVS.NETの統合開発環境を開発しているチームが作ったものではありません。実は、ASP.NETを開発しているチームが中心となって開発されたものです。 |
―― 同一の部署でVS.NETやASP.NET、.NET Frameworkを開発しているのではないのですか?
鈴木:同一部署で開発していますが、VS.NETのIDEを開発しているグループと、.NET Frameworkを開発しているグループは異なります。ASP.NETの開発は.NET Frameworkの一部として行われています。もちろん、.NET Frameworkの開発でも、さらに細かくグループが分かれています。 |
―― ASP.NETの開発チームがWebMatrixを開発した目的は?
鈴木:もともとWebMatrixは、ASP.NETのサーバ・コントロール開発時に使用するテストのためのツールでした。当然ながらASP.NETのチームは、ASP.NETのWebサーバ・コントロールやHTMLサーバ・コントロールなどのサーバ・サイド・コントロールも開発しているわけですが、そのテスティングには、ASP.NETベースのテスト・アプリケーションを開発しなければならないですよね。そのときに、WebMatrixのオリジナルともいえるツールが使われていました。これは「Web Studio」と呼ばれていました。 |
―― ところで、ASP.NETアプリケーションの開発はテキスト・エディタでも可能ですよね?
鈴木:そのとおりです。Active Server Pages(ASP)もそうですが、ASP.NETのソース・コードはテキストですからエディタがあれば開発できます。 |
―― 以前のASPでは、実際にテキスト・エディタで開発されている人が多かったのではないかと思いますが。
鈴木:そうかもしれませんね。マイクロソフトの製品にもASP向けの統合開発環境として「Visual InterDev」という製品が存在していたのですが、残念ながら、実際には、テキスト・エディタを使っていた方が多かったと思います。
|
―― しかし、テキスト・エディタさえあれば開発が始められるというメリットもありましたよね?
鈴木:そのとおりです。ASPは、IISとテキスト・エディタさえあれば開発を始めることができました。実はASP.NETでもそれは変わりません。ASP.NETでは、VS.NETが必須だと思われている方がいらっしゃるようですが、実際にはASP.NETでも、IISとテキスト・エディタ、それらに加えて.NET Frameworkのランタイム(Windows Updateよりインストール可)があれば開発を始めることは可能です。 ただし、テキスト・エディタでのASP.NET開発は、マイクロソフトの意図している開発スタイルではありません。そのあたりの考え方がASPとASP.NETでは根本的に異なります。 確かに、ASPは画期的なテクノロジでした。ASPは1997年にIISのアドオンとしてリリースしたわけですが、当時主流であったCGI-PerlやISAPIインターフェイスを使ったWebサーバ・サイドの開発から考えれば、かなり先進的で、ASPで利用するスクリプト言語(VB Script/ECMA(Java)Script)の手軽さも手伝い、大きくWebのサーバ・サイド開発の敷居を下げることができたと思います。 開発言語という観点でいえば、ASP.NETではVisual Basic .NET(以降、VB.NET)やC#など、.NET Frameworkをサポートしている言語を利用することになります。しかし、それ以上にASPとASP.NETが異なるのは、HTMLを生成するまでのプロセスの考え方です。 ASPでは、プログラミングをする際に、最終的に出力されるHTMLをデベロッパーが意識する必要がありました。例えば、response.write("……")というメソッドや <%="……"%> というタグなど(いずれも「……」の部分の文字がHTMLとして出力される)が多く用いられ、HTMLタグを意識することが必然的に多かったと思います。 一方ASP.NETでは、ASP.NETが提供するサーバ・コントロールを利用すれば、HTMLタグを意識する必要がありません。そして、開発にVS.NETやWebMatrixを利用すれば簡単にサーバ・コントロールを扱うことができ、HTMLタグを1つも記述せずにWebアプリケーションを作ることも可能です。 ASP.NETでは、従来のASPとの互換性のための、response.write的なHTMLタグを直接意識するようなプログミング・モデルを採用することも可能です。しかし、それではASP.NETの長所を十分に生かせません。やはりASP.NETによる開発では、サーバ・コントロールを使って、Visual Basic(以降、VB)ライクなスタイルでプログラミングしていただきたいのです。 |
―― それが原因でVisual Studioが必要だと思われてしまうのですよね。
鈴木:そうですね。ただ、やはりASP.NETの長所を生かすためには、テキスト・エディタでは力不足で、何らかのツールが必要です。そこでWebMatrixのようなツールが必要になってくるのです。 |
―― なるほど。それで、テキスト・エディタの代替ツールとして、WebMatrixがより重要になってくるのですね。
鈴木:そうです。だからASP.NETの開発チームの有志たちは、「Web Studio」を社外でも利用していただけるようにと、アフター5プロジェクト的に「WebMatrix開発プロジェクト」を始動させたのです。WebMatrixの開発はWeb Studioを基に、本職終了後や休日などの余暇に行われたようです。それほど時間が割けるわけではないので、開発効率を高めるために、WebMatrixの開発には、C#と.NET Frameworkが利用されています(.NET Frameworkによる開発は、ネイティブなC++による開発よりも生産性が高いため)。 WebMatrixは、「.NET Frameworkの全特徴を利用している」といえるアプリケーションです。WebMatrix自体はWindowsアプリケーションですからWindowsフォームを利用し、データベースのサポートにはADO.NETを使っています。また、(英語版のWebMatrixの配布が行われている)www.asp.netに登録されているコンポーネントをダウンロードしてくるような機能がWebMatrixのIDEにあるのですが、そのインターフェイスにはASP.NETベースのXML Webサービスが利用されています。 このように、WebMatrixはすべてマネージ・コード、つまり、MSILによるアプリケーションです。それにしては、パフォーマンスがよいと思いませんか? |
INDEX | ||
Insider's Eye | ||
Web Matrix日本語版開発秘話 | ||
1.Web Matrixが誕生した経緯 | ||
2.Web Matrix日本語版の開発秘話 | ||
Insider's Eye |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|