Thanks to WASM (WebAssembly) it is finally possible to create C# web applications, running exclusively in the browser. Microsoft created Blazor that, together with ASP.NET Core, allows you to write web application, Progressive web apps (PWA), (native) mobile and desktop applications.
Course description:
Blazor comes in two flavors: Server and Client side. The code for both flavors is generally the same, so the course will cover both flavors with examples and exercises. Because Blazor will be in development, the course always covers the latest version. But examples about past or future features will be in the material as well.
Course outline:
Module 1 - Introduction:
• Why use Blazor
• What is Blazor
• Difference between client-side and server-side Blazor
Module 2 - Getting Started:
• Installation and Tooling
• Project Setup
• Project Templates
• Bootstrap an App
Module 3 - Basic:
• Razor syntax
• Compile step
• HTML Head content
• Components
• Data Binding
• Conditional rendering
• List rendering
• Event Handling
• Styling with CSS
Module 4 - Multiple Components:
• Properties
• Required
• Default values
• Custom events
• Custom event args
• Support (at)bind-
• Keys
• Recursive Components
• Dynamically render Components
Module 5 - Forms:
• Form Controls and
• Input Validation
• Submit handling
Module 6 - Lifecycle:
• Component Lifecycle events
• Understanding and forcing updates
Module 7 - Dependency Injection:
• Singleton vs Transient
• Services
• State Management
Module 8 - Router:
• Layouts
• Routing
• Route Templates
• Fallback
• Route Parameters
• Route Constraints
• NavLink Component
• URI and Navigation State Helpers
Module 9 - DOM & JavaScript:
• Accessing JavaScript from Blazor
• Accessing Blazor from JavaScript
• Use native APIs
• JavaScript Initializers
• Render components from JavaScript
Module 10 - Fetch REST APIs:
• HTTP:
• Get
• Put
• Push
• Delete
Module 11 - Cascading Values and Parameters:
• Create and consume values
• Multiple values
• Callbacks
• State management
Module 12 - Templated Components:
• 1 or multiple slots
• Default values
Module 13 - Performance:
• Virtualized list
• ShouldRender lifecycle
• Prerender
Module 14 - Security:
• Authentication
• Authorization
• Handling UI appropriately
Module 15 - Miscellaneous (Covered alongside other topics):
• Error Boundaries
• Handling errors
• Debugging
• Testing
• Hosting & Deploying
• Serverside vs Clientside
Module 16 - Optional:
• Creating a Progressive Web App
Content is always updated to the latest released Blazor and .NET version.
Instructor: Rick Beerendonk
Rick is a senior consultant and trainer from The Netherlands. He has over 25 years of professional experience while working in small, large and fast growing organisations. His passion is simplicity, wellwritten code and team dynamics. He is specialised in front-end technologies and speaks regularly about these topics at international events.
Target audience:
Anyone who wants course about Blazor - Web Applications with C#
Prerequisites:
• Professional software developer with knowledge of C#. Some knowledge of web technologies like HTML and CSS is helpful.
• Course can be followed on both Mac and Window machines using Visual Studio Code or Visual Studio
Language:
• English course material, english speaking instructor
Course material:
The course material will have tens of examples of all the technologies used. Exercises are target to make the students think instead of being directed, to achieve better memorization. At the end of the course the students should be ready to independently start and maintain Blazor projects.