E-book details

Platforma Blazor. Praktyczny przewodnik. Jak tworzyć interaktywne aplikacje internetowe z C# i .NET 7. Wydanie II

Platforma Blazor. Praktyczny przewodnik. Jak tworzyć interaktywne aplikacje internetowe z C# i .NET 7. Wydanie II

Jimmy Engström

Ebook

Do niedawna tworzenie interaktywnych stron internetowych wymagało programowania w JavaScripcie. Obecnie można się posłużyć platformą Blazor, która umożliwia efektywne tworzenie dynamicznych aplikacji internetowych opartych na technologii .NET i kodzie C#. Jeśli chcesz za pomocą Blazora tworzyć złożone aplikacje i wdrażać je w środowisku produkcyjnym, musisz dobrze poznać zasady pracy z tą platformą.

Oto praktyczny, przystępnie napisany przewodnik, który stanowi wprowadzenie do pracy z technologią Blazor. Opisuje możliwości modeli Server i WebAssembly, przedstawia także krok po kroku proces powstawania aplikacji internetowej. Dzięki temu płynnie przejdziesz do tworzenia projektów Blazor, nauczysz się składni języka Razor, będziesz też weryfikować zawartość formularzy i budować własne komponenty. W tym wydaniu omówiono również generatory kodu źródłowego i zasady przenoszenia komponentów witryn utworzonych w innych technologiach do platformy Blazor. W trakcie lektury dowiesz się, jak tworzyć uniwersalne aplikacje za pomocą wersji Blazor Hybrid wraz z platformą .NET MAUI.

Z tą książką nauczysz się:

  • tworzenia prostych i zaawansowanych komponentów Blazor
  • właściwego stosowania projektów Blazor Server i Blazor WebAssembly
  • pisania interfejsów Minimal API
  • korzystania z interoperacyjnych bibliotek JavaScript zawartych w platformie Blazor
  • diagnozowania aplikacji Blazor
  • testowania komponentów Blazor za pomocą biblioteki bUnit

Poznaj przenośność i moc platformy Blazor!

O autorze

O recenzentach

Przedmowa

Wprowadzenie

Rozdział 1. Witaj, Blazor!

  • Wymagania techniczne
  • Dlaczego Blazor?
  • Poprzednicy platformy Blazor
  • Model WebAssembly
  • Wprowadzenie do platformy .NET 7
  • Wprowadzenie do platformy Blazor
    • Blazor Server
    • WebAssembly
    • Blazor WebAssembly kontra Blazor Server
    • Blazor Hybrid/.NET MAUI
  • Podsumowanie
  • Dalsza lektura

Rozdział 2. Utworzenie pierwszej aplikacji Blazor

  • Wymagania techniczne
  • Przygotowanie środowiska programistycznego
    • Windows
    • macOS
    • Linux (macOS lub Windows)
  • Utworzenie pierwszej aplikacji Blazor
    • Szablony projektów
    • Utworzenie aplikacji Blazor Server
    • Utworzenie aplikacji Blazor WebAssembly
  • Korzystanie z wiersza poleceń
    • Utworzenie projektu
  • Struktura projektu
    • Program.cs
    • Index/_Host
    • App
    • MainLayout
    • Bootstrap
    • CSS
  • Podsumowanie

Rozdział 3. Udostępnianie kodu i zasobów

  • Wymagania techniczne
  • Utworzenie magazynu danych
    • Utworzenie nowego projektu
    • Utworzenie klas danych
    • Utworzenie interfejsu
    • Zaimplementowanie interfejsu
  • Utworzenie interfejsu API
  • Podsumowanie

Rozdział 4. Podstawowe komponenty platformy Blazor

  • Wymagania techniczne
  • Informacje o komponentach
    • Komponent Counter
    • Komponent FetchData
  • Składnia Razora
    • Bloki kodu
    • Wyrażenia niejawne
    • Wyrażenia jawne
    • Kodowanie wyrażeń
    • Dyrektywy
  • Wstrzykiwanie zależności
    • Singleton
    • Obiekt zakresowy
    • Obiekt przejściowy
    • Wstrzykiwanie usługi
  • Miejsca umieszczania kodu
    • Plik .razor
    • Klasa częściowa
    • Klasa pochodna
    • Osobny plik
  • Zdarzenia w cyklu życia komponentu
    • Metody OnInitialized i OnInitializedAsync
    • Metody OnParametersSet i OnParametersSetAsync
    • Metody OnAfterRender i OnAfterRenderAsync
    • Metoda ShouldRender
  • Parametry komponentu
    • Parametry kaskadowe
  • Utworzenie pierwszego komponentu
    • Utworzenie biblioteki komponentów
    • Wykorzystanie biblioteki komponentów
    • Utworzenie komponentu
  • Podsumowanie

Rozdział 5. Tworzenie zaawansowanych komponentów Blazora

  • Wymagania techniczne
  • Wiązanie danych
    • Wiązania jednokierunkowe
    • Wiązanie dwukierunkowe
  • Akcje i struktura EventCallback
  • Metoda RenderFragment
    • Fragment ChildContent
    • Wartość domyślna
    • Utworzenie komponentu alarmu
  • Nowe wbudowane komponenty
    • Ustawianie fokusu na elementach interfejsu graficznego
    • Modyfikowanie sekcji <head>
    • Wirtualizacja komponentów
    • Granice błędów
  • Podsumowanie

Rozdział 6. Tworzenie formularzy z weryfikacją danych

  • Wymagania techniczne
  • Elementy formularza
    • EditForm
    • InputBase
    • InputCheckbox
    • InputDate
    • InputNumber
    • InputSelect
    • InputText
    • InputTextArea
    • InputRadio
    • InputRadioGroup
    • InputFile
  • Implementacja weryfikacji poprawności danych
    • Komponent ValidationMessage
    • Komponent ValidationSummary
  • Niestandardowe klasy stylów weryfikacji
  • Wiązanie danych
    • Wiązanie danych w elementach HTML
    • Wiązanie danych w komponentach
  • Utworzenie interfejsu administracyjnego
    • Wyświetlanie i edytowanie kategorii
    • Wyświetlanie i edytowanie tagów
    • Wyświetlanie i edytowanie wpisów
  • Podsumowanie

Rozdział 7. Tworzenie interfejsu API

  • Wymagania techniczne
  • Utworzenie usługi
    • Implementacja dostępu do danych
    • Minimalistyczny interfejs API
    • Utworzenie kontrolerów API
  • Utworzenie klienta
  • Podsumowanie

Rozdział 8. Uwierzytelnianie i autoryzacja

  • Wymagania techniczne
  • Implementacja uwierzytelniania użytkowników
    • Konfiguracja aplikacji Blazor Server
  • Uwierzytelnianie w aplikacji Blazor Server
  • Uwierzytelnianie w aplikacji Blazor WebAssembly
    • Dostosowanie usługi Auth0
  • Uwierzytelnianie w interfejsie API
    • Konfiguracja usługi Auth0
    • Konfiguracja interfejsu API
  • Implementacja autoryzacji
    • Konfiguracja ról w usłudze Auth0
    • Implementacja ról w aplikacji Blazor Server
    • Implementacja ról w aplikacji Blazor WebAssembly
  • Podsumowanie

Rozdział 9. Udostępnianie kodu i zasobów

  • Wymagania techniczne
  • Pliki statyczne
    • Wybór platformy
    • Tworzenie stylu
    • Dodanie stylów CSS do projektu BlazorServer
    • Dodanie stylów CSS do projektu BlazorWebAssembly
    • Ulepszenie interfejsu administracyjnego
    • Ulepszenie menu
    • Dostosowanie wyglądu bloga
  • Izolacja stylów CSS
  • Podsumowanie

Rozdział 10. Interakcja z JavaScriptem

  • Wymagania techniczne
  • Dlaczego potrzebny jest kod JavaScript?
  • Odwołania z C# do JavaScriptu
    • Tryb globalny
    • Tryb izolowany
  • Odwołania z JavaScriptu do C#
    • Wywołanie metody statycznej
    • Wywołanie metody instancji
  • Wykorzystanie istniejącej biblioteki JavaScript
  • Interakcja z JavaScriptem w aplikacji Blazor WebAssembly
    • Wywoływanie kodu JavaScript w kodzie C#
    • Wywoływanie kodu C# w kodzie JavaScript
  • Podsumowanie

Rozdział 11. Zarządzanie stanem - część II

  • Wymagania techniczne
  • Przechowywanie danych po stronie serwera
  • Przechowywanie danych w adresie URL
    • Restrykcje ścieżek
    • Kwerendy
    • Mniej typowe przypadki
  • Przechowywanie danych w pamięci przeglądarki
    • Utworzenie interfejsu
    • Implementacja interfejsu w aplikacji Blazor Server
    • Implementacja interfejsu w aplikacji Blazor WebAssembly
    • Wspólny kod
  • Przechowywanie danych w usłudze kontenera stanu w pamięci
    • Aktualizacje na bieżąco w aplikacji Blazor Server
    • Aktualizacje na bieżąco w aplikacji Blazor WebAssembly
  • Podsumowanie

Rozdział 12. Debugowanie kodu

  • Wymagania techniczne
  • Wprowadzanie błędów
  • Debugowanie aplikacji Blazor Server
  • Debugowanie aplikacji Blazor WebAssembly
  • Debugowanie aplikacji Blazor WebAssembly w przeglądarce
  • Przeładowywanie kodu na gorąco
  • Podsumowanie

Rozdział 13. Testowanie

  • Wymagania techniczne
  • Co to jest bUnit?
  • Przygotowanie projektu testowego
  • Imitowanie interfejsu API
  • Tworzenie testów
    • Testowanie uwierzytelniania użytkowników
    • Testowanie JavaScriptu
  • Podsumowanie

Rozdział 14. Wdrażanie w środowisku produkcyjnym

  • Wymagania techniczne
  • Ciągłe dostarczanie oprogramowania
  • Opcje hostingu
    • Hosting Blazor Server
    • Hosting Blazor WebAssembly
    • Hosting IIS
  • Podsumowanie

Rozdział 15. Migracja i integracja istniejącej witryny

  • Wymagania techniczne
  • Web Components
  • Custom Elements
  • Komponent Blazora
  • Wykorzystanie platformy Blazor w witrynie Angular
  • Wykorzystanie platformy Blazor w witrynie React
  • Wykorzystanie platformy Blazor w witrynie MVC/Razor Pages
  • Wykorzystanie komponentów Web Components w witrynie Blazor
  • Migracja z Web Forms
  • Podsumowanie

Rozdział 16. WebAssembly od środka

  • Wymagania techniczne
  • Narzędzia kompilacyjne .NET WebAssembly
  • Kompilacja AOT
  • WebAssembly SIMD
  • Przycinanie kodu
  • Leniwe ładowanie kodu
  • Aplikacje PWA
  • Natywne zależności
  • Typowe problemy
    • Wskaźnik postępu
    • Wstępne renderowanie na serwerze
    • Wstępne ładowanie strony i zapisywanie stanu aplikacji
  • Podsumowanie

Rozdział 17. Generatory kodu źródłowego

  • Wymagania techniczne
  • Czym są generatory kodu?
  • Pierwsze kroki z generatorem
  • Projekty społeczności
    • InterfaceGenerator
    • Blazorators
    • Generatory kodu C#
    • Przykłady Roslyn SDK
    • Microsoft Learn
  • Podsumowanie

Rozdział 18. Wprowadzenie do .NET MAUI

  • Wymagania techniczne
  • Co to jest .NET MAUI?
  • Utworzenie projektu
    • Aplikacja platformy .NET MAUI
    • Biblioteka klas platformy .NET MAUI
    • Aplikacja platformy .NET MAUI Blazor
  • Szczegóły szablonu
  • Uruchamianie aplikacji w systemie Android
    • Uruchomienie aplikacji na emulatorze
    • Uruchomienie aplikacji na fizycznym urządzeniu
  • Uruchamianie aplikacji w systemie iOS
    • Gorący restart
  • Uruchamianie aplikacji w systemie macOS
  • Uruchamianie aplikacji w systemie Windows
  • Uruchamianie aplikacji w systemie Tizen
  • Podsumowanie

Rozdział 19. Dalsze kroki

  • Wymagania techniczne
  • Doświadczenia w uruchamianiu aplikacji Blazor w środowisku produkcyjnym
    • Problemy z pamięcią
    • Problemy z wielowątkowością
    • Błędy
    • Stare przeglądarki
  • Dalsze kroki
    • Społeczność
    • Komponenty
  • Podsumowanie
  • Title: Platforma Blazor. Praktyczny przewodnik. Jak tworzyć interaktywne aplikacje internetowe z C# i .NET 7. Wydanie II
  • Author: Jimmy Engström
  • Original title: Web Development with Blazor: A practical guide to start building interactive UIs with C# 11 and .NET 7, 2nd Edition
  • Translation: Andrzej Watrak
  • ISBN: 978-83-289-0420-0, 9788328904200
  • Date of issue: 2023-12-05
  • Format: Ebook
  • Item ID: blazp2
  • Publisher: Helion