より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

Blazorは、まず楽しめばいい

Blazorは、WebAssemblyという仕組みを用いて、C#のコードをブラウザ上で動作するフレームワークです。

Blazorの発表のために昨年夏にとある勉強会に参加したのですが、発表者の方が欠席となってしまい、聞くことが出来ませんでした。

それから.NET ConfなどのMicrosoftのイベントでこのBlazor関する情報は得ていたのですが、実際に、手を動かしてませんでした。

ふと、下記のチュートリアルを実際に動かしてみることにしました。

Build your first Blazor app

英語ですが、プログラムがわかるなら、なんとかなります。

f:id:rimever:20190115210116p:plain

.NET Coreのコマンドラインを使えば、たった4行ですぐにサンプルアプリケーションが生成されます。

chrome で.dllがインストールされるのを確認します。

f:id:rimever:20190115215806p:plain
Microsoftの井上さんが、何度かこんなデモをしていたのを思い出します。

修正後の対応

cshtmlファイルを編集しても再ビルド必要なのか、と。

というのもASP.NET MVCではサーバーサイドのクラスの処理などについてはビルドが必要ですが、 ViewとなるRazorの.cshtmlファイルの修正についてはいちいちビルドせずとも、ブラウザを再読み込みすれば修正が反映されます。

ですので、ここは、おや?と思うところはありました。

もちろん、クライアント側のページ再読み込みも必要です。

対応ブラウザ

私が試したところ、 IE11は途中で進まなくなってしまいました。

EdgeとChromeは大丈夫でした。

新しいWeb開発を体験して欲しい

そもそもBlazorは何をもたらしたいのだろうと考えてみると、C#だけでWeb開発が出来るということ。

Java,Ruby,Go,Pythonなど様々な言語の中でどれが良いのかと議論されたりもしますが、Web開発をする上ではjavascriptなしには語れません。

そのjavascriptなしで、Webが開発出来る。やはり、これは斬新なことだなと。

www.publickey1.jp

C#の仕事をしている人は、デスクトップアプリを開発する方が多いため、そういった人がWebアプリケーション開発に少ない学習量でシフトするための道を作りたいのかなとも思ったりします。

ともあれ、今回、Blazorのチュートリアルをやってみて、一番私が強調したい点は、

開発していて楽しかった!!!

ということです。

  • オンプレ時のデプロイ方法はどうするの?
  • 同じ.NET Core Versionでなくても大丈夫なの?
  • 既存のjavascriptライブラリとの共存は出来ないの?
  • 使うとしてもゲームとかの分野じゃない?
  • 結局、流行らないんでしょう?

とかこんな闇が心の中で渦めく中でチュートリアルを進めていたのですが、サクサク実装出来てしまい楽しんでしまいました。

ASP.NET MVCのRazorというアーキテクチャが私が好きだから、特にそう感じたのかもしれません。

VBの対応については考えておらず、現在C#のみをターゲットに進めているようですし、こうしたWeb開発体験が出来るのはC#だけです。

新鮮な感覚で、このBlazorに触れることができました。

興味を持った方は、あれこれ調べるだけで、評論家で終わってしまわないでください。

チュートリアルを実際にやって、このBlazorという新しいWeb開発を一度体験していただきたい! 

せっかく、C#にこうしたアーキテクチャが与えられたんだから、ハナっから芽を摘まずに温かく見守ろうじゃないかというのが私の感想です。