Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Разработка мобильных приложений на C# для iOS и Android

Покупка
Артикул: 739798.01.99
Доступ онлайн
799 ₽
В корзину
Данная книга в сжатой форме описывает целостный процесс создания приложений для смартфонов и планшетов. Рассматриваются особенности мобильных операционных систем и устройств, выбор инструментов для разработки, подготовка рабочей документации в духе Agile, проектирование структуры и архитектуры решения, создание автоматизированного конвейера Continues Integration/Continues Delivery, а также мониторинг работоспособности конечного продукта на устройствах реальных пользователей. Все примеры приведены на языке С#. Издание может быть рекомендована как опытным, так и начинающим программистам, интересующимся разработкой мобильных приложений. Также оно может быть использовано в качестве пособия в вузах, центрах дополнительного образования и др.
Черников, В. Н. Разработка мобильных приложений на C# для iOS и Android : практическое руководство / В. Н. Черников. - Москва : ДМК Пресс, 2020. - 188 с. - ISBN 978-5-97060-805-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/1094956 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Вячеслав Черников

Москва, 2020

Разработка  
мобильных приложений 
на C# для iOS и Android

Сравнение нативных и кроссплатформенных  
инструментов на примере Xamarin, ReactNative,  
PhoneGap, Qt и Flutter.
Проектирование и техническая документация для кода. 
Архитектура и структура проекта,  
раскладываем все по местам. 
Mobile DevOps и автоматизация сборки,  
тестирования, поставки и мониторинга.  
Практические советы на каждый день

УДК 004.4
ББК 32.973.202
Ч49

Черников В. Н.
Ч49 
Разработка мобильных приложений на C# для iOS и Android. – М.: ДМК 
Пресс, 2020. – 188 с.: ил. 

ISBN 978-5-97060-805-0

Данная книга в сжатой форме описывает целостный процесс создания приложений 
для смартфонов и планшетов. Рассматриваются особенности мобильных операционных 
систем и устройств, выбор инструментов для разработки, подготовка рабочей документации в духе Agile, проектирование структуры и архитектуры решения, создание 
автоматизированного конвейера Continues Integration/Continues Delivery, а также 
мониторинг работоспособности конечного продукта на устройствах реальных пользователей. Все примеры приведены на языке C#.
Издание может быть рекомендована как опытным, так и начинающим программистам, интересующимся разработкой мобильных приложений. Также оно может быть 
использовано в качестве пособия в вузах, центрах дополнительного образования и др.

УДК 004.4
ББК 32.973.202

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения 
владельцев авторских прав.

 
© Черников В. Н., 2020
ISBN 978-5-97060-805-0 
© Оформление, издание, ДМК Пресс, 2020

Содержание

Вступительное слово от издательства .............................................................6

Введение .......................................................................................................................8

Часть I. ЗАКЛАДЫВАЕМ ПРАВИЛЬНЫЙ ФУНДАМЕНТ ................10

Глава 1. Особенности разработки мобильных приложений ...............11
1.1. Нативные и кроссплатформенные инструменты разработки ..............................11
1.2. Архитектура iOS/Android и нативные API ..............................................................14
1.2.1. Нативный iOS ....................................................................................................15
1.2.2. Нативный Android ............................................................................................17
1.2.3. Нативный Windows UWP ..................................................................................18
1.3. Архитектуры кроссплатформенных фреймворков ...............................................20
1.3.1. PhoneGap ...........................................................................................................20
1.3.2. ReactNative ........................................................................................................23
1.3.3. Qt ........................................................................................................................24
1.3.4. Flutter .................................................................................................................26
1.3.5. Xamarin ..............................................................................................................28
1.3.6. Xamarin.Forms ...................................................................................................30

Глава 2. Процесс разработки и документация ...........................................32
2.1. Первичная документация .......................................................................................33
2.2. Экраны, данные и логика ........................................................................................37
2.2.1. Группировка экранов и сквозное именование ...............................................39
2.2.2. Таблица экранов ...............................................................................................43
2.2.3. Карта переходов и состояний ..........................................................................46
2.3. Cтили и ресурсы .......................................................................................................48
2.4. Скрытая функциональность ....................................................................................49
2.5. Пользовательские сценарии ....................................................................................50
2.6. Финальный набор артефактов и их обновление ...................................................51

Глава 3. Архитектура приложения ...................................................................54
3.1. Многослойный MVVM .............................................................................................54
3.2. Декомпозиция по слоям ..........................................................................................56
3.3. Связи внутри слоев ..................................................................................................59
3.4. Связи между слоями ................................................................................................62
3.5. Структуры данных на основе UI ..............................................................................66
3.6. Типовая архитектура приложения на Xamarin.Forms ...........................................70
3.6.1. Слой работы с данными (Data Access Layer, DAL) ...........................................71
3.6.2. Слой бизнес-логики ..........................................................................................71
3.6.3. Слой пользовательского интерфейса ..............................................................72

 Содержание

3.6.4. Дополнительные классы ..................................................................................72
3.6.5. Нативная часть ..................................................................................................73

Глава 4. Базовая инфраструктура и ее применение ...............................74
4.1. Фундамент Data Access Layer (DAL) .........................................................................74
4.1.1. Класс DataServices как единая точка входа в слой DAL ..................................74
4.1.2. Data Objects и Data Services ..............................................................................76
4.2. Фундамент Business Layer (BL) ................................................................................81
4.2.1. Реализация фоновых задач и сервисов бизнес-логики .................................81
4.2.2. Фундамент для ViewModels ..............................................................................82
4.3. Фундамент User Interface Layer (UI) ........................................................................87
4.3.1. Реализация MessageBus ....................................................................................87
4.3.2. Реализация NavigationService ..........................................................................88
4.3.3. Реализация DialogService .................................................................................94
4.3.4. Реализация BasePage ........................................................................................95

Глава 5. Mobile DevOps..........................................................................................98
5.1. Про DevOps ...............................................................................................................98
5.2. Особенности Mobile CI/CD .....................................................................................100
5.3. Конвейер CI/CD ......................................................................................................102
5.4. Тестирование ..........................................................................................................109
5.5. Дистрибуция ...........................................................................................................115
5.6. Мониторинг ............................................................................................................118

Часть II. ПРАКТИЧЕСКИЕ СОВЕТЫ НА КАЖДЫЙ ДЕНЬ .............122

Глава 6. Иконочные шрифты вместо растровых картинок ................123

Глава 7. Работаем с состояниями экранов .................................................129

Глава 8. Дополнительные анимации при переходе экрана  
из одного состояния в другое..........................................................................136

Глава 9. Использование FastGrid для создания сложного  
интерфейса ...............................................................................................................142

Глава 10. Работа с сетевыми сервисами Json/REST ..............................149

Глава 11. Авторизация с помощью Facebook, ВКонтакте  
и OAuth  ......................................................................................................................157
11.1. Facebook ................................................................................................................157
Подключаем Facebook SDK к проектам iOS и Android ...........................................159
Подключаем в Android .............................................................................................160
Подключаем в iOS ....................................................................................................161
Интегрируем с Xamarin.Forms .................................................................................163
Реализация для Android ...........................................................................................164
Реализация для iOS ..................................................................................................167

Содержание  5

Подключаем в Xamarin.Forms .................................................................................169
11.2. ВКонтакте .............................................................................................................170
Подключаем ВКонтакте SDK к проектам iOS и Android ........................................172
Подключаем в iOS ....................................................................................................172
Подключаем в Android .............................................................................................174
Интегрируем с Xamarin.Forms .................................................................................175
Реализация для iOS ..................................................................................................176
Реализация для Android ...........................................................................................179
Подключаем в Xanarin.Forms ..................................................................................181
11.3. OAuth .....................................................................................................................181
Xamarin.Auth ............................................................................................................182
Подключаем авторизацию в кроссплатформенной части ....................................183
Реализация платформенной части .........................................................................184

Заключение ..............................................................................................................187

Вступительное слово 
от издательства

Отзывы и пОжелания

Мы всегда рады отзывам наших читателей. Расскажите нам, что вы 
думаете об этой книге, – что понравилось или, может быть, не понравилось. Отзывы важны для нас, чтобы выпус кать книги, которые 
будут для вас максимально полезны.
Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя 
на страницу книги и оставив комментарий в разделе «Отзывы и рецензии». Также можно послать письмо главному редактору по адресу 
dmkpress@gmail.com; при этом укажите название книги в теме письма. 
Если вы являетесь экспертом в какой-либо области и заинтересованы в написании новой книги, заполните форму на нашем сайте по 
адресу http://dmk press.com/authors/publish_book/ или напишите в издательство по адресу dmkpress@gmail.com.

Скачивание иСхОднОгО кОда примерОв

Скачать файлы с дополнительной информацией для книг издательства «ДМК Пресс» можно на сайте www.dmkpress.com или www.дмк.рф 
на странице с описанием соответствующей книги. 

СпиСОк ОпечатОк

Хотя мы приняли все возможные меры для того, чтобы обеспечить 
высокое качество наших текстов, ошибки все равно случаются. Если 
вы найдете ошибку в одной из наших книг – возможно, ошибку в основном тексте или программном коде, – мы будем очень благодарны, 
если вы сообщите нам о ней. Сделав это, вы избавите других читателей от недопонимания и поможете нам улучшить последующие издания этой книги. 

Нарушение авторских прав  7

Если вы найдете какие-либо ошибки в коде, пожалуйста, сообщите 
о них главному редактору по адресу dmkpress@gmail.com, и мы исправим это в следующих тиражах.

нарушение автОрСких прав

Пиратство в интернете по-прежнему остается насущной проблемой. 
Издательство «ДМК Пресс» очень серь езно относится к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконной публикацией какой-либо из наших книг, пожалуйста, пришлите нам ссылку на интернет-ресурс, чтобы мы могли 
применить санкции.
Ссылку на подозрительные материалы можно прислать по адресу 
электронной поч ты dmkpress@gmail.com.
Мы высоко ценим любую помощь по защите наших авторов, благодаря которой мы можем предоставлять вам качественные материалы. 

Введение

Данная книга представляет собой практическое руководство для инженеров, уже овладевших основами разработки, а также руководителей или fullstack-разработчиков, которым в том числе необходимо 
создавать и поддерживать мобильные приложения. Все примеры 
даны на языке C# (фреймворк Xamarin.Forms).
Книга разделена на две части: в первой рассмотрен процесс выбора инструментов, проектирования и создания «скелета» (базовой 
структуры) проекта, а во второй – представлены практические решения для самых частых задач, с которыми сталкиваются разработчики. 
Ниже приведено краткое содержание каждой части и главы.

Часть I. Закладываем правильный фундамент
Как не построить большой дом без фундамента и грамотного проекта, так и реальное программное обеспечение без правильной архитектуры превращается в «миску спагетти» через 1–2 года развития. 
В главе 1 мы начнем с общего знакомства с инструментами кроссплатформенной разработки, включая PhoneGap, ReactNative, Flutter, 
Xamarin и Qt. Сравним заложенные в эти фреймворки архитектуры, 
что позволит нам лучше понять их работу в сравнении с нативными.
В главе 2 мы опишем алгоритм создания «скелета» приложения 
(архитектура и структура кода) на основе легковесной онлайн-документации.
С главы 3 начнется погружение в архитектуру, и далее в главе 4 
мы рассмотрим, какие есть особенности реализации различных компонентов приложения на базе MVVM и многослойной архитектуры, 
а также то, каким образом эти модули лучше связывать между собой.
И завершим мы первую часть книги описанием Mobile DevOps для 
выстраивания коммуникации в команде на базе технической документации, а также использования облачных инструментов для автоматической сборки и тестирования приложений (глава 5).

Часть II. Практические советы на каждый день
В этой части будут представлены практические советы по следующим темам:

Введение  9

 
 глава 6 «Иконочные шрифты вместо растровых картинок»;
 
 глава 7 «Работаем с состояниями экранов»;
 
 глава 8 «Дополнительные анимации при переходе экрана из 
одного состояния в другое»;
 
 глава 9 «Использование FastGrid для создания сложного интерфейса»;
 
 глава 10 «Работа с сетевыми сервисами Json/REST»;
 
 глава 11 «Авторизация с помощью нативных библиотек Facebook, ВКонтакте, а также с помощью OAuth».

Часть I

ЗАКЛАДЫВАЕМ 
ПРАВИЛЬНЫЙ 
ФУНДАМЕНТ

Доступ онлайн
799 ₽
В корзину