Description
In this course, you will :
- Develop web applications using C# and Blazor
- Use Azure DevOps to deploy Blazor apps
- Create a Database using Entity Framework Core
- Create a user system that uses roles
Syllabus :
1. Introduction
- What is Blazor?
- Blazor WebAssembly
- Blazor Server-Side
- WebAssembly vs Server-Side
- Where Can I Use Blazor?
- Setting Up the Development Environment
2. Introduction to Razor
- Introduction to Razor
- Classes
- Loops
- Conditionals
- Markupstring
3. Components
- Introduction to Components
- Parameters
- Arbitrary Parameters
- Events
- Data Binding
- EventCallback
- RenderFragment
- Generic RenderFragment
- Life Cycle Methods of a Component
- Dependency Injection
- Services with Interfaces
- Partial Classes
- Layout
- Invoking JavaScript Functions From C#
- Invoking Static C# Methods from JavaScript
- Invoking Instance C# Methods from JavaScript
- JavaScript Isolation
- CSS Isolation
- Ref directive - Making References of Components
- Cascading Parameters
- Debugging Blazor WebAssembly Apps
- Timers and IDisposable
4. Routing
- Cleanup and UI Improvements
- Page Directive
- Exploring the App.razor File
- NavigationManager
- Route Params
- NavLinks
- Lazy Loading
5. Forms
- Building Our First Form - EditForm and InputText
- Validations with Data Annotations
- Updating Records
- Building a Movie Filtering Component
- Building a Person Form
- Component for Inserting Images
- Component for Markdown
- Building a Movie Form
- Building a Multiple Selector Component
- Building a Typeahead Component (autocomplete)
- Reordering Elements in a List
6. Communicating with the Back-End - HTTP - Entity Framework Core
- Exploring the HTTPClient Service
- Creating the Database
- Creating Genres
- Creating People
- Saving an Image in Azure Storage
- Alternative to Azure Storage - Local
- Creating Movies
- Reading Records
- Filters
- Movie Details
- Updating Genres
- Updating People
- Updating Movies
- Deleting Records
- Pagination - Back-End
- Pagination - Front-End
- Finishing the Movie Filter Component
- Key Attribute and the Diffing Algorithm
7. Security
- Exploring the Authentication State Provider
- AuthorizeView - Hiding UI Content for Anonymous Users
- Authorize - Protecting Our Components
- Reading the Authentication State from C#
- Configuring Identity - ASP.NET Core
- Building a Real Authentication State Provider
- Building Components for Register, Login and Logout
- Creating a Rating Component
- Providing Feedback with SweetAlert - Third Party Library
- Implementing Roles
- Renewing the JWT - Background Tasks
- Automatic Logout if User is Inactive
- What is IdentityServer4?
- Exploring the New Authentication Template for Blazor WebAssembly
- Migrating Our Application to IdentityServer4
- Adding Claims in IdentityServer4
- Sending the JWT through the HTTPClient
8. Deployment
- Deploying to Azure App Service
- Deploying to Azure App Service - IdentityServer4
- Deploying to Azure Storage
- Continuous Delivery with Azure DevOps
- Deploying to IIS - ASP.NET Core Hosted
- Deploying to IIS - Non ASP.NET Core Hosted
9. Sharing Code and Razor Class Libraries
- Sharing a Simple Component - Creating the Razor Class Library
- Accessing CSS and JavaScript files in RCLs
- Dependency Injection in a Shared Component
- Routable Components in Razor Class Libraries
- Passing Data to a Routable Component with Cascading Parameters
- Migrating our BlazorMovies Components into a RCL
10. Blazor Server and Dual-Architecture
- Reviewing Blazor Server
- Creating the Blazor Server App
- JavaScript in Blazor Server
- Dual-Architecture
- BlazorMovies app in Blazor Server
- Enabling Authentication
- Avoiding Firing OnInitializedAsync Twice
- Genres Entity
- People Entity
- Movies and Ratings Entity
- Users and Roles
- Deployment to Azure App Service
11. Internationalization
- Introduction to Internationalization
- Multi-Language Blazor WebAssembly
- Manually Changing the App's Language
- Dates and Numbers Formats - Culture-Dependent Data
- Culture and UI Culture
- Multi-Language Error Messages
- Internationalization in Blazor-Server