Изучаем MonoTouch. Создание приложений на платформе iOS с помощью C# и .NET
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Блюстайн Майкл
Год издания: 2023
Кол-во страниц: 337
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-89818-504-6
Артикул: 430811.02.99
Вы прекрасно владеете C# и .NET и хотите выйти на огромный рынок iPhone/iPad? Теперь вы можете создавать великолепные приложения для iOS, не изучая язык Objective-C и средства разработки от Apple. Платформа MonoTouch позволяет применить уже имеющиеся навыки к разработке приложений, которые можно продавать через Apple App Store или развернуть в своей организации.
Книга Майкла Блюстайна поможет вам быстро освоить MonoTouch и извлечь максимум пользы из заложенного в ней гигантского потенциала.
В начале автор описывает, как настроить среду разработки MonoTouch, и объясняет, как MonoTouch абстрагирует iOS SDK, позволяя использовать родные классы iOS из C#. На простых примерах вы увидите, как пишутся приложения, и это станет фундаментом для решения более интересных задач. Шаг за шагом, на практических примерах вы будете осваивать все более сложные технологии. Автор даже демонстрирует применение в iOS-приложениях таких продвинутых средств .NET, как LINQ.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Программирование
- Программирование и алгоритмизация
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Майкл Блюстайн Изучаем 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 и уверен, что вы испытаете такие же чувства.