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

Изучаем MonoTouch. Создание приложений на платформе iOS с помощью C# и .NET

Покупка
Артикул: 430811.02.99
Доступ онлайн
279 ₽
В корзину
Вы прекрасно владеете C# и .NET и хотите выйти на огромный рынок iPhone/iPad? Теперь вы можете создавать великолепные приложения для iOS, не изучая язык Objective-C и средства разработки от Apple. Платформа MonoTouch позволяет применить уже имеющиеся навыки к разработке приложений, которые можно продавать через Apple App Store или развернуть в своей организации. Книга Майкла Блюстайна поможет вам быстро освоить MonoTouch и извлечь максимум пользы из заложенного в ней гигантского потенциала. В начале автор описывает, как настроить среду разработки MonoTouch, и объясняет, как MonoTouch абстрагирует iOS SDK, позволяя использовать родные классы iOS из C#. На простых примерах вы увидите, как пишутся приложения, и это станет фундаментом для решения более интересных задач. Шаг за шагом, на практических примерах вы будете осваивать все более сложные технологии. Автор даже демонстрирует применение в iOS-приложениях таких продвинутых средств .NET, как LINQ.
Блюстайн, М. Изучаем MonoTouch. Создание приложений на платформе iOS с помощью C# и .NET : практическое руководство / М. Блюстайн ; пер. с англ. - 2-е изд. - Москва : ДМК Пресс, 2023. - 337 с. - ISBN 978-5-89818-504-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/2107175 (дата обращения: 10.12.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Майкл Блюстайн

Изучаем MonoTouch

Создание приложений 
на платформе iOS 
с помощью C# и .NET

Москва, 2023

Learning 
MonoTouch

A Hands-On Guide to Building iOS 
Applications with C# and .NET

Michael Bluestein

Upper Saddle River, NJ • Boston • Indianapolis • San Francisco
New York • Toronto • Montreal • London • Munich • Paris • Madrid
Cape Town • Sydney • Tokyo • Singapore • Mexico City

Майкл Блюстайн

Изучаем 
MonoTouch

Создание приложений на платформе iOS 
с помощью C# и .NET

Москва, 2023

2-е издание, электронное

УДК 004.451:004.43MonoTouch
ББК 32.973.26-018.2
Б71

Б71
Блюстайн, Майкл.
Изучаем MonoTouch. Создание приложений на платформе iOS с помощью C# 
и .NET / М. Блюстайн ; пер. с англ. — 2-е изд., эл. — 1 файл pdf : 337 с. — Москва : 
ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital 
Editions 4.5 ; экран 10". — Текст : электронный.
ISBN 978-5-89818-504-6
Вы прекрасно владеете C# и .NET и хотите выйти на огромный рынок iPhone/iPad? 
Теперь вы можете создавать великолепные приложения для iOS, не изучая язык Objective-C 
и средства разработки от Apple. Платформа MonoTouch позволяет применить уже имеющиеся навыки к разработке приложений, которые можно продавать через Apple App Store 
или развернуть в своей организации.
Книга Майкла Блюстайна поможет вам быстро освоить MonoTouch и извлечь максимум 
пользы из заложенного в ней гигантского потенциала.
В начале автор описывает, как настроить среду разработки MonoTouch, и объясняет, 
как MonoTouch абстрагирует iOS SDK, позволяя использовать родные классы iOS из C#. 
На простых примерах вы увидите, как пишутся приложения, и это станет фундаментом для 
решения более интересных задач. Шаг за шагом, на практических примерах вы будете осваивать все более сложные технологии. Автор даже демонстрирует применение в iOS-приложениях таких продвинутых средств .NET, как LINQ.

УДК 004.451:004.43MonoTouch 
ББК 32.973.26-018.2

Электронное издание на основе печатного издания: Изучаем MonoTouch. Создание приложений на 
платформе iOS с помощью C# и .NET / М. Блюстайн ; пер. с англ. — Москва : ДМК Пресс, 2012. — 
336 с. — ISBN 978-5-94074-824-3. — Текст : непосредственный.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты 
авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-504-6
©  2012 Pearson Education, Inc. 
All rights reserved. 
©  Оформление, перевод на русский язык 
ДМК Пресс, 2012

Посвящается Розе, Лилли и Джошуа

ОГЛАВЛЕНИЕ

ПРЕДИСЛОВИЕ .......................................... 10

БЛАГОДАРНОСТИ ....................................... 12

ОБ АВТОРЕ ................................................ 13

ВВЕДЕНИЕ ................................................. 14

ГЛАВА 1. Здравствуй, MonoTouch .................. 18
Настройка среды ..................................................................... 18
Установка iOS SDK и Apple Developer Tools ............................... 18
Установка MonoTouch .............................................................. 22
Создание приложения для MonoTouch .................................... 26
Создание пользовательского интерфейса ............................... 26
Добавление выходов ................................................................ 28
Разработка на устройстве ....................................................... 34
Подготовка к разработке .......................................................... 34
Работа с отладчиком MonoTouch ............................................. 40
Резюме ................................................................................... 42

ГЛАВА 2. iOS SDK сквозь призму MonoTouch .... 43
Обзор iOS SDK ......................................................................... 43
Сравнение Objective-C с MonoTouch на примере ..................... 46
Создание приложения в Xcode ................................................. 46
Реализация той же функциональности в MonoTouch ................ 51
Сравнение реализаций AppDelegate ........................................ 53
Реализация UIActionSheet в Xcode ............................................ 56
Реализация UIActionSheet в MonoTouch .................................... 59
Как работает MonoTouch ......................................................... 63
Управление памятью ................................................................ 66
Резюме ................................................................................... 68

ГЛАВА 3. Представления и контроллеры 
представлений ........................................... 69
Структурирование приложения MonoTouch 
в соответствии с паттерном MVC ............................................. 69

Оглавление

Работа с представлениями и контроллерами 
в Interface Builder ..................................................................... 71
Расширение функциональности контроллера 
и его представления ...................................................................... 79
Работа с несколькими представлениями и контроллерами ...... 83
Реализация подкласса UIView................................................... 88
Резюме ................................................................................... 92

ГЛАВА 4. Основные классы iOS ..................... 93
Представления и элементы управления для построения 
пользовательского интерфейса ............................................... 93
Элемент UISegmentedControl ................................................... 93
Элемент UISlider ....................................................................... 96
Элемент UISwitch ..................................................................... 97
Элементы UIPageControl и UIScrollView ..................................... 98
Класс UIActivityIndicatorView ................................................... 101
Класс UIProgressView .............................................................. 102
Класс UIImageView ................................................................. 103
Класс UIWebView .................................................................... 104
Класс ADBannerView ............................................................... 106
Возможности устройства ...................................................... 110
Класс MFMailComposeViewController ...................................... 110
Классы MPMediaPickerController и MPMusicPlayerController ... 112
Адресная книга ...................................................................... 115
Класс UIImagePickerController ................................................ 118
Резюме ................................................................................. 123

ГЛАВА 5.Таблицы и навигация .................... 124
Введение в классы UITableView и UITableViewController .......... 124
Для чего применяются таблицы? ............................................ 124
Отображение данных в UITableView ........................................ 126
Части UITableViewCell и стили ................................................. 132
Таблицы и навигация .............................................................. 135
Поддержка редактирования, встроенная в UITableView........... 143
Дополнительная настройка UITableView ................................. 151
Создание нестандартных ячеек .............................................. 152
Добавление нескольких секций .............................................. 156
Проект MonoTouch.Dialog ....................................................... 161
Резюме ................................................................................. 162

ГЛАВА 6. Графика и анимация ..................... 163
Подсистема Core Graphics ..................................................... 163
Основные принципы Core Graphics ......................................... 163
Рисование изображений ........................................................ 170

Оглавление

Рисование в PDF-файлы ......................................................... 174
Анимация .............................................................................. 185
Анимация с помощью UIView .................................................. 185
Подсистема Core Animation .................................................... 189
Резюме ................................................................................. 198

ГЛАВА 7. Подсистема Core Location ............. 199
Введение в подсистему Core Location .................................... 199
Стандартная служба местоположения ................................... 202
Получение обновлений курса ................................................ 212
Значительное изменение местоположения ........................... 214
Мониторинг региона ............................................................. 216
Фоновое определение местоположения................................ 219
Резюме ................................................................................. 222

ГЛАВА 8. Подсистема MapKit ...................... 223
Введение в MapKit ................................................................. 223
Добавление аннотаций .......................................................... 228
Наложения на карту ............................................................... 236
Резюме ................................................................................. 243

ГЛАВА 9. Соединение с веб-службами ......... 244
Соединение с REST-совместимыми веб-службами .................... 244
Соединение по протоколу HTTP ............................................. 244
Разбор результата в формате XML ......................................... 247
Разбор результата в формате JSON ....................................... 250
Потребление веб-служб на основе SOAP ............................... 251
Использование прокси-клиента в стиле .NET 2.0 .................... 252
WCF в MonoTouch ................................................................... 254
Использование HTTP-классов из CocoaTouch ........................ 255
Класс NSUrlConnection и связанные с ним .............................. 255
Резюме ................................................................................. 257

ГЛАВА 10. Сетевые возможности ................ 259
Сетевое программирование с помощью GameKit .................. 259
Основные сетевые классы в GameKit ...................................... 259
Класс GKPeerPickerController ................................................. 269
Голосовой чат на базе GameKit ............................................... 273
Служба Bonjour ...................................................................... 276
Резюме ................................................................................. 286

ГЛАВА 11. Сохранение данных приложений .. 287
Демонстрационное приложение MTNotes ............................. 287
SQLite .................................................................................... 292

Оглавление

Сериализация ....................................................................... 299
Settings.bundle и NSUserDefaults............................................ 301
Резюме ................................................................................. 309

ГЛАВА 12. Разработка приложений для iPad .. 311
Перенос программ на iPad ..................................................... 311
Приложения для iPhone с удвоением пикселей ...................... 311
Универсальные приложения ................................................... 312
Проектирование для iPad ...................................................... 315
Класс UISplitViewController ...................................................... 315
Класс UIPopoverController ....................................................... 326
Резюме ................................................................................. 330

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ ......................... 331

ПРЕДИСЛОВИЕ

О том, что команда, работающая над Mono, занимается чем-то, 
связанным с iPhone, я впервые узнал  в 2008 году из презентации 
Мигеля де Иказа на конференции профессиональных разработчиков 
Microsoft (Microsoft Professional Developer Conference). Мигель 
рассказывал о том, как в процессе создания игровой платформы Unity3D они переносили .NET и C# на iPhone. Я был потрясен тем, что им 
удалось это сделать. К тому времени я уже программировал для iPhone 
на языке Objective-C в среде Xcode и, как и многие другие, считал эту 
комбинацию отличной платформой. Но учитывая, что я много лет 
работал с .NET и C#, мысль о том, что эти знания удастся применить 
и для iPhone, меня заинтриговала. Получилось бы сочетание двух 
моих любимейших технологий, .NET и iPhone. Однако разработка 
игр меня никогда особенно не интересовала, поэтому в тот момент я 
не стал копать дальше.
На следующий год на встречу наших местных программистов на 
.NET заглянул Джозеф Хилл (Joseph Hill) и провел презентацию по 
проекту Mono в целом. К тому времени команда Mono уже начала 
разрабатывать продукт, которому суждено было стать MonoTouch. 
Джозеф упомянул, что скоро выйдет закрытая бета-версия, и предложил всем интересующимся обращаться к нему. Я подумал, как было 
бы здорово, если бы они смогли предложить хотя бы малую толику 
того, что есть в Objective-C или в .NET, например сборку мусора, потому что это открыло бы новые возможности для программирования 
iPhone, и, быть может, даже для повторного использования кода.
Я и вообразить себе не мог, что они предоставят все, что я мог делать на iPhone с помощью Objective-C, да еще и большую часть .NET 
впридачу. К тому же, оказалось, что команда разработчиков и сообщество MonoTouch состоят из очень толковых ребят, по-настоящему 
преданных своему делу. Успех MonoTouch зиждется на том, что вы получаете дополнительные инструменты для решения задач в системе 
iOS, не принося в жертву привычный пользователям интерфейс или 
возможности платформы. Я наслаждался каждым мгновением работы с MonoTouch и уверен, что вы испытаете такие же чувства.

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