E-book details

C# 7.1 i .NET Core 2.0 dla programistów aplikacji wieloplatformowych

C# 7.1 i .NET Core 2.0 dla programistów aplikacji wieloplatformowych

Mark J. Price

Ebook

Powszechnie uważa się, że C# jest świetnym językiem ogólnego zastosowania, który nadaje się do tworzenia każdego rodzaju oprogramowania - od serwisów internetowych poprzez aplikacje biznesowe aż po gry. Oprogramowanie takie działa na komputerach biurkowych, serwerach, urządzeniach mobilnych, a także na specjalizowanych systemach do gier. Z kolei .NET Core pozwala na tworzenie rozwiązań serwerowych w chmurze oraz na pracę z urządzeniami wirtualnej lub rozszerzonej rzeczywistości. To wszystko sprawia, że technologie C# i .NET Core umożliwiają tworzenie nowoczesnych systemów, które będą wydajnie działać na wielu różnych platformach.

Ta książka jest znakomitym, spójnym i bardzo praktycznym podręcznikiem do nauki języka C#. Pokazuje również najlepsze praktyki stosowane na platformie .NET Core. Z publikacji skorzysta każdy, kto pragnie zdobyć dobre przygotowanie do pracy z językiem i platformą. Znalazły się tu przystępnie wyłożone podstawy języka C#, a także sposoby debugowania kodu i zasady programowania obiektowego. Nie zabrakło informacji o najnowszych elementach języka C# 7.1, takich jak domyślne literały, krotki, dopasowywanie wzorców, zmienne typu out i inne. Dokładnie opisano biblioteki klas .NET Standard 2.0. Zaprezentowano najważniejsze rodzaje aplikacji, takie jak witryny i aplikacje internetowe, serwisy sieciowe, aplikacje UWP oraz aplikacje mobilne.

W tej książce między innymi:

  • Solidne podstawy C# 7.1 i .NET Core 2.0
  • Profesjonalne aplikacje w ASP.NET Core 2.0 i wielozadaniowość
  • Stosowanie Entity Framework Core oraz LINQ do pracy nad danymi
  • Korzystanie ze środowiska UWP oraz z Xamarin.Forms
  • Szyfrowanie, strumienie i serializacja
  • Planowane funkcje języka C# w wersji 8

Wieloplatformowa aplikacja - profesjonalny deweloper!


O autorze 18

O recenzentach 20

Wstęp 21

Rozdział 1. Cześć, C#! Witaj, .NET Core 27

  • Konfigurowanie środowiska programistycznego 28
    • Używanie innych IDE dla języka C# 29
    • Instalowanie na wielu platformach 30
    • Instalowanie Microsoft Visual Studio 2017 30
    • Instalowanie Microsoft Visual Studio Code 33
    • Instalowanie Visual Studio for Mac 37
  • Poznawanie .NET 38
    • Poznawanie .NET Framework 39
    • Poznawanie projektów Mono i Xamarin 39
    • Poznawanie .NET Core 40
    • Poznawanie .NET Standard 42
    • Poznawanie .NET Native 43
    • Porównanie technologii .NET 43
  • Pisanie i kompilowanie kodu przy użyciu narzędzi wiersza poleceń z .NET Core 44
    • Pisanie kodu za pomocą prostego edytora tekstu 44
    • Tworzenie i kompilowanie aplikacji za pomocą narzędzi wiersza poleceń .NET Core 46
    • Naprawianie błędów kompilacji 48
    • Poznawanie języka pośredniego 49
  • Pisanie i kompilowanie kodu za pomocą Visual Studio 2017 49
    • Pisanie kodu w Visual Studio 2017 50
    • Kompilowanie kodu za pomocą Visual Studio 2017 53
    • Poprawianie pomyłek z listy błędów 54
    • Dodawanie istniejących projektów do Visual Studio 2017 55
    • Automatyczne formatowanie kodu 56
    • Eksperymentowanie z interaktywnym C# 57
    • Inne przydatne okna 59
  • Pisanie i kompilowanie kodu w Visual Studio Code 60
    • Pisanie kodu w Visual Studio Code 60
    • Kompilowanie kodu w Visual Studio Code 61
    • Automatyczne formatowanie kodu 62
  • Pisanie i kompilowanie kodu za pomocą Visual Studio for Mac 62
    • Następne kroki 65
  • Zarządzanie kodem źródłowym przy użyciu platformy GitHub 65
    • Używanie systemu Git w Visual Studio 2017 66
    • Używanie systemu Git w Visual Studio Code 68
  • Praktyka i ćwiczenia 69
    • Ćwiczenie 1.1 - sprawdź swoją wiedzę 69
    • Ćwiczenie 1.2 - ćwicz C# gdzie się da 70
    • Ćwiczenie 1.3 - dalsza lektura 70
  • Podsumowanie 70

CZĘŚĆ I. C# 7.1 71

Rozdział 2. Mówimy w C# 73

  • Poznawanie podstaw języka C# 73
    • Używanie Visual Studio 2017 74
    • Używanie Visual Studio Code w systemach macOS, Linux i Windows 76
    • Gramatyka języka C# 78
    • Słownictwo języka C# 79
    • Pomoc przy pisaniu kodu 81
    • Czasowniki jako metody 82
    • Rzeczowniki to typy, pola i zmienne 83
    • Ujawnienie wielkości słownika języka C# 84
  • Deklarowanie zmiennych 86
    • Nazywanie zmiennych 87
    • Literały 87
    • Przechowywanie tekstu 88
    • Przechowywanie liczb 88
    • Przechowywanie wartości logicznych 93
    • Typ object 93
    • Typ dynamic 94
    • Zmienne lokalne 94
    • Zapisywanie wartości null w typach wartości 96
    • Poznawanie typów referencyjnych z wartością null 96
    • Zapisywanie wielu wartości w tablicy 98
  • Dokładniejsze poznawanie aplikacji konsoli 99
    • Wyświetlanie informacji dla użytkownika 99
    • Pobieranie danych od użytkownika 100
    • Importowanie przestrzeni nazw 100
    • Uproszczone korzystanie z konsoli 101
    • Odczytywanie parametrów i praca z tablicami 102
  • Działania na zmiennych 106
    • Eksperymenty z operatorami jednoargumentowymi 107
    • Eksperymentowanie z operatorami arytmetycznymi 108
    • Porównania i operatory logiczne 109
  • Praktyka i ćwiczenia 109
    • Ćwiczenie 2.1 - sprawdź swoją wiedzę 109
    • Ćwiczenie 2.2 - poznaj wielkości i zakresy liczb 109
    • Ćwiczenie 2.3 - dalsza lektura 110
  • Podsumowanie 111

Rozdział 3. Sterowanie przepływem i konwertowanie typów 113

  • Instrukcje wyboru 113
    • Visual Studio 2017 113
    • Visual Studio Code w systemach macOS, Linux i Windows 114
    • Instrukcja if 114
    • Instrukcja switch 115
  • Instrukcje iteracji 118
    • Instrukcja while 118
    • Instrukcja do 119
    • Instrukcja for 119
    • Instrukcja foreach 120
  • Rzutowanie i konwertowanie między typami 121
    • Rzutowanie z liczby na liczbę 121
    • Używanie typu Convert 123
    • Zaokrąglanie liczb 123
    • Konwersja z dowolnego typu na ciąg znaków 124
    • Konwertowanie obiektu binarnego na ciąg znaków 124
    • Parsowanie ciągów znaków z liczbami, datami i czasem 126
  • Obsługa wyjątków podczas konwertowania typów 127
    • Instrukcja try 127
    • Przechwytywanie wszystkich wyjątków 128
    • Przechwytywanie wybranych wyjątków 129
  • Wykrywanie przepełnień 130
    • Instrukcja checked 130
    • Instrukcja unchecked 131
  • Gdzie znaleźć pomoc 132
    • Microsoft Docs i MSDN 133
    • Przejdź do definicji 133
    • Stack Overflow 134
    • Google 134
    • Subskrybowanie blogów 136
    • Wzorce projektowe 136
  • Praktyka i ćwiczenia 138
    • Ćwiczenie 3.1 - sprawdź swoją wiedzę 138
    • Ćwiczenie 3.2 - pętle i przepełnienia 138
    • Ćwiczenie 3.3 - pętle i operatory 139
    • Ćwiczenie 3.4 - obsługa wyjątków 139
    • Ćwiczenie 3.5 - dalsza lektura 140
  • Podsumowanie 140

Rozdział 4. Pisanie, debugowanie i testowanie funkcji 141

  • Tworzenie funkcji 141
    • Tworzenie funkcji wypisującej sekwencję mnożenia 142
    • Pisanie funkcji zwracającej wartość 144
    • Pisanie funkcji matematycznych 146
  • Debugowanie tworzonego programu 149
    • Tworzenie aplikacji z celowym błędem 149
    • Tworzenie punktu przerwania 150
    • Pasek narzędzi debugowania 151
    • Okna debugowania 152
    • Krokowe wykonywanie kodu 154
    • Dostosowywanie punktów przerwania 155
  • Protokołowanie błędów 156
    • Używanie typów Debug i Trace 157
    • Przełączanie poziomów śledzenia 160
  • Testy jednostkowe 162
    • Tworzenie biblioteki klas wymagającej testowania w Visual Studio 2017 162
    • Tworzenie projektu testów jednostkowych w Visual Studio 2017 163
    • Tworzenie biblioteki klas wymagającej testowania w Visual Studio Code 164
    • Tworzenie testów jednostkowych 166
    • Uruchamianie testów jednostkowych w Visual Studio 2017 167
    • Uruchamianie testów jednostkowych w Visual Studio Code 168
  • Praktyka i ćwiczenia 170
    • Ćwiczenie 4.1 - sprawdź swoją wiedzę 170
    • Ćwiczenie 4.2 - tworzenie funkcji z wykorzystaniem debugowania i testów jednostkowych 170
    • Ćwiczenie 4.3 - dalsza lektura 171
  • Podsumowanie 171

Rozdział 5. Tworzenie własnych typów w programowaniu obiektowym 173

  • Rozmowy o programowaniu obiektowym 174
  • Tworzenie bibliotek klas 174
    • Tworzenie biblioteki klas w Visual Studio 2017 175
    • Tworzenie biblioteki klas w Visual Studio Code 175
    • Definiowanie klasy 176
    • Tworzenie obiektów 177
    • Zarządzanie wieloma projektami w Visual Studio Code 180
    • Dziedziczenie po System.Object 181
  • Przechowywanie danych w polach 182
    • Definiowanie pól 182
    • Zapisywanie wartości za pomocą słowa kluczowego enum 184
    • Zapisywanie wielu wartości za pomocą kolekcji 187
    • Tworzenie pól statycznych 188
    • Tworzenie stałych pól 189
    • Tworzenie pól tylko do odczytu 190
    • Inicjowanie pól w konstruktorach 190
    • Nadawanie polom domyślnego literału 191
  • Tworzenie i wywoływanie metod 193
    • Łączenie wielu wartości za pomocą krotki 194
    • Sterowanie przekazywaniem parametrów 197
    • Przeciążanie metod 198
    • Parametry opcjonalne i nazywane 198
  • Sposoby przekazywania parametrów 200
  • Dzielenie klas na części 202
  • Kontrola dostępu za pomocą właściwości i indekserów 203
    • Definiowanie właściwości tylko do odczytu 203
    • Definiowanie właściwości z możliwością przypisania 204
    • Definiowanie indekserów 205
  • Praktyka i ćwiczenia 206
    • Ćwiczenie 5.1 - sprawdź swoją wiedzę 206
    • Ćwiczenie 5.2 - dalsza lektura 207
  • Podsumowanie 207

Rozdział 6. Implementowanie interfejsów i dziedziczenie klas 209

  • Konfigurowanie biblioteki klas i aplikacji konsoli 210
    • Visual Studio 2017 210
    • Visual Studio Code 210
    • Definiowanie klas 212
  • Upraszczanie metod za pomocą operatorów 213
    • Implementowanie działań w metodzie 213
    • Implementowanie działań za pomocą operatora 214
  • Definiowanie funkcji lokalnych 216
  • Wywoływanie i obsługa zdarzeń 217
    • Wywoływanie metod za pomocą delegatów 217
    • Definiowanie zdarzeń 218
  • Implementowanie interfejsów 220
    • Typowe interfejsy 220
    • Porównywanie obiektów podczas sortowania 221
  • Wykorzystywanie typów generycznych 225
    • Tworzenie typu generycznego 225
    • Tworzenie generycznej metody 227
  • Zarządzanie pamięcią za pomocą typów referencyjnych i typów wartości 228
    • Definiowanie typu kategorii struct 229
    • Zwalnianie niezarządzanych zasobów 230
    • Wymuszanie wywołania metody Dispose 232
  • Dziedziczenie klas 233
    • Rozbudowywanie klasy 233
    • Ukrywanie elementów 234
    • Pokrywanie elementów klasy 235
    • Blokowanie dziedziczenia i pokrywania 236
    • Polimorfizm 237
  • Rzutowanie w ramach hierarchii dziedziczenia 238
    • Rzutowanie niejawne 238
    • Rzutowanie jawne 238
    • Obsługa wyjątków rzutowania 239
  • Dziedziczenie i rozbudowywanie typów .NET 240
    • Dziedziczenie po wyjątku 240
    • Rozszerzanie typów, po których nie można dziedziczyć 241
  • Praktyka i ćwiczenia 244
    • Ćwiczenie 6.1 - sprawdź swoją wiedzę 244
    • Ćwiczenie 6.2 - tworzenie hierarchii dziedziczenia 244
    • Ćwiczenie 6.3 - dalsza lektura 244
  • Podsumowanie 245

CZĘŚĆ II. .NET CORE 2.0 I .NET STANDARD 2.0 247

Rozdział 7. Poznawanie typów .NET Standard 249

  • Zestawy i przestrzenie nazw 249
    • Bazowe biblioteki klas i CoreFX 250
    • Poznawanie zależnych zestawów 251
    • Związki między zestawami i przestrzeniami nazw 252
    • Związki słów kluczowych języka C# z typami .NET 257
  • Wieloplatformowe współdzielenie kodu z bibliotekami klas .NET Standard 258
    • Tworzenie biblioteki klas .NET Standard 2.0 259
  • Pakiety NuGet 260
    • Metapakiety 261
    • Czym są frameworki? 263
    • Stabilizowanie zależności 263
  • Publikowanie własnych aplikacji 265
    • Tworzenie aplikacji konsoli do publikacji 265
    • Publikowanie za pomocą Visual Studio 2017 w systemie Windows 266
    • Publikowanie za pomocą Visual Studio Code w macOS 269
  • Przygotowywanie własnych pakietów NuGet 270
    • Poznawanie poleceń narzędzia dotnet 270
    • Dodawanie odwołania do pakietu 271
    • Tworzenie pakietu dla NuGet 273
    • Testowanie pakietu 277
  • Przenoszenie kodu z .NET Framework do .NET Core 278
    • Co można przenieść? 279
    • Co należy przenieść? 279
    • Różnice między .NET Framework i .NET Core 280
    • Korzystanie z programu .NET Portability Analyzer 280
    • Używanie bibliotek spoza .NET 280
  • Praktyka i ćwiczenia 282
    • Ćwiczenie 7.1 - sprawdź swoją wiedzę 282
    • Ćwiczenie 7.2 - dalsza lektura 282
  • Podsumowanie 283

Rozdział 8. Używanie typów biblioteki .NET Standard 285

  • Praca z liczbami 285
    • Praca z wielkimi liczbami całkowitymi 286
    • Praca z liczbami zespolonymi 286
  • Praca z tekstem 287
    • Odczytywanie długości ciągu znaków 287
    • Odczytywanie znaków z ciągu 288
    • Dzielenie ciągu znaków 288
    • Pobieranie części ciągu znaków 288
    • Poszukiwanie tekstu w ciągu 289
    • Inne elementy klasy string 289
    • Wydajne tworzenie ciągów znaków 290
    • Dopasowywanie wzorców za pomocą wyrażeń regularnych 291
  • Praca z kolekcjami 293
    • Wspólne funkcje wszystkich kolekcji 294
    • Poznawanie kolekcji 295
    • Praca z listami 297
    • Praca ze słownikami 298
    • Sortowanie kolekcji 299
    • Używanie specjalizowanych kolekcji 300
    • Używanie kolekcji niezmiennych 300
  • Praca z zasobami sieciowymi 301
    • Praca z adresami URI, serwerami DNS i adresami IP 301
    • Pingowanie serwera 302
  • Praca z typami i atrybutami 303
    • Numery wersji zestawów 304
    • Odczytywanie metadanych zestawu 304
    • Tworzenie własnych atrybutów 306
    • Inne możliwości refleksji 308
  • Internacjonalizacja kodu 308
    • Globalizacja aplikacji 308
  • Praktyka i ćwiczenia 310
    • Ćwiczenie 8.1 - sprawdź swoją wiedzę 310
    • Ćwiczenie 8.2 - wyrażenia regularne 311
    • Ćwiczenie 8.3 - metody rozszerzające 311
    • Ćwiczenie 8.4 - dalsza lektura 311
  • Podsumowanie 312

Rozdział 9. Praca z plikami, strumieniami i serializacją 313

  • Praca z systemem plików 313
    • Obsługa środowisk i systemów plików na wielu platformach 314
    • Obsługa napędów 316
    • Praca z katalogami 318
    • Praca z plikami 320
    • Praca ze ścieżkami 321
    • Odczytywanie informacji o pliku 322
    • Zarządzanie plikami 323
  • Odczytywanie i zapisywanie w strumieniach 324
    • Zapisywanie do strumieni tekstowych i XML 327
    • Zwalnianie zasobów plików 329
    • Kompresowanie strumieni 331
  • Kodowanie tekstu 333
    • Kodowanie ciągu znaków jako tablicy bajtów 333
    • Kodowanie i dekodowanie tekstu w plikach 336
  • Serializacja obiektów 337
    • Serializacja do formatu XML 337
    • Deserializacja danych z formatu XML 340
    • Dostosowywanie formatu XML 340
    • Serializowanie do formatu JSON 341
    • Serializowanie w innych formatach 342
  • Praktyka i ćwiczenia 342
    • Ćwiczenie 9.1 - sprawdź swoją wiedzę 342
    • Ćwiczenie 9.2 - serializowanie do formatu XML 343
    • Ćwiczenie 9.3 - dalsza lektura 344
  • Podsumowanie 344

Rozdział 10. Ochrona danych i aplikacji 345

  • Poznawanie słownictwa związanego z ochroną 345
    • Klucze i wielkości kluczy 346
    • Wektor inicjujący i wielkość bloku 347
    • Sól 347
    • Generowanie kluczy i wektorów inicjujących 348
  • Szyfrowanie i rozszyfrowywanie danych 349
    • Szyfrowanie symetryczne algorytmem AES 350
  • Funkcje skrótu 354
    • Obliczanie skrótu za pomocą algorytmu SHA256 356
  • Podpisywanie danych 358
    • Podpisywanie za pomocą SHA256 i RSA 359
    • Testowanie i kontrolowanie podpisów 360
  • Generowanie liczb losowych 361
    • Generowanie liczb losowych na potrzeby gier 362
    • Generowanie liczb losowych dla kryptografii 363
    • Testowanie generatora losowego klucza lub wektora inicjującego 363
  • Uwierzytelnianie i autoryzacja użytkowników 364
    • Implementowanie uwierzytelniania i autoryzacji 366
    • Testowanie autoryzacji i uwierzytelniania 367
    • Ochrona funkcji aplikacji 369
  • Praktyka i ćwiczenia 370
    • Ćwiczenie 10.1 - sprawdź swoją wiedzę 370
    • Ćwiczenie 10.2 - ochrona danych za pomocą szyfrowania i funkcji skrótu 370
    • Ćwiczenie 10.3 - ochrona danych przez rozszyfrowywanie 371
    • Ćwiczenie 10.4 - dalsza lektura 371
  • Podsumowanie 371

Rozdział 11. Praca z bazami danych przy użyciu Entity Framework Core 373

  • Nowoczesne bazy danych 373
    • Używanie przykładowej relacyjnej bazy danych 374
    • Microsoft SQL Server 375
    • SQLite 379
  • Konfigurowanie EF Core 383
    • Wybieranie dostawcy danych EF Core 383
    • Łączenie z bazą danych 384
  • Definiowanie modeli EF Core 387
    • Konwencje w EF Core 387
    • Atrybuty EF Core 387
    • Płynne API EF Core 388
    • Tworzenie modelu w EF Core 388
  • Zapytania do modelu EF Core 393
    • Protokołowanie w EF Core 395
    • Dopasowywanie wzorców za pomocą instrukcji Like 399
    • Definiowanie globalnych filtrów 400
    • Wzorce ładowania w EF Core 401
  • Manipulowanie danymi w EF Core 404
    • Wstawianie encji 404
    • Aktualizowanie encji 405
    • Usuwanie encji 406
    • Grupowanie kontekstów baz danych 407
    • Transakcje 407
    • Jawne definiowanie transakcji 408
  • Praktyka i ćwiczenia 409
    • Ćwiczenie 11.1 - sprawdź swoją wiedzę 409
    • Ćwiczenie 11.2 - eksportowanie danych z wykorzystaniem różnych formatów serializacji 410
    • Ćwiczenie 11.3 - przeglądanie dokumentacji EF Core 410
  • Podsumowanie 410

Rozdział 12. Odczytywanie danych i manipulowanie nimi za pomocą LINQ 411

  • Tworzenie zapytań LINQ 411
    • Rozbudowa sekwencji za pomocą klas wyliczeniowych 412
    • Filtrowanie encji za pomocą metody Where 412
    • Sortowanie encji 417
    • Filtrowanie według typu 418
  • Praca ze zbiorami 420
  • Używanie LINQ z EF Core 421
    • Projekcje encji w metodzie Select 422
    • Tworzenie modelu danych EF Core 422
    • Łączenie i grupowanie 425
    • Agregowanie sekwencji 428
  • Upiększanie składni 429
  • Używanie wielu wątków w równoległych zapytaniach LINQ 430
  • Tworzenie własnych metod rozszerzających dla LINQ 433
  • Praca z LINQ to XML 436
    • Generowanie danych XML za pomocą LINQ to XML 437
    • Odczytywanie danych XML za pomocą LINQ to XML 437
  • Praktyka i ćwiczenia 438
    • Ćwiczenie 12.1 - sprawdź swoją wiedzę 438
    • Ćwiczenie 12.2 - zapytania LINQ 439
    • Ćwiczenie 12.3 - dalsza lektura 439
  • Podsumowanie 440

Rozdział 13. Poprawianie wydajności i skalowalności za pomocą wielozadaniowości 441

  • Monitorowanie wydajności i wykorzystania zasobów 442
    • Ocena wydajności typów 442
    • Monitorowanie wydajności i zużycia pamięci 443
  • Procesy, wątki i zadania 448
  • Asynchroniczne uruchamianie zadań 449
    • Synchroniczne uruchamianie wielu operacji 450
    • Asynchroniczne uruchamianie wielu operacji z wykorzystaniem zadań 451
    • Oczekiwanie na zadania 453
    • Kontynuowanie pracy w innym zadaniu 454
    • Zadania zagnieżdżone i potomne 455
  • Synchronizowanie dostępu do wspólnych zasobów 456
    • Używanie wspólnego zasobu w wielu wątkach 457
    • Nakładanie na zasoby wzajemnie wykluczającej blokady 459
    • Jak działa instrukcja lock 459
    • Tworzenie operacji atomowych 461
    • Stosowanie innych rodzajów synchronizacji 462
  • Słowa kluczowe async i await 462
    • Poprawianie reakcji aplikacji konsoli 463
    • Poprawianie reakcji aplikacji z interfejsem graficznym 464
    • Poprawianie skalowalności aplikacji i serwisów WWW 465
    • Często używane typy pozwalające na pracę wielowątkową 465
    • Instrukcja await w bloku catch 465
  • Praktyka i ćwiczenia 466
    • Ćwiczenie 13.1 - sprawdź swoją wiedzę 466
    • Ćwiczenie 13.2 - dalsza lektura 466
  • Podsumowanie 467

CZĘŚĆ III. MODELE APLIKACJI 469

Rozdział 14. Tworzenie witryn WWW przy użyciu ASP.NET Core Razor Pages 473

  • Tworzenie w sieci WWW 473
    • Protokół HTTP 473
    • Tworzenie oprogramowania dla sieci WWW po stronie klienta 477
  • ASP.NET Core 478
    • Klasyczna ASP.NET kontra ASP.NET Core 479
    • Tworzenie projektu ASP.NET Core w Visual Studio 2017 480
    • Tworzenie projektu ASP.NET Core w Visual Studio Code 480
    • Przeglądanie pustego szablonu projektu ASP.NET Core 480
    • Testowanie pustej witryny 483
    • Włączanie plików statycznych 484
    • Włączanie plików domyślnych 487
  • Technologia Razor Pages 487
    • Włączanie technologii Razor Pages 487
    • Definiowanie strony Razor 488
    • Używanie wspólnego układu w wielu stronach Razor 489
    • Używanie plików code-behind w stronach Razor 492
  • Używanie Entity Framework Core z ASP.NET Core 494
    • Tworzenie modelu encji dla firmy Northwind 494
    • Tworzenie bazy danych Northwind dla witryny 502
    • Konfigurowanie Entity Framework Core jako serwisu 502
    • Manipulowanie danymi 504
  • Praktyka i ćwiczenia 507
    • Ćwiczenie 14.1 - tworzenie witryny obsługującej dane 507
    • Ćwiczenie 14.2 - dalsza lektura 507
  • Podsumowanie 507

Rozdział 15. Tworzenie aplikacji WWW przy użyciu ASP.NET Core MVC 509

  • Konfigurowanie witryny ASP.NET Core MVC 509
    • Tworzenie witryny ASP.NET Core MVC 510
    • Przegląd szablonu projektu ASP.NET Core MVC 513
    • Migrowanie bazy danych 515
    • Testowanie witryny ASP.NET Core MVC 517
    • Mechanizm uwierzytelniania systemu ASP.NET Identity 519
  • Poznawanie mechanizmów ASP.NET Core MVC 520
    • Rozruch ASP.NET Core 520
    • Czym jest domyślna ścieżka 522
    • Kontrolery ASP.NET Core MVC 522
    • Modele ASP.NET Core MVC 523
    • Widoki ASP.NET Core MVC 525
    • Przekazywanie parametrów przy użyciu wartości ścieżki 532
    • Przekazywanie parametrów za pomocą ciągu znaków zapytania 534
  • Praktyka i ćwiczenia 536
    • Ćwiczenie 15.1 - poprawianie skalowalności przez poznawanie i implementowanie asynchronicznych metod akcji 536
    • Ćwiczenie 15.2 - dalsza lektura 537
  • Podsumowanie 538

Rozdział 16. Tworzenie usług i aplikacji WWW przy użyciu ASP.NET Core 539

  • Tworzenie serwisów w technologii ASP.NET Core Web API 539
    • Kontrolery ASP.NET Core 540
    • Tworzenie projektu ASP.NET Core Web API 540
    • Tworzenie serwisu internetowego dla bazy danych Northwind 544
    • Tworzenie repozytorium danych dla encji 545
  • Dokumentowanie i testowanie serwisów przy użyciu narzędzia Swagger 551
    • Testowanie żądań GET za pomocą przeglądarki 551
    • Testowanie żądań POST, PUT i DELETE w narzędziu Swagger 553
    • Instalowanie pakietu Swagger 553
    • Testowanie żądań GET w narzędziu Swagger 554
    • Testowanie żądań POST za pomocą narzędzia Swagger 557
  • Tworzenie aplikacji SPA przy użyciu biblioteki Angular 561
    • Szablon projektu Angular 561
    • Wywoływanie serwisu Northwind 565
    • Testowanie wywołań serwisu z komponentu Angular 568
  • Używanie innych szablonów projektów 569
    • Instalowanie dodatkowych pakietów z szablonami 570
  • Praktyka i ćwiczenia 570
    • Ćwiczenie 16.1 - aplikacje React i Redux 571
    • Ćwiczenie 16.2 - dalsza lektura 572
  • Podsumowanie 573

Rozdział 17. Tworzenie aplikacji dla Windowsa przy użyciu XAML i Fluent Design 575

  • Poznawanie nowoczesnej platformy Windows 576
    • Universal Windows Platform 576
    • System Fluent Design 577
    • XAML Standard 1.0 578
  • Tworzenie nowoczesnej aplikacji dla Windowsa 579
    • Włączanie trybu dewelopera 580
    • Tworzenie projektu UWP 580
    • Przeglądanie typowych kontrolek i akrylowych pędzli 584
    • Oświetlenie ujawniające 586
    • Instalowanie dodatkowych kontrolek 589
  • Używanie zasobów i szablonów 590
    • Współdzielenie zasobów 591
    • Zmiana szablonu kontrolki 592
  • Wiązanie danych 594
    • Wiązanie do elementów 594
    • Wiązanie do źródła danych 595
  • Tworzenie aplikacji przy użyciu Windows Template Studio 606
    • Instalowanie Windows Template Studio 606
    • Wybieranie typu projektu, frameworka, stron i funkcji 607
    • Poprawianie ustawień projektu 610
    • Poprawianie wybranych widoków 610
    • Testowanie działania aplikacji 612
  • Praktyka i ćwiczenia 613
    • Ćwiczenie 17.1 - dalsza lektura 613
  • Podsumowanie 614

Rozdział 18. Tworzenie aplikacji mobilnych przy użyciu XAML i Xamarin.Forms 615

  • Xamarin i Xamarin.Forms 615
    • W jaki sposób Xamarin.Forms rozbudowuje platformę Xamarin 616
    • Najpierw mobilne, najpierw chmura 616
  • Tworzenie aplikacji mobilnej za pomocą Xamarin.Forms 617
    • Dodawanie SDK systemu Android 617
    • Tworzenie rozwiązania Xamarin.Forms 618
    • Tworzenie modelu 620
    • Tworzenie interfejsu do wybierania numerów telefonów 624
    • Tworzenie widoków listy klientów i szczegółowych danych klienta 627
    • Testowanie aplikacji mobilnej w systemie iOS 632
    • Dodawanie pakietów NuGet w celu wywołania serwisu REST 637
    • Pobieranie listy klientów z serwisu 638
  • Praktyka i ćwiczenia 640
    • Ćwiczenie 18.1 - dalsza lektura 640
  • Podsumowanie 640

Podsumowanie 641

  • Powodzenia! 641

Dodatek A. Odpowiedzi na pytania z testów 643

  • Rozdział 1. Cześć, C#! Witaj, .NET Core! 643
  • Rozdział 2. Mówimy w C# 644
  • Rozdział 3. Sterowanie przepływem i konwertowanie typów 645
  • Rozdział 4. Pisanie, debugowanie i testowanie funkcji 647
  • Rozdział 5. Tworzenie własnych typów w programowaniu obiektowym 648
  • Rozdział 6. Implementowanie interfejsów i dziedziczenie klas 650
  • Rozdział 7. Poznawanie typów .NET Standard 651
  • Rozdział 8. Używanie typów biblioteki .NET Standard 652
  • Rozdział 9. Praca z plikami, strumieniami i serializacją 654
  • Rozdział 10. Ochrona danych i aplikacji 655
  • Rozdział 11. Praca z bazami danych przy użyciu Entity Framework Core 656
  • Rozdział 12. Odczytywanie danych i manipulowanie nimi za pomocą LINQ 658
  • Rozdział 13. Poprawianie wydajności i skalowalności za pomocą wielozadaniowości 659

Skorowidz 661

  • Title: C# 7.1 i .NET Core 2.0 dla programistów aplikacji wieloplatformowych
  • Author: Mark J. Price
  • Original title: C# 7.1 and .NET Core 2.0 - Modern Cross-Platform Development
  • Translation: Wojciech Moch
  • ISBN: 978-83-283-4451-8, 9788328344518
  • Date of issue: 2018-11-16
  • Format: Ebook
  • Item ID: c71nc2
  • Publisher: Helion