連載世界のWebサービス ― 究極のWebサービスを求めて ―第6回 ベータ2で加速するWebサービス田口景介 |
前回、Windows以外のプラットフォームに.NET Frameworkは移植されないのではないだろうか、と書いてしまったが、その後Corel社の協力を得てFreeBSDにCLI(Common Language Infrastructure。.NET Frameworkのサブセット)とC#、それにECMAScript(JScript)が実装されると発表された。ここで訂正しておきたい(参考資料: FAQ for the Microsoft Shared Source Implementation of C# and CLI Specifications)。
ところで、このニュースはFreeBSD上に.NETプラットフォームが実装されること以上の意味を持っている。FreeBSDへの実装と同時に、これらソフトウェアのソース・コードが本年年末をめどに公開されることが同時に発表されたからだ(ただしその時点ではベータ・クオリティとされている)。ライセンス形態について詳細は不明だが、できるだけ簡単に入手できるよう配慮するとされている。
.NET Frameworkを構成するAPIは、巨大なクラス・ライブラリと言ってよい。C++やJavaといったオブジェクト指向言語による開発の経験者ならば分かると思うが、ソースが公開されていないクラス・ライブラリを使って安定したコードを開発するのは極めて困難だ。クラス・ライブラリで定義されたクラスをサブクラス化するには、単純にAPIを呼び出す場合に比べて、より詳細な情報がなければ安定したコード開発は望めないからだ。サブセットとはいえ、.NET Frameworkのソース・コードが公開されれば、リファレンス・ドキュメントとは比べ物にならないほどの情報が得られるようになり、安心して.NETアプリケーションを開発できるようになるのは間違いない。どの程度の範囲が、どのようなライセンスで公開されるかはまだ分からないが、ひとまずはこの発表を歓迎したい。
ベータ2で大幅に修正された.NET Framework
既報「Tech・Ed 2001:VS.NETベータ2など、プログラマ待望の最新版.NET開発環境がついに登場」のとおり、Tech・ED 2001において.NET Framework ベータ2が公開された。すでにダウンロード可能となっているので、入手済みの読者も少なくないことだろう。そして、ダウンロードしたユーザーのほとんどは、その修正規模の大きさに驚いているのではないだろうか。
コンパイルし直すだけで動作するベータ1アプリケーションおよびサービスはほとんど皆無だ。なにしろWindowsフォームやWebサービスの根底を支える、ごく基本的なクラスからして変更が加えられている。例えば、ウィンドウベース・クライアント・アプリケーションのフレームワークとなるシステムのネームスペースはSystem.WinFormsからSystem.Windows.Formsへと変更された。また、Webサービスの通信を受け持つSystem.Web.Services.protocols.SoapClientProtocolクラスはSoapHttpClientProtocolクラスで置き換えられている。これらのネームスペースやクラスは、WindowsアプリケーションやWebサービスの開発にまず間違いなく用いられているものなので、ベータ1で開発したアプリケーションをベータ2で動作させるには、修正が必須となる。
このほかにも、Directory.GetFilesInDirectoryメソッド(指定したディレクトリ内のファイルを取得)がDirectory.GetFilesメソッドに、ImageFormat.JPEG(画像フォーマットとしてJpegを示すプロパティ値)がImageFormat.Jpegに変更されるなど、名称の変更が数限りなく行われている。さらに、FileクラスやDirectoryクラスのメソッドがすべてスタティックメソッド(Javaのクラスメソッドにあたる。インスタンスを必要としないメソッド)に置き換えられるなど、クラス構造から再設計されているクラスも少なくない。
ともかく、.NETアプリケーションの開発はベータ2から再出発ということだ。.NETが実装される最初のプラットフォームとなるWindows XPのリリースを今秋に控えていることもあって、ベータ1からベータ2に見られるような大規模な修正はこれ以降行われないとされているので、これでやっと腰を落ち着けて.NETに取り組む体制が整ったといえるだろう。
関連記事(Insider.NET内) | |
Insider's Eye
|
Tech・Ed 2001:VS.NETベータ2など、プログラマ待望の最新版.NET開発環境がついに登場 |
関連リンク | |
Microsoft
|
参考資料: FAQ for the Microsoft Shared Source Implementation of C# and CLI Specifications |
INDEX | ||
[連載]世界のWebサービス―― 究極のWebサービスを求めて ―― | ||
第6回 ベータ2で加速するWebサービス | ||
1.ベータ2対応Webサービスを使ってみる | ||
「世界のWebサービス」 |
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|