編集部からのお知らせ
Topic 本人認証の重要性
宇宙ビジネスの記事まとめダウンロード

マイクロソフト、「C# 9.0」の計画示す--「Blazor WebAssembly」正式版もリリース

Liam Tung (ZDNet.com) 翻訳校正: 編集部

2020-05-22 11:15

 Microsoftが「Build 2020」で発表した「.NET」関連のニュースのなかには、.NETチームによる同社のプログラミング言語「C#」の計画や、「Blazor WebAssembly」の正式版リリースが含まれている。

 同社のC#リードデザイナーであるMads Torgersen氏によると、「C# 9.0」は「一般的なコーディングシナリオでのより高い明確さとシンプルさ」を追求しているという。しかし今回のリリースでは「データ形状に関する簡潔な、かつ不変性を備えた表現のサポート」に特に注力しているという。

 C#は、MicrosoftのテクニカルフェローであるAnders Hejlsberg氏によって生み出された言語であり、2000年代初頭にリリースされた。なおHejlsberg氏は、大規模アプリケーション向けにJavaScriptの拡張言語として普及している「TypeScript」の生みの親として知られている。

 C# 9.0のプレビュー版は、「C# 8.0」のリリースから1年を待たずにリリースされたことになる。C# 8.0は、「F# 4.7」とともに「.NET Core 3.0」に同梱されるかたちで、2019年に「Visual Studio 2019」とともにリリースされた。

 データ形状に関する簡潔な、かつ不変性を備えた表現に向けた取り組みは、オブジェクト生成時に各プロパティーの値を代入するためのオブジェクト初期化子(initializer)に焦点を当てたものとなっている。まずTorgersen氏は、現時点での制約として、オブジェクト初期化子はその機能を果たす上で、プロパティーが変更可能(mutable)となっていなければならないと次のコードを引用しながら説明している。

new Person

{

FirstName = "Scott",

LastName = "Hunter"

}

public class Person

{

public string FirstName { get; set; }

public string LastName { get; set; }

}

 同氏は「初期化子はまずオブジェクトのコンストラクター(デフォルトコンストラクター、すなわちパラメーターのないコンストラクター)を呼び出した後、プロパティーのセッターに対する代入処理を実行することで機能する」と説明している。

 同氏は以下のコードを示し、「init-onlyプロパティーがこの問題を解決することになる!今回、initアクセサーを導入した。これはオブジェクトの初期化中にのみ呼び出せる、一種のsetアクセサーだ」と付け加えている。

public class Person

{

public string FirstName { get; init; }

public string LastName { get; init; }

}

 またTorgersen氏は、個々のプロパティーに不変性を与える際にもinit-onlyプロパティーが有効であると示唆している。同氏はこの他にも、C# 9.0で導入されたwith式で不変データのサポートが向上する点などを解説している。

 .NETとC#に関連して、Blazor WebAssemblyを公式にリリースしたというニュースもある。Blazor WebAssemblyは、Progressive Web Apps(PWA)とも呼ばれる、従来のデスクトップアプリのように動作するブラウザーアプリを開発するためのC#や.NET開発者向けのフレームワークであり、これまではプレビュー段階にあった。

 ASP.NETのプリンシパルプログラムマネージャーDaniel Roth氏は「Blazor WebAssembly 3.2.0」のリリースを発表し、「十分な機能を備え、サポートされたリリースで、本番での利用に対応できる」と述べている。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

ホワイトペーパー

新着

ランキング

  1. クラウドコンピューティング

    MITスローン編著、経営層向けガイド「AIと機械学習の重要性」日本語版

  2. クラウドコンピューティング

    AWS提供! 機械学習でビジネスの成功を掴むためのエグゼクティブ向けプレイブック

  3. クラウドコンピューティング

    DX実現の鍵は「深層学習を用いたアプリ開発の高度化」 最適な導入アプローチをIDCが提言

  4. セキュリティ

    ランサムウェアを阻止するための10のベストプラクティス、エンドポイント保護編

  5. セキュリティ

    テレワークで急増、リモートデスクトップ経由のサイバー脅威、実態と対策とは

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]