Разработка мобильных приложений на C# для iOS и Android
Покупка
Тематика:
Программирование на C и C++
Издательство:
ДМК Пресс
Автор:
Черников Вячеслав Николаевич
Год издания: 2020
Кол-во страниц: 188
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Магистратура
ISBN: 978-5-97060-805-0
Артикул: 739798.01.99
Данная книга в сжатой форме описывает целостный процесс создания приложений для смартфонов и планшетов. Рассматриваются особенности мобильных операционных систем и устройств, выбор инструментов для разработки, подготовка рабочей документации в духе Agile, проектирование структуры и архитектуры решения, создание автоматизированного конвейера Continues Integration/Continues Delivery, а также мониторинг работоспособности конечного продукта на устройствах реальных пользователей. Все примеры приведены на языке С#.
Издание может быть рекомендована как опытным, так и начинающим программистам, интересующимся разработкой мобильных приложений. Также оно может быть использовано в качестве пособия в вузах, центрах дополнительного образования и др.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Магистратура
- 09.04.02: Информационные системы и технологии
- 09.04.03: Прикладная информатика
- 09.04.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Вячеслав Черников Москва, 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 ЗАКЛАДЫВАЕМ ПРАВИЛЬНЫЙ ФУНДАМЕНТ