Blazorをゼロから始める: 新シリーズ
しばらくの間、Blazorについて書いてきました — コンポーネントのライフサイクル、スコープ付きCSS、インタラクティビティモデル、認証。これらの記事はそれぞれ有用でしたが、いつも「土台」が欠けていると感じていました。Blazorとは何か、なぜ存在するのか、.NETエコシステムのどこに位置するのかをすでに知っていることを前提にしていたのです。そうでない人も多く、それはまったく構いません。
そこで新しいことを始めます:Blazorをゼロから。しっかりとしたシリーズで、基礎から構築し、自分が作っているものを本当に理解したい開発者を対象としています — 動くまでコピー&ペーストするだけでなく。
このシリーズの対象者
このシリーズは、以下に当てはまる方のためのものです:
- Blazorのことは聞いたことがあるが、深く掘り下げる時間や適切な出発点がなかった.NET開発者
- Blazorを試して動かしたことがあるが、なぜ動くのかを推測している感覚がある方
- JavaScript/React/Angular の世界から来て、Microsoftのモダンフロントエンドへの回答を理解したい方
- 散らばったドキュメントやブログ記事ではなく、一つのまとまったリソースが欲しい方
シニア開発者である必要はありません。ただし、C#の基礎 — クラス、インターフェース、async/await — に慣れている必要があります。ASP.NET CoreでシンプルなCRUD APIが書ければ、準備完了です。
カバーする内容
以下に計画している大まかなロードマップを示します。必要に応じていくつかのトピックは複数の記事に分かれることがあります:
- Blazorとは? — ホスティングモデル、歴史、従来のWeb開発との比較
- はじめてのBlazorアプリ — スキャフォールディング、プロジェクト構造、ローカル実行
- コンポーネント — すべてのBlazor UIの基本ブロック
- データバインディングとイベント — UIをリアクティブにする
- コンポーネント間の通信 — パラメーター、EventCallbacks、カスケード値
- ルーティングとナビゲーション — BlazorがURLとページ遷移を処理する方法
- 依存性の注入 — サービス、スコープ、BlazorのDIコンテナ
- フォームとバリデーション — EditForm、DataAnnotations、カスタムバリデーター
- HTTPと外部データ — BlazorアプリからAPIを呼び出す
- 認証と認可 — アプリを正しく保護する
- JavaScriptインターオップ — ブラウザに直接アクセスが必要な場合
- パフォーマンスと最適化 — 仮想化、遅延読み込み、レンダリング戦略
- Blazorコンポーネントのテスト — bUnitとしっかりしたテストの形
- デプロイ — Azure、IIS、静的ホストへの公開
このリストは進化します。いくつかのトピックは複数の記事に分割され、他のものはまとめられるかもしれません。シリーズの進捗に合わせてこの記事を更新し、公開時に各エントリへのリンクを追加します。
なぜシリーズを、なぜ今
Blazorはかなり成熟しました。.NET 8と9で、レンダリングモデルが大幅に刷新されました — 静的SSR、ストリーミングレンダリング、インタラクティブサーバー、インタラクティブWebAssembly、オートモードが同じ屋根の下に共存しています。本当に興味深く有能なフレームワークですが、複雑さの増大により、入門体験が戸惑いやすくなっています。
あなたがいる場所に合わせて出発し、全体を体系的に案内するリソースを作りたいと思っています。公式ドキュメントの代替ではありません — あれは良いものですし、読むべきです — が、「何」の背後にある「なぜ」を説明するコンパニオンとなります。
シリーズのフォロー方法
シリーズの各記事は単独で読めるほど自己完結していますが、互いに積み上げ式にもなっています。最初から始める場合は順番通りに読むことをおすすめします。特定のギャップを埋めるために参加する場合も大丈夫です — 重要な場合は前提となる記事へのリンクを貼ります。
各記事のコードはGitHubで公開します。進捗に合わせてリンクを共有します。
次の記事でお会いしましょう。