Blazor

dotnet core 3.0のプレビュー版で、Blazorが使えるようになったので試してみる。
BlazorとはRazor記法とC#コードからWeb Assembly(専用Binayコードを実行する仕組み)を使用したWebアプリを生成するもの。

作成したアプリは、Web Assemblyをサポートするブラウザ上で実行可能である。IEを除いたメジャーなブラウザのほぼ全てで動作する。

簡単なコードを見てみよう。以下は、名前を入力して、ボタンをクリックすると、「ようこそ、[名前]さん。」と表示されるアプリ。RazorとC#を使用して作成している。なお、これらは全てクライアント(ブラウザ)上で動作する。

input type=”text”タグの値をC#上のyourNameと@bindで結びつけているため、ここに入力された値はボタンのクリックイベントが発生した時点でyourName変数に代入される。
ボタンのアクションには@onclickでC#のメソッドを指定している。(ここでは特に処理を子なっていないが・・・)
その下のif文で、入力があった場合は、メッセージを出力するようなコードとなっている。

@code {・・・}の部分はC#でロジックを書き込むところ。このページで使用するインスタンス変数や、イベントハンドラなどをコーディングする。

以下が、実行結果(Edgeで試した)

初期状態
名前を入力して、ボタンをクリック

簡単な例だが、javascriptを使用せずに、C#だけで書けるのはありがたい。なお、.NET Frameworkのライブラリも(どの程度かは分からないが)使用可能。
少なくとも、System.Net.Http.HttpClientは使用できた。
つまり、HTTPサーバと通信して、値を貰うようなアプリも作成できる。

HttpClientを使用した例

結構使えそうなので、正式版が出るのが待ち遠しい。

takezou について

ソフトウェア開発会社(ITと言う言葉は大嫌い)で働く、元技術者。 未だに、社内システム位は作ってますが・・・ プログラミング言語はC#が好き。 好きなことだけ拾って投稿しているので、内容にはあまり期待しないでねw
カテゴリー: Blazor, C#, 技術系 パーマリンク

Blazor への1件のコメント

  1. takezou のコメント:

    dotnet core 3では、サーバーサイドで処理を行う方式のみしかサポートされていない。
    実際にはWeb Assemblyじゃないのね。
    どうも、サーバサイドで実行した結果をSignalRを使用してブラウザとやりとりし、DOMの更新をしているらしい。
    dotnet core 3.1(Preview)ではWeb Assembly版も開発可能となっている。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください