Mastering .NET Blazor:
A 5-Day Immersive Training with Razor as the key component
Welcome to our immersive .NET Blazor Training Program! Over the next four days, we will journey through the powerful capabilities of Blazor, a cutting-edge framework for building dynamic web applications with .NET. This course will not only cover Blazor's core functionalities, but also delve deeply into Razor, the templating language used to create Blazor components. Razor plays a crucial role in defining the structure and behavior of Blazor applications, enabling seamless integration of C# and HTML. By mastering both Blazor and Razor, you will be well-equipped to create robust and interactive web applications, harnessing the full potential of .NET's modern web development capabilities.
Learning Outcomes:
By the end of this training, participants will be able to:
- Grasp the fundamentals of Blazor and its architecture.
- Implement Blazor Server-Side Rendering (SSR) and enhance server interactivity.
- Develop a basic To-Do List application and enhance it by componentizing and adding interactive features.
- Deep dive into non-routable Razor components and understand their lifecycle.
- Navigate and manage state effectively within a Blazor application.
- Integrate Blazor WebAssembly for client-side interactivity.
- Implement data access for both SSR and WebAssembly interactivity.
- Apply authentication and authorization in a Blazor application.
- Utilize pre-rendering in Blazor for improved performance and SEO.
Prerequisites:
Participants should have:
- Solid understanding of .NET
- Skilled in C# programming.
- Skilled with web development concepts (HTML, CSS, JavaScript).
- Solid knowledge of Razor syntax and components.
- Access to a laptop with Visual Studio 22 installed.
- Administrative access to a test environment for hands-on exercises.
Training Outline:
- Prerequisites
- Razor Syntax and Basics: Introduction to Razor syntax, how to write and use Razor markup within HTML.
- Creating Razor Pages: How to create Razor Pages in an ASP.NET Core project.
- Page Models: Understanding the role of Page Models and how to use them to handle requests.
- Handling Requests and Responses: Working with GET and POST requests, form submission, and handling responses.
- Data Binding: Techniques for data binding in Razor Pages, including one-way and two-way binding.
- Using Tag Helpers: Introduction to built-in Tag Helpers and how to create custom Tag Helpers.
- Partial Views and Layouts: Creating and using partial views and layouts to structure your application.
- ViewData, ViewBag, and TempData: Managing data between the controller and the view.
- Client-Side Integration: Integrating client-side libraries like jQuery and using JavaScript within Razor Pages.
- Validation and Forms: Implementing form validation using Data Annotations and the Validation Tag Helper.
- Routing: Understanding routing in Razor Pages and configuring custom routes.
- Blazing the Trail: Introduction to Blazor
- Unveiling Blazor's Potential
- Blazor Architecture and Hosting Models
- Setting Up Your Development Environment
- Crafting Your First Blazor Project
- Server-Side Marvels: Blazor SSR (Server-Side Rendering)
- The Magic of Blazor SSR
- Configuring a Blazor Server Project
- Server-Side Component Rendering
- SSR: Pros and Cons
- Interactive Wonders: Adding Server Interactivity
- Event Handling in Blazor Server
- Forms and Validation Mastery
- Real-time Updates with SignalR
- Data Binding on the Server
- Project Genesis
- Project Kickoff and Requirements
- Setting Up Your To-Do List App
- Creating and Managing To-Do Items
- Implementing Basic CRUD Operations
- Component Mastery: Non-Routable Razor Components
- The World of Non-Routable Components
- Crafting and Utilizing Non-Routable Components
- Passing Parameters and Managing State
- Component Communication Techniques
- Project Evolution
- Refactoring Your To-Do List App
- Creating Reusable Components
- Enhancing Component Interactions
- Elevating User Experience
- Lifecycle Insights: Component Lifecycle Deep-Dive
- Unraveling Component Lifecycle Methods
- Initialization and Parameter Setting
- Handling State Changes and Events
- Cleanup and Disposal Best Practices
- Navigational Artistry: Routing and Navigation Deep-Dive
- Mastering Blazor Routing Configuration
- Creating and Navigating Pages
- Route Parameters and Constraints
- Redirection and Navigation Guards
- Statecraft: State Management Deep-Dive
- The Essentials of State Management in Blazor
- Managing State with Services
- Implementing State Containers
- Preserving State Across Navigations
- Client-Side Magic: WebAssembly Interactivity
- Exploring Blazor WebAssembly
- Setting Up a Blazor WebAssembly Project
- Comparing SSR and WebAssembly
- Implementing Client-Side Interactivity
- Server-Side Savvy: Data Access for SSR and Server Interactivity
- Data Access Strategies for Blazor SSR
- Connecting to Databases
- Using Entity Framework Core
- Implementing Data Services
- Client-Side Savvy: Data Access for WebAssembly Interactivity
- Fetching Data in Blazor WebAssembly
- Consuming REST APIs
- Handling HTTP Requests and Responses
- Managing Client-Side Data Storage
- Secure Horizons: Authentication and Authorization
- Implementing Authentication in Blazor
- Utilizing ASP.NET Core Identity
- Role-Based and Policy-Based Authorization
- Protecting Routes and Components
- Speeding Ahead: Pre-Rendering in Blazor
- The Power of Pre-Rendering
- Configuring Pre-Rendering in Blazor SSR
- Performance and SEO Benefits
- Handling Pre-Rendered Content
- Interactive Learning: Q&A and Hands-On Lab Sessions
- Engaging Q&A Sessions
- Hands-On Exercises and Labs
- Practical Implementation Scenarios
- Participant Feedback and Discussion
This engaging and detailed outline ensures comprehensive coverage of Blazor's key features, providing participants with both theoretical knowledge and practical skills to build sophisticated web applications.
Practical, connected learning
My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.