Blazorの生みの親が「Blazor United」発表。SPAとSSRを1つのBlazorに統合し、共通のソースコードで記述可能に

今回は「Blazorの生みの親が「Blazor United」発表。SPAとSSRを1つのBlazorに統合し、共通のソースコードで記述可能に」についてご紹介します。

関連ワード (正式版、設定、赤線等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


C#などの.NETテクノロジーを用いてWebアプリケーションの開発を可能にするフレームワークとして登場したのがマイクロソフトの「Blazor」です。

最初はWebAssemblyを用いてWebブラウザ上に.NETランタイムを実装し、その上でRazorコンポーネントを利用可能にすることで、C#によるWebアプリケーションがWebブラウザ上で実行できる「Blazor WebAssembly」の開発がスタートしました(下図左)。

その後、サーバサイドでも同じ.NETとRazorコンポーネントを用いてWebアプリケーションを開発できる「Blazor Server」の開発も始まりました(下図右)。

fig2

この2つのフレームワークは2020年に正式版としてそれぞれリリースされています。

そしてこの2つを統合しつつ、クライアントサイドレンダリングによるSPA(Single Page Application)とサーバサイドレンダリングによるHTML生成の利点を組み合わせたWebアプリケーションの構築ができる「Blazor United」を、Blazorの生みの親であるSteve Sanderson氏がYouTubeで発表しました。

fig

Webページの内容はそのまま、SSRからSPAへ簡単に変更

Sanderson氏が示したBlazor Unitedのデモの一部を見てみましょう。

Webブラウザ上でレシピサイトが表示されています。これはサーバサイドでページ全体がHTMLとして生成され、表示されています。

fig
fig

このHTMLを生成しているコードに、赤線で示されたストリームレンダリングの設定を追加し、ロード時に表示する「Loading recipes…」のif文があるコードを再コンパイル(それぞれ赤線で示す)。

fig

するとレシピ部分は動的にロードされるようになり、ロード中は「Loading recipes…」が表示されます。つまり、レシピ表示部分がクライアントサイドレンダリングになりました。

fig

このようにWebページのコンテンツを生成する部分のコードは共通するBlazorのコードとして利用可能なまま、そこをサーバサイドレンダリングにするのか、SPAのようなクライアントサイドレンダリングにするのかを柔軟に記述できるのがBlazor Unitedの特長として示されました。

ただしBlazor Unitedはまだ簡単に試せるパッケージも存在しないほど開発の初期段階にあるため、Sanderson氏は多くのフィードバックを求めているとしました。

SSRとCSR/SPAの統合は大きなトレンドか

Sanderson氏は、Blazor Unitedで実現しようとしているサーバサイドレンダリングとクライアントサイドレンダリングやSPAの利点を1つのフレームワークで実現しようとすることは、業界のトレンドだと説明しています。

Blazor Unitedがなぜ実現可能かと言えば、それはサーバサイドとクライアントサイドの両方のレンダリングが、Blazorという共通のフレームワークで可能であるからでしょう。

だからこそコンテンツのレンダリング部分のコードは共通し、それをクライアントで行うのか、サーバで行うのかを柔軟に選択できるようなコードが書けるのだと考えられます。

そして似たようなことがJavaScriptのフレームワークでも起きています。

Reactはもともとクライアントサイドのレンダリングフレームワークとして使われていましたが、Next.jsやGatsby、Remixなどサーバサイドレンダリングが可能なフレームワークでも使われています。

Denoが2月1日付けのブログで公開した記事「The Future (and the Past) of the Web is Server Side Rendering」は、こうしたサーバサイドレンダリングのフレームワークを用いつつ、インタラクティブな操作が必要な部分ではJavaScriptのコードをクライアントに送って実現することが、両者の利点を組み合わせたこれからのWebアプリケーションの姿ではないかと主張する内容でした。

Sanderson氏とDenoのブログは、Webのサーバとクライアントで共通のフレームワークを用いることで、柔軟にサーバサイドレンダリングとクライアントレンダリングの利点を組み合わせることが、これからのWebアプリケーションのトレンドになるという点で一致しています。

Webサイトは静的なHTMLから始まり、CGIによる動的なWebサイトからSPAによるインタラクティブなWebサイトを経て、その全ての利点をうまく組み合わせるというトレンドに入ってきたようです。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
マイクロソフト、「ASP.NET Core in .NET 8」正式版リリース。事前コンパイルにより、高速に起動する軽量なWebアプリケーションを実現
.NET
2023-11-15 13:23
屋内農業向け水質・土壌管理システムを手がけるデンマークのNordetectが約1.6億円調達
バイオテック
2021-03-22 20:55
ヘルメットなしで公道を走れる電動キックボード 姫路でも実証実験、市役所職員などが業務に利用
企業・業界動向
2021-08-14 19:30
「今日もシステムが落ちなかった、ありがとう」なんて言われたことのない運用者に光を! クラウド運用に焦点を当てたテックイベント、Cloud Operator Days Tokyo[PR]
PR
2021-07-14 11:59
「クラウドサイン」、マイナンバーカード署名機能とSMS認証機能を搭載へ
IT関連
2022-12-01 09:22
大規模言語モデルは犬の知性にも達していない–MetaのAI科学者ルカン氏
IT関連
2023-06-20 17:37
マルウェア研究30年–エフセキュアの最高リサーチ責任者が語ったセキュリティ脅威
IT関連
2021-06-30 16:58
Twitterの投げ銭機能、PayPalで支払うと相手に住所がバレる? Twitter社「送金アプリの規約に基づく」
ネットトピック
2021-05-09 05:51
LINEの個人情報問題、本当の“問題”はどこにあったのか (1/5 ページ)
IT関連
2021-03-25 06:33
ウィズセキュアの成長戦略–BtoBへの集中とSaaSモデルへの移行
IT関連
2022-06-11 08:52
東京都のDX推進は区市町村に浸透するか
IT関連
2022-09-16 06:13
Webカメラに指をかざすだけで本人確認 日立が非接触の静脈認証方式を開発
セキュリティ
2021-03-03 18:46
有機太陽電池をプリント、周囲の光をエネルギーに変えるDracula Technologiesの技術
EnviroTech
2021-06-12 07:48
「kintone」ガバナンスガイドライン、無料公開–企業ごとの「ガバナンスマップ」を
IT関連
2022-07-17 20:09