 |
C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов. 3-е издание
Марк Дж. Прайс
Год выпуска: 2018
ISBN: 978-5-4461-0516-8
Переплёт: мягкий
640 страниц
Цена: 1049.00 грн. Есть в наличии На 1 книгуОтправка: "Новой Почтой" по понедельникам, средам и пятницам*
|
C# 7 - новая мощная и многофункциональная версия популярнейшего языка программирования от Майкрософт. Вы встретите немало интересных книг по языку C# и платформе .NET, однако, в большинстве из них лишь мельком рассматривается столь важный аспект, как кросс-платформенная разработка.
С книгой "C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов" Научитесь писать приложения, которые работают всегда и везде, на ПК и мобильных устройствах. Познакомьтесь с инструментом Xamarin.Forms, освойте тонкости работы с Visual Studio 2017, добейтесь многогранности и универсальности ваших программ на C#.
Оглавление книги "C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов"
Об авторе....................................................................................................................26 О рецензентах.............................................................................................................28 Предисловие................................................................................................................29 Структура издания.................................................................................................29 Часть I. C# 7.1.................................................................................................30 Часть II. .NET Core 2.0 и .NET Standard 2.0.......................................................30 Часть III. Модели приложений.........................................................................31 Необходимое программное обеспечение................................................................32 Для кого эта книга.................................................................................................32 Условные обозначения...........................................................................................33 Загрузка примеров кода.........................................................................................34 Цветные изображения из книги..............................................................................34 Глава 1. Привет, C#! Здравствуй, .NET Core! ............................................................ 35 Настройка среды разработки..................................................................................36 Альтернативные среды разработки C#.............................................................37 Кросс-платформенное развертывание..............................................................38 Установка Microsoft Visual Studio 2017..............................................................38 Установка Microsoft Visual Studio Code..............................................................42 Установка Microsoft Visual Studio для Mac.........................................................45 Знакомство с .NET..................................................................................................48 Обзор .NET Framework......................................................................................48 Проекты Mono и Xamarin..................................................................................48 Обзор .NET Core...............................................................................................48 Обзор .NET Standard.........................................................................................50 Обзор .NET Native.............................................................................................52 Сравнение технологий .NET.............................................................................52 Написание и компиляция кода с помощью интерфейса командной строки .NET Core....................................................................................................52 Кодирование в простом текстовом редакторе...................................................53 Создание и компиляция приложений с помощью интерфейса командной строки .NET Core..............................................................................................55 Решение проблем компиляции.........................................................................57 Знакомство с промежуточным языком..............................................................57 Написание и компиляция кода с применением Microsoft Visual Studio 2017.............58 Кодирование в Microsoft Visual Studio 2017.......................................................58 Компиляция кода в Visual Studio 2017...............................................................62 Работа над ошибками.......................................................................................63 Добавление ранее созданных проектов в Visual Studio 2017.............................64 Автоматическое форматирование кода.............................................................65 Интерактивный C#...........................................................................................65 Другие полезные окна......................................................................................67 Написание и компиляция кода с использованием Microsoft Visual Studio Code.........68 Кодирование в Visual Studio Code.....................................................................68 Компиляция кода в Visual Studio Code..............................................................70 Автоматическое форматирование кода.............................................................70 Написание и компиляция кода с помощью Microsoft Visual Studio для Mac..............71 Управление исходным кодом с применением GitHub...............................................73 Использование системы Git в Visual Studio 2017...............................................73 Использование системы Git в Visual Studio Code...............................................75 Практические задания............................................................................................77 Проверочные вопросы......................................................................................77 Упражнение 1.1................................................................................................77 Дополнительные ресурсы.................................................................................77 Резюме...................................................................................................................78 Часть I. C# 7.1 Глава 2. Говорим на языке C# .................................................................................. 81 Основы языка C#...................................................................................................81 Visual Studio 2017.............................................................................................82 Visual Studio Code в среде macOS, Linux или Windows.......................................84 Грамматика языка C#.......................................................................................85 Словарь языка C#............................................................................................87 Помощь в написании корректного кода............................................................88 Глаголы = методы............................................................................................90 Существительные = типы данных, поля и переменные.....................................91 Подсчет количества типов и методов...............................................................91 Объявление переменных........................................................................................93 Присвоение имен переменным.........................................................................94 Литеральные значения.....................................................................................94 Хранение текста...............................................................................................95 Хранение чисел................................................................................................95 Хранение логических значений......................................................................100 Тип object......................................................................................................100 Тип dynamic...................................................................................................101 Локальные переменные.................................................................................101 Создаем тип, допускающий значение null.......................................................102 Обзор ссылочных типов, допускающих значение null.....................................103 Хранение группы значений в массиве............................................................105 Анализ консольных приложений...........................................................................106 Отображение вывода пользователю...............................................................106 Получение пользовательского ввода..............................................................107 Импорт пространства имен.............................................................................107 Упрощение работы с командной строкой........................................................108 Чтение аргументов и работа с массивами.......................................................109 Работа с переменными.........................................................................................113 Экспериментируем с унарными операторами..................................................113 Экспериментируем с арифметическими операторами.....................................114 Логические операторы и операторы сравнения..............................................115 Практические задания..........................................................................................115 Проверочные вопросы....................................................................................115 Упражнение 2.1. Числовые размеры и диапазоны..........................................116 Дополнительные ресурсы...............................................................................116 Резюме.................................................................................................................117 Глава 3. Управление потоком выполнения и преобразование типов ....................... 118 Инструкции выбора..............................................................................................118 Visual Studio 2017...........................................................................................118 Visual Studio Code в среде macOS, Linux или Windows.....................................119 Инструкция if.................................................................................................119 Инструкция switch..........................................................................................121 Инструкции перебора...........................................................................................123 Инструкция while............................................................................................124 Инструкция do................................................................................................124 Инструкция for...............................................................................................125 Инструкция foreach........................................................................................125 Приведение и преобразование типов...................................................................126 Приведение от числа к числу.........................................................................126 Использование типа System.Convert...............................................................128 Округление чисел..........................................................................................128 Преобразование любого типа в строку...........................................................129 Конвертация бинарного объекта в строку......................................................130 Разбор строк для преобразования в числа или значения даты и времени......131 Обработка исключений при преобразовании типов..............................................132 Инструкция try...............................................................................................132 Перехват всех исключений.............................................................................133 Перехват определенных исключений.............................................................133 Проверка переполнения.......................................................................................135 Инструкция checked.......................................................................................135 Инструкция unchecked....................................................................................136 Поиск документации.............................................................................................137 Сайты Microsoft Docs и MSDN..........................................................................137 Переход к определению.................................................................................138 Сайт StackOverflow.........................................................................................138 Поисковая система Google..............................................................................140 Подписка на блоги.........................................................................................142 Паттерны проектирования.............................................................................142 Практические задания..........................................................................................142 Проверочные вопросы....................................................................................142 Упражнение 3.1. Циклы и переполнение........................................................143 Упражнение 3.2. Циклы и операторы.............................................................143 Упражнение 3.3. Обработка исключений........................................................144 Дополнительные ресурсы...............................................................................144 Резюме.................................................................................................................145 Глава 4. Создание, отладка и тестирование функций ............................................. 146 Написание функций..............................................................................................146 Написание функции таблицы умножения.......................................................147 Написание функции, возвращающей значение...............................................148 Написание математических функций..............................................................150 Отладка приложений в процессе разработки........................................................154 Создание приложения с умышленной ошибкой..............................................154 Установка точек останова..............................................................................155 Панель Debugging..........................................................................................156 Дополнительные панели отладки...................................................................157 Пошаговое выполнение кода..........................................................................158 Настройка точек останова..............................................................................160 Ведение журнала во время разработки и выполнения..........................................161 Реализация прослушивателей Debug и Trace..................................................162 Переключение уровней трассировки..............................................................165 Функции модульного тестирования.......................................................................167 Создание библиотеки классов для тестирования в Visual Studio 2017.............167 Создание проекта модульного тестирования в Visual Studio 2017...................168 Создание библиотеки классов для тестирования в Visual Studio Code.............170 Разработка модульных тестов........................................................................171 Выполнение модульных тестов в Visual Studio 2017........................................172 Выполнение модульных тестов в Visual Studio Code........................................173 Практические задания..........................................................................................175 Проверочные вопросы....................................................................................175 Упражнение 4.1. Отладка и модульное тестирование.....................................175 Дополнительные ресурсы...............................................................................176 Резюме.................................................................................................................176 Глава 5. Создание пользовательских типов с помощью объектно-ориентированного программирования ...................................................... 177 Вкратце об объектно-ориентированном программировании..................................177 Сборка библиотек классов....................................................................................178 Создание библиотек классов в Visual Studio 2017...........................................178 Создание библиотек классов в Visual Studio Code...........................................179 Определение классов.....................................................................................180 Создание экземпляров классов.......................................................................181 Управление проектами в Visual Studio Code....................................................184 Наследование System.Object..........................................................................185 Хранение данных в полях.....................................................................................186 Определение полей........................................................................................186 Хранение значения с помощью ключевого слова enum..................................188 Хранение группы значений с помощью коллекций.........................................191 Создание статического поля...........................................................................192 Создание константного поля..........................................................................193 Создание поля только для чтения..................................................................194 Инициализация полей с помощью конструкторов...........................................194 Настройка полей через символьные константы default...................................195 Запись и вызов методов.......................................................................................197 Комбинация нескольких значений с помощью кортежей................................197 Определение и передача параметров в методы.............................................200 Перегрузка методов.......................................................................................201 Необязательные параметры и именованные аргументы.................................202 Управление передачей параметров......................................................................203 Разделение классов с помощью ключевого слова partial.......................................205 Управление доступом с помощью свойств и индексаторов....................................205 Определение свойств только для чтения........................................................206 Определение настраиваемых свойств.............................................................207 Определение индексаторов............................................................................208 Практические задания..........................................................................................209 Проверочные вопросы....................................................................................209 Дополнительные ресурсы...............................................................................209 Резюме.................................................................................................................210 Глава 6. Реализация интерфейсов и наследование классов .................................... 211 Настройка библиотеки классов и консольного приложения..................................211 Visual Studio 2017...........................................................................................212 Visual Studio Code...........................................................................................212 Определение классов.....................................................................................214 Упрощение методов с помощью операторов.........................................................214 Реализация функционала с применением метода...........................................214 Реализация функционала с помощью оператора............................................216 Определение локальных функций........................................................................217 Вызов и обработка событий..................................................................................218 Вызов методов с помощью делегатов.............................................................218 Определение событий....................................................................................219 Реализация интерфейсов......................................................................................221 Универсальные интерфейсы...........................................................................221 Сравнение объектов при сортировке..............................................................222 Многократное использование типов с помощью универсальных шаблонов...........225 Создание универсальных типов......................................................................226 Создание универсального метода...................................................................228 Управление памятью с применением ссылочных типов и типов значений.............229 Определение структур...................................................................................229 Освобождение неуправляемых ресурсов........................................................230 Обеспечение вызова метода Dispose..............................................................232 Наследование классов..........................................................................................233 Расширение классов.......................................................................................233 Скрытие членов класса..................................................................................234 Переопределение членов...............................................................................235 Предотвращение наследования и переопределения.......................................236 Полиморфизм.................................................................................................236 Приведение в иерархиях наследования................................................................238 Неявное приведение......................................................................................238 Явное приведение..........................................................................................238 Обработка исключений приведения...............................................................238 Наследование и расширение типов .NET..............................................................239 Наследование исключений.............................................................................239 Расширение типов при невозможности наследования....................................241 Практические задания..........................................................................................243 Проверочные вопросы....................................................................................243 Упражнение 6.1. Создание иерархии наследования........................................243 Дополнительные ресурсы...............................................................................243 Резюме.................................................................................................................244 Часть II. .NET Core 2.0 и .NET Standard 2.0 Глава 7. Обзор и упаковка типов .NET Standard ..................................................... 247 Использование сборок и пространств имен..........................................................247 Стандартные библиотеки классов и CoreFX....................................................248 Добавление ссылок на зависимые сборки.......................................................249 Связанные сборки и пространства имен.........................................................250 Связывание ключевых слов C# с типами .NET................................................255 Совместное кросс-платформенное использование кода с помощью библиотек классов .NET Standard 2.0.....................................................................................256 Создание библиотеки классов .NET Standard 2.0............................................257 Использование NuGet-пакетов..............................................................................258 Метапакеты....................................................................................................259 Платформы....................................................................................................260 Исправление зависимостей............................................................................263 Публикация приложений......................................................................................263 Подготовка консольного приложения к публикации.......................................263 Публикация в Visual Studio 2017.....................................................................264 Публикация в Visual Studio Code.....................................................................267 Упаковка библиотек для распространения с помощью NuGet................................268 Команды dotnet..............................................................................................268 Добавление ссылки на пакет..........................................................................269 Упаковка библиотеки для распространения с помощью NuGet.......................271 Тестирование пакетов....................................................................................275 Портирование кода в .NET Core............................................................................276 Можно ли портировать?.................................................................................277 Нужно ли портировать?..................................................................................277 Анализатор портируемости .NET....................................................................277 Сравнение .NET Framework и .NET Core..........................................................278 Использование библиотек, не относящихся к .NET Standard...........................278 Практические задания..........................................................................................279 Проверочные вопросы....................................................................................280 Дополнительные ресурсы...............................................................................280 Резюме.................................................................................................................280 Глава 8. Использование распространенных типов .NET Standard ............................ 281 Работа с числами..................................................................................................281 Крупные целые числа.....................................................................................282 Работа с комплексными числами....................................................................283 Работа с текстом..................................................................................................283 Извлечение длины строки..............................................................................284 Извлечение символов строки.........................................................................284 Разделение строк...........................................................................................284 Извлечение фрагмента строки.......................................................................284 Проверка содержимого строк.........................................................................285 Другие члены класса string.............................................................................285 Эффективное оперирование строками...........................................................286 Сопоставление шаблонов с регулярными выражениями.................................287 Работа с коллекциями..........................................................................................289 Общие характеристики всех коллекций..........................................................290 Понятие коллекции........................................................................................291 Работа со списками........................................................................................293 Работа со словарями......................................................................................294 Сортировка коллекций...................................................................................295 Использование специализированных коллекций............................................295 Использование неизменяемых коллекций.......................................................296 Работа с сетевыми ресурсами...............................................................................296 Работа с идентификаторами URI, DNS и IP-адресами.....................................297 Опрос сервера................................................................................................298 Работа с типами и атрибутами..............................................................................299 Указание версий сборок.................................................................................299 Чтение метаданных о сборке..........................................................................300 Создание собственных атрибутов...................................................................301 Другие возможности Reflection.......................................................................303 Глобализация кода...............................................................................................303 Практические задания..........................................................................................305 Проверочные вопросы....................................................................................305 Упражнение 8.1. Регулярные выражения.......................................................306 Упражнение 8.2. Методы расширения............................................................306 Дополнительные ресурсы...............................................................................306 Резюме.................................................................................................................307 Глава 9. Работа с файлами, потоками и сериализация ........................................... 308 Управление файловой системой...........................................................................308 Работа в кросс-платформенных средах и файловых системах........................308 Работа с дисками...........................................................................................311 Работа с каталогами.......................................................................................312 Управление файлами.....................................................................................314 Управление путями........................................................................................316 Извлечение информации о файле..................................................................316 Управление файлами.....................................................................................317 Чтение и запись с помощью потоков....................................................................318 Запись в текстовые и XML-потоки...................................................................322 Освобождение файловых ресурсов.................................................................324 Сжатие потоков..............................................................................................326 Кодирование текста..............................................................................................328 Преобразование строк в последовательности байтов.....................................328 Кодирование/декодирование текста в файлах................................................331 Сериализация графов объектов............................................................................331 XML-сериализация..........................................................................................331 XML-десериализация......................................................................................334 Контроль результата XML-сериализации.........................................................335 JSON-сериализация........................................................................................335 Сериализация в другие форматы....................................................................336 Практические задания..........................................................................................337 Проверочные вопросы....................................................................................337 Упражнение 9.1. XML-сериализация...............................................................337 Дополнительные ресурсы...............................................................................338 Резюме.................................................................................................................338 Глава 10. Защита данных и приложений ................................................................ 339 Терминология безопасности.................................................................................339 Ключи и их размеры.......................................................................................340 Векторы инициализации (IV) и размеры блоков.............................................340 Соли...............................................................................................................341 Генерация ключей и векторов инициализации...............................................341 Шифрование и дешифрование данных.................................................................342 Симметричное шифрование с помощью алгоритма AES..................................344 Хеширование данных...........................................................................................348 Подписывание данных..........................................................................................352 Подписывание с помощью алгоритмов SHA256 и RSA.....................................352 Проверка подписи и валидация......................................................................354 Генерация случайных чисел.................................................................................355 Генерация случайных чисел для игр..............................................................356 Генерация случайных чисел для криптографии..............................................356 Тестирование генерации случайного числа или проверки подлинности.........357 Аутентификация и авторизация пользователей....................................................358 Реализация аутентификации и авторизации...................................................359 Тестирование аутентификации и авторизации...............................................360 Защита функций приложения.........................................................................362 Практические задания..........................................................................................363 Проверочные вопросы....................................................................................363 Упражнение 10.1. Защита данных с помощью шифрования и хеширования...............................................................................................363 Упражнение 10.2. Дешифрование данных......................................................364 Дополнительные ресурсы...............................................................................364 Резюме.................................................................................................................364 Глава 11. Работа с базами данных с помощью Entity Framework Core ..................... 365 Современные базы данных...................................................................................365 Использование образца реляционной базы данных........................................366 Microsoft SQL Server........................................................................................366 SQLite.............................................................................................................371 Настройка Entity Framework Core..........................................................................375 Выбор поставщика данных .NET.....................................................................375 Подключение к базе данных..........................................................................376 Определение моделей Entity Framework Core........................................................378 Соглашения EF Core.......................................................................................378 Атрибуты аннотации EF Core..........................................................................379 EF Core Fluent API...........................................................................................379 Создание модели EF Core...............................................................................380 Запрос данных из модели EF Core.........................................................................384 Логирование EF Core......................................................................................386 Соотнесение шаблонов с помощью Like..........................................................390 Определение глобальных фильтров...............................................................391 Схемы загрузки данных в EF Core...................................................................392 Управление данными с помощью EF Core.............................................................395 Добавление элементов...................................................................................395 Обновление элементов...................................................................................396 Удаление элементов.......................................................................................397 Группировка контекстов базы данных............................................................398 Транзакции....................................................................................................398 Определение явной транзакции.....................................................................399 Практические задания..........................................................................................400 Проверочные вопросы....................................................................................400 Упражнение 11.1. Практика экспорта данных с помощью различных форматов сериализации.................................................................................401 Упражнение 11.2. Изучение документации EF Core.........................................401 Резюме.................................................................................................................401 Глава 12. Создание запросов и управление данными с помощью LINQ .................. 402 Написание запросов LINQ.....................................................................................402 Расширение последовательностей с помощью перечислимого класса............403 Фильтрация элементов с помощью метода Where..........................................403 Сортировка элементов...................................................................................408 Фильтрация по типу.......................................................................................409 Работа с множествами..........................................................................................411 Применение LINQ на платформе EF Core..............................................................413 Проекция элементов с помощью ключевого слова select................................413 Создание модели EF Core...............................................................................413 Присоединение и группировка.......................................................................416 Агрегирование последовательностей.............................................................419 Подслащение синтаксиса с помощью синтаксического сахара..............................419 Использование нескольких потоков с помощью PLINQ..........................................420 Создание собственных методов расширения LINQ................................................424 Работа с LINQ to XML............................................................................................427 Генерация XML с помощью LINQ to XML.........................................................427 Чтение XML с применением LINQ to XML........................................................428 Практические задания..........................................................................................429 Проверочные вопросы....................................................................................429 Упражнение 12.1. Создание запросов LINQ....................................................429 Дополнительные ресурсы...............................................................................430 Резюме.................................................................................................................430 Глава 13. Улучшение производительности и масштабируемости с помощью многозадачности ..................................................................................................... 431 Мониторинг производительности и использования ресурсов................................431 Оценка эффективности типов........................................................................431 Мониторинг производительности и использования памяти.............................432 Процессы, потоки и задачи...................................................................................437 Асинхронное выполнение задач...........................................................................439 Синхронное выполнение нескольких действий...............................................439 Асинхронное выполнение нескольких действий с помощью задач..................441 Ожидание выполнения задач.........................................................................443 Задачи продолжения......................................................................................444 Вложенные и дочерние задачи.......................................................................445 Синхронизация доступа к общим ресурсам...........................................................446 Доступ к ресурсу из нескольких потоков........................................................447 Применение к ресурсу взаимоисключающей блокировки................................449 Инструкция lock..............................................................................................449 Выполнение атомарных операций..................................................................451 Использование других типов синхронизации..................................................451 Методы async и await............................................................................................452 Увеличение скорости отклика консольных приложений..................................452 Увеличение скорости отклика приложений с GUI...........................................454 Улучшение масштабируемости веб-приложений и веб-сервисов.....................454 Часто используемые типы, поддерживающие многозадачность......................454 Ключевое слово await в блоках catch.............................................................455 Практические задания..........................................................................................455 Проверочные вопросы....................................................................................455 Дополнительные ресурсы...............................................................................456 Резюме.................................................................................................................456 Часть III. Модели приложений Глава 14. Создание сайтов с помощью ASP.NET Core Razor Pages ........................... 461 Веб-разработка....................................................................................................461 Протокол передачи гипертекста.....................................................................461 Клиентская веб-разработка............................................................................464 ASP.NET Core........................................................................................................466 Классический ASP.NET и современный ASP.NET Core.......................................467 Создание проекта ASP.NET Core в Visual Studio 2017.......................................467 Создание проекта ASP.NET Core в Visual Studio Code.......................................468 Обзор шаблона пустого проекта ASP.NET Core Empty......................................468 Тестирование пустого веб-сайта....................................................................470 Включение статических файлов.....................................................................472 Включение файлов по умолчанию..................................................................474 Технология Razor Pages........................................................................................475 Включение страниц Razor...............................................................................475 Определение страницы Razor.........................................................................475 Использование общих макетов с Razor Pages..................................................476 Использование отдельных файлов кода программной части с технологией Razor Pages..............................................................................479 Использование Entity Framework Core совместно с ASP.NET Core...........................481 Создание сущностных моделей для базы данных Northwind...........................481 Создание базы данных Northwind на сайте.....................................................489 Настройка Entity Framework Core в качестве сервиса......................................490 Работа с данными..........................................................................................492 Практические задания..........................................................................................494 Упражнение 14.1. Создание сайта, ориентированного на данные...................494 Дополнительные ресурсы...............................................................................494 Резюме.................................................................................................................495 Глава 15. Разработка сайтов с помощью ASP.NET Core MVC .................................... 496 Создание и настройка сайта ASP.NET Core MVC.....................................................496 Создание сайта ASP.NET Core MVC..................................................................497 Структура проекта веб-приложения ASP.NET Core MVC...................................500 Миграция баз данных.....................................................................................502 Тестирование сайта ASP.NET MVC...................................................................504 Проверка подлинности с помощью системы ASP.NET Identity..........................505 Структура сайта ASP.NET Core MVC.......................................................................507 Запуск ASP.NET Core.......................................................................................507 Маршрутизация по умолчанию.......................................................................509 Контроллеры ASP.NET Core MVC.....................................................................509 Модели ASP.NET Core MVC..............................................................................510 Представления ASP.NET Core MVC..................................................................512 Передача параметров с помощью значения маршрута...................................519 Передача параметров с помощью строки запроса..........................................521 Практические задания..........................................................................................524 Упражнение 15.1. Практика улучшения масштабируемости за счет понимания и реализации асинхронных методов.............................................524 Дополнительные ресурсы...............................................................................524 Резюме.................................................................................................................524 Глава 16. Создание веб-сервисов и приложений с помощью ASP.NET Core ............. 525 Создание сервисов с помощью веб-API ASP.NET Core и Visual Studio Code.............525 Обзор контроллеров ASP.NET Core..................................................................526 Создание проекта веб-API ASP.NET Core.........................................................526 Создание веб-сервиса для базы данных Northwind.........................................530 Создание репозиториев данных для сущностей..............................................531 Документирование и тестирование сервисов с применением Swagger..................537 Тестирование запросов GET в любом браузере..............................................537 Тестирование запросов POST, PUT и DELETE с помощью Swagger...................538 Установка пакета Swagger..............................................................................538 Тестирование запросов GET с помощью Swagger UI.......................................540 Тестирование запросов POST с помощью Swagger UI.....................................542 Создание SPA с помощью Angular.........................................................................545 Шаблон проекта Angular.................................................................................545 Вызов NorthwindService..................................................................................549 Тестирование вызова сервиса компонентом Angular.......................................552 Использование других шаблонов проектов...........................................................554 Практические задания..........................................................................................555 Упражнение 16.1. React и Redux.....................................................................555 Дополнительные ресурсы...............................................................................556 Резюме.................................................................................................................556 Глава 17. Разработка Windows-приложений с помощью языка XAML и системы проектирования Fluent ............................................................................................. 557 Общие сведения о современной платформе Windows...........................................558 Общие сведения об универсальной платформе Windows................................558 Обзор системы проектирования Fluent...........................................................559 Набор стандартов XAML Standard 1.0..............................................................560 Разработка современных Windows-приложений....................................................561 Активизация режима разработчика................................................................562 Создание проекта UWP-приложения...............................................................562 Обзор основных элементов управления и акрилового материала...................567 Обзор эффекта отображения.........................................................................568 Установка дополнительных элементов управления........................................571 Использование ресурсов и шаблонов...................................................................572 Общий доступ к ресурсам...............................................................................573 Замена шаблона элемента управления...........................................................574 Привязка данных..................................................................................................576 Привязка к элементам....................................................................................576 Привязка к источникам данных......................................................................577 Создание приложений с помощью Windows Template Studio.................................588 Установка Windows Template Studio................................................................588 Выбор типов проектов, сред, страниц и функциональности............................588 Ретаргетинг проекта......................................................................................591 Настройка нескольких видов..........................................................................591 Тестирование функциональности приложения...............................................592 Практические задания..........................................................................................594 Дополнительные ресурсы...............................................................................594 Резюме.................................................................................................................594 Глава 18. Разработка мобильных приложений с помощью XAML и Xamarin.Forms ....................................................................................................... 595 Знакомство с Xamarin и Xamarin.Forms..................................................................595 Xamarin.Forms в качестве расширения Xamarin...............................................596 Говорим "мобильность", подразумеваем "облака"........................................596 Разработка мобильных приложений с помощью Xamarin.Forms.............................597 Установка Android SDK...................................................................................598 Создание решения Xamarin.Forms...................................................................598 Создание модели............................................................................................601 Создание интерфейса для набора телефонных номеров.................................605 Создание представлений для списка клиентов и подробной информации о клиенте.......................................................................................................607 Тестирование мобильного приложения в среде iOS........................................612 Добавление NuGet-пакетов для вызова REST-сервиса....................................616 Получение данных о клиентах с помощью сервиса.........................................618 Практические задания..........................................................................................619 Дополнительные ресурсы...............................................................................619 Резюме.................................................................................................................619 Заключение...............................................................................................................620 Приложение. Ответы на проверочные вопросы.........................................................621 Глава 1. Привет, C#! Здравствуй, .NET Core!........................................................621 Глава 2. Говорим на языке C#..............................................................................622 Глава 3. Управление потоком выполнения и преобразование типов.....................623 Глава 4. Создание, отладка и тестирование функций...........................................625 Глава 5. Создание пользовательских типов с помощью объектно-ориентированного программирования...................................................626 Глава 6. Реализация интерфейсов и наследование классов..................................627 Глава 7. Обзор и упаковка типов .NET Standard....................................................628 Глава 8. Использование распространенных типов .NET Standard..........................629 Глава 9. Работа с файлами, потоками и сериализация..........................................631 Глава 10. Защита данных и приложений...............................................................632 Глава 11. Работа с базами данных с помощью Entity Framework Core....................633 Глава 12. Создание запросов и управление данными с помощью LINQ.................634 Глава 13. Улучшение производительности и масштабируемости с помощью многозадачности..................................................................................................635
|