Learning Blazor
Build Single-Page Apps with Webassembly and C#
Paperback Engels 2022 1e druk 9781098113247Samenvatting
Take advantage of your C# skills to build UI components and client-side experiences with .NET. With this practical guide, you'll learn how to use Blazor WebAssembly to develop next-generation web experiences. Built on top of ASP.NET Core, Blazor represents the future of .NET single-page applications (SPA) investments.
Author David Pine, who focuses on .NET and Azure content development at Microsoft, explains how WebAssembly enables many non-JavaScript-based programming languages to run on the client browser. In this book, you'll learn about real-time web functionality with ASP.NET Core SignalR. You'll learn strategies for bidirectional JavaScript interop. David covers component data binding, hierarchical event-driven communications, in-memory state management, and local storage.
This book shows you how to:
- Create a feature-rich Blazor app that looks beautiful
- Localize an enterprise-scale app as the sole developer using GitHub Actions and Azure Cognitive Services Translator service
- Create advanced validation scenarios for input-based components with forms
- Automatically deploy and host to Azure Static Web Apps, and rely on HTTP services
- Utilize geolocation service native to the browser, as well as native speech synthesis and recognition
- Author a custom modal verification mechanism for validating a user
- Determine the best approach for building reliable, architecturally sound websites
Specificaties
Lezersrecensies
Inhoudsopgave
Why Blazor?
Who Should Read This Book
For .NET developers
For web developers
Why I Wrote This Book
How To Use This Book
Roadmap And Goals Of This Book
Conventions Used In This Book
Using Code Examples
O’Reilly Online Learning
How To Contact Us
Acknowledgments
1. Blazing Into Blazor
The Origin Of Blazor
Blazor Hosting
Blazor Server
Blazor WebAssembly
Blazor Hybrid
Single-Page Applications, Redefined
Why Adopt Blazor
.NET’s Potential In The Browser
.NET Is Here To Stay
Familiarity
Safe And Secure
Code Reuse
Tooling
Open-Source Software
Your First Blazor App With The .NET CLI
Build The App
Install Dev-cert
Run The App
The Code Must Live On
Perusing The “Learning Blazor” Sample App
Summary
2. Executing The App
Requesting The Initial Page
App Startup And Bootstrapping
Blazor WebAssembly App Internals
Detecting Client Culture At Startup
Layouts, Shared Components, And Navigation
Summary
3. Componentizing
Design With The User In Mind
Leveraging “Pwned” Functionality
Have I Been Pwned Client Services
Restricting Access To Resources
The Introduction Component Says “Hi”
The Joke Component And Services
Aggregating Joke Services — Laughter Ensues
Forecasting Local Weather
Summary
4. Customizing The User Login Experience
A Bit More On Blazor Authentication
Client-side Custom Authorization Message Handler Implementation
The Web.Client ConfigureServices Functionality
Native Speech Synthesis
Sharing And Consuming Custom Components
Chrome: The overloaded term
Modal Modularity And Blazor Component Hierarchies
Exploring Blazor Event Binding
Summary
5. Localizing The App
What Is Localization?
The Localization Process
The Language Selection Component
Automating Translations With GitHub Actions
Localization In Action
Summary
6. Exemplifying Real-time Web Functionality
Defining The Server-side Events
Exposing Twitter Streams And Chat Functionality
Writing Contextual RPC And Inner-Process Communication
Configuring The Hub Endpoint
Consuming Real-time Data On The Client
Configuring The Client
Sharing A Hub Connection
Consuming Real-time Data In Components
Summary
7. Using Source Generators
What Are Source Generators?
Building A Case For Source Generators
Evaluating TypeScript Declarations
C# Source Generators In Action
Source Generating The localStorage API
Source Generating The geolocation API
Example Usage of the ILocalStorageService
Summary
8. Accepting Form Input with Validation
The Basics Of Form Submission
Framework-provided Components For Forms
Models And Data Annotations
Defining Component Models
Defining And Consuming Validation Attributes
Implementing A Contact Form
Implementing Speech Recognition As User Input
Reactive Programming With The Observer Pattern
Managing Callbacks With A Registry
Applying The Speech Recognition Service To Components
Form Submission Validation And Verification
Summary
9. Testing All the Things
Why Test?
Unit Testing
Defining Unit Testable Code
Writing An Extension Method Unit Test
Component Testing
End-to-End Testing with Playwright
Automating Test Execution
Summary
A. Learning Blazor App Projects
Web Client
Web API
Pwned Web API
Web Abstractions
Web Extensions
Web HTTP Extensions
Web Functions
Web Joke Services
Web Models
Web Twitter Components
Web Twitter Services
About the Author
Rubrieken
- advisering
- algemeen management
- coaching en trainen
- communicatie en media
- economie
- financieel management
- inkoop en logistiek
- internet en social media
- it-management / ict
- juridisch
- leiderschap
- marketing
- mens en maatschappij
- non-profit
- ondernemen
- organisatiekunde
- personal finance
- personeelsmanagement
- persoonlijke effectiviteit
- projectmanagement
- psychologie
- reclame en verkoop
- strategisch management
- verandermanagement
- werk en loopbaan