見出し画像

BlazorのUIコンポーネントにRadzenを選んだ理由


はじめに

Microsoftが2019年にBlazor Serverをリリースしてから、Blazor WebAssembly、Blazor Hybridなど進化が今でも続いております。


以前までのC#はWindowsアプリケーションのみで活躍しておりましたが、BlazorもC#で開発することができるため、C#を扱うエンジニアがWEBやモバイルといった分野まで活躍できるようになりました。

今回ご紹介させて頂くのは、現在開発中のBlazor Serverで使用しているUIコンポーネントについて、選定理由などをご説明させて頂きます。

UIコンポーネントとは

UIコンポーネントとは、ユーザーインターフェース(UI)を作るためのミドルウェアを指します。UIコンポーネントを使用することで、モダンな見た目や機能のUIを効率的に開発することができます。

実際にBlazorのサンプルページにUIコンポーネントを適用すると以下のようになります。

サンプルページではテーブルを入力可能なデータグリッドに変更しただけになりますが、簡単にモダンなUIを作成することができます。

UIコンポーネントの種類

BlazorのUIコンポーネントは以下のようなものがあります。

BootstrapBlazor (デモサイト:https://www.blazor.zone/
Ant Design Blazor (デモサイト:https://antblazor.com/)
・MudBlazor
 (デモサイト:https://mudblazor.com/)
・Radzen.Blazor
 (デモサイト:https://blazor.radzen.com/
MASA Blazor (デモサイト:https://docs.masastack.com/)
・MatBlazor
 (デモサイト:https://www.matblazor.com/)
・Blazorise
 (デモサイト:https://blazorise.com/)
・BlazorFluentUI
 (デモサイト:BlazorFluentUI

数多くのUIコンポーネントから、以下のような基準で選定しました。

  • コンポーネント数が多い

  • 利用者数が多い

  • 更新頻度が高い

  • ドキュメントが充実している

  • 学習コストが高くない

Syncfusion Blazor UI Components や、ComponentOne Blazor UI Components などの有償UIコンポーネントもありますが、初版リリース向けUIコンポーネントの選定のため今回は除外しております

上記の基準に沿ったUIコンポーネントをAnt Design Blazor、MudBlazor、Radzen.Blazorの3つに絞り込み、最終的にRadzen.Blazorを選びました。

Radzen.Blazorを選んだ理由

ドキュメントやサンプルが充実している

こちらが1番の理由となりますが、現在の開発メンバーはWindowsアプリケーション開発者が多く、Blazorを扱ったことがある人がほとんどいないため、ドキュメントが充実していることが重要でした。
その点、Radzen.Blazorでは公式ドキュメントで1つのコンポーネントに対して複数のチュートリアルが用意されていたり、https://github.com/radzenhq/radzen-examples などで数多くのサンプルアプリケーションが用意されているため、初学者にとても配慮されていると感じました。
公式のDataGridだけで50を超えている・・・

また、有償ではありますが、Radzen Blazor Studio という総合開発環境も用意されているため、開発者がより効率的に設計・構築できる環境が整っております。

視覚的なUIコンポーネント数が多い

HTMLのinputタグに対してCSSスタイルを適用したものだけでなく、Schedulerや、数多くのChartなど、様々なUIコンポーネントが用意されております。
もちろん、内容によっては独自で作成する必要があると思いますが、基本的なUIコンポーネントは揃っているため開発コストが削減できると感じました。

CSSスタイルテーマが多い

Ant Design Blazorは独自のフラットデザインとなっており、MudBlazorはマテリアルデザイン2のスタイルテーマとなっております。しかしながら、Radzen.Blazorは有償も含めて14のスタイルテーマが用意されており、フラット・マテリアル2/3など用途にあわせて変更することが可能なため、デザインの自由度が高いと感じました。

さいごに

今回はRadzen.Blazorを選定した背景についてご紹介させて頂きましたが、他のUIコンポーネントも機会があれば活用してみたいと思います。
また、今後もBlazorの内容を発信していきますので、よろしくお願いいたします。


執筆者プロフィール
田中 慎吾

フリーランスエンジニアです。組み込み/オープン/WEB/インフラなどフルスタックエンジニアとして活動しています。


いいなと思ったら応援しよう!