前回、Blazor について簡単に触れました。Small Basic Online 自体が Blazor アプリケーションとなっています。今回は私自身もまだよく判っていないところもあるのですが、Blazor とは何かについて簡単にまとめてみたいと思います。
Blazor について調べてみるとまず jsakamoto さんの Slide Share のスライド C#でSingle Page Webアプリが開発できる「Blazor」が見つかりました。jsakamoto さんは Small Basic 1.0 向けの Excel や IE の拡張ライブラリを作られた方です。
一言で言えば Blazor はブラウザ上で動く SPA (Single Page Application) を作るための開発から実行までの環境です。SPA とはその名のとおり一つのページでさまざまな動作が可能なブラウザ上のアプリケーションです。Small Basic Desktop から発行したプログラムは IE(インターネットエクスプローラー)上の Silverlight というプラグインで実行できましたが、Small Basic Online ではエディタからコンパイラ、実行まで全てブラウザ上で行えます。
Blazor 以前の環境の SPA ではブラウザ上で JavaScript(や TypeScript)のプログラムが動いていました。Small Basic Online の初期のバージョンも TypeScript で動く仕組みでした。それが Blazor では C# でプログラムを記述できるようになりました。.NET の代表的な言語です。.NET の言語は Java のように中間言語にコンパイルされ、その中間言語が実行時に解釈されて動きますが、Blazor ではその中間言語をさらに、WebAssembly というブラウザ共通の実行コードで解釈し実行しているようです。
Blazor の表示は HTML と CSS をベースとしており、Small Basic Online ではグラフィックスとして SVG を利用しています。
Blazor は開発途中でしたが、実験段階を終え、公開プレビュー版となりました。間もなく正式版になるところです。