35 книг по мобильной разработке на Android и iOS
Мобильная разработка — перспективная сфера для начинающего программиста. Мы собрали подборку книг, которые научат создавать приложения с нуля.
vlada_maestro / shutterstock
Книги по Android-разработке
Дэвид Гриффитс, Дон Гриффитс
«Head First. Программирование для Android»
Авторы дают азы программирования для Android — особенности и нюансы системы и процесса разработки приложений — с учётом нулевого уровня читателя. Пособие нужно читать главу за главой, чтобы перейти от простых объяснений к более сложным.
Вы узнаете, как структурировать приложения, создавать интерактивные интерфейсы, работать с разными устройствами, запускать сервисы в фоновом режиме и так далее. Книга предполагает, что вы уже немного владеете Java, так как с первой же главы будете практиковаться в написании реального кода. Одним учебником новичок обойтись не сможет, но это, без оговорок, самый быстрый старт для человека, не знакомого с мобильной разработкой.
Ян Ф. Дарвин
«Android. Сборник рецептов. Задачи и решения для разработчиков приложений»
Этот сборник из более чем двухсот рецептов по созданию приложений ориентирован на опытных специалистов, знающих язык Java, основы работы с платформой Android и интерфейсом Java SE API. Инструкции даны в виде пошагового решения задач по работе с веб-службами, пользовательскими интерфейсами, механизмами определения местоположения и мультисенсорными жестами. Все рецепты даны с примерами работающего кода. Темы, поднимаемые в книге:
- средства разработки и тестирования приложений;
- работа с датчиками — акселерометром и другими;
- работа с определением местоположения — OpenStreetMap и Google Maps;
- работа с базами данных;
- управление механизмами всплывающих окон и графическими службами;
- управление воспроизведением мультимедийных файлов;
- применение каркасов для создания анимации и игр;
- работа с веб-службами RESTful с помощью JSON.
Кристин Марсикано, К. Стюарт, Билл Филлипс
«Android. Программирование для профессионалов»
Это издание рассказывает об основах программирования на Android, среде разработки Android Studio и других инструментах. Авторы на практике описывают, как создать восемь мобильных приложений разного типа: два простых и шесть посложнее.
При написании этих приложений вы отработаете основные приёмы и концепции программирования на Android. В книге освещаются темы локализации, доступности, модульного тестирования, архитектурного стиля MVVM и другие.
Пол Дейтел, Харви Дейтел, Александер Уолд
«Android для разработчиков»
3-е издание
Учебник опытных авторов, специализирующихся на книгах о программировании. Подходит для тех, кто начинает изучать разработку приложений для смартфонов и планшетов Android.
В книге подробно рассмотрено, как создавать приложения в Android SDK. При этом в основе инструкций, объясняющих основные концепции, — не фрагменты кода, а полностью работоспособные приложения. За счёт этого у читателя возникает целостная картина того, как правильно, эффективно и быстро их программировать.
Herbert Schildt
«Java: A Beginner’s Guide»
Sixth edition
Учебник для начинающих изучать язык Java. Это шестое издание, обновлённое и дополненное в соответствии с платформой Java SE 8.
Вместе с автором Гербертом Шильдтом вы начнёте с самых азов — создания, компиляции и запуска кода. Затем перейдёте к синтаксису и конструкциям, составляющим ядро Java. Пособие также охватывает некоторые более продвинутые функции Java, например многопоточное программирование и Swing. Описаны лямбда-выражения и JavaFX — графический интерфейс Java. В конце каждой главы приводятся задания для самопроверки; к примерам кода даны комментарии, которые описывают методы программирования.
John Horton
«Learning Java by Building Android Games — Explore Java Through Mobile Game Development»
С этим учебником вы настроите среду разработки Android, затем рассмотрите ключевые темы Java — циклы, методы и ООП. Закрепите на практике полученные знания при создании математической игры, игры для развития памяти, пинг-понга, а также ретроаркады. В учебнике много скриншотов и минимум «воды».
James S. Cho
«The Beginner’s Guide to Android Game Development»
Автор рекомендует книгу всем разработчикам, которые хотели научиться создавать игры. Эта книга научит вас этому — и без применения каких-либо движков.
Каждая глава посвящена фундаментальной концепции разработки игр, чтобы вы постепенно освоили их и закрепили новые навыки на практике. С учебником предоставляется доступ к сайту — обширной библиотеке образцов игровых проектов на Java и Android, чтобы вы могли продолжить обучение
Sergey Kosarevsky, Viktor Latypov
«Android NDK Game Development Cookbook»
Сборник для разработчика игр на Android включает около 70 рецептов написания кода на С++. Издание ориентировано на разработчиков среднего уровня.
Книга содержит рекомендации по разработке и отладке мобильных игр на рабочем столе. Вы научитесь писать многопоточный код для воспроизведения аудио, асинхронной загрузки ресурсов и доступа к сети, пользоваться современными OpenGL ES и программировать приложения без использования IDE — среды разработки.
Mario Zechner
«Beginning Android Games»
2nd edition
Учебник научит новичков разработке игр под Android. Вы изучите основы игрового дизайна и программирования, затем шаг за шагом создадите собственный игровой движок и игровые приложения, совместимые с различными версиями Android на смартфонах и планшетах.
Вы пройдёте весь процесс создания приложений с использованием API-интерфейсов, доступных в Android SDK. Авторы называют книгу «обратно совместимой»: учебник построен таким образом, что в практических заданиях вы сможете использовать и более ранние выпуски среды разработки Android SDK.
Bill Phillips, Brian Hardy
«Android Programming: The Big Nerd Ranch Guide».
4th edition
Вводная книга по Android для специалистов, у которых уже есть опыт работы с Kotlin. Книга базируется на популярном курсе обучения Android Bootcamp проекта Big Nerd Ranch.
Вы изучите мобильную разработку под Android с помощью практических примеров в сочетании с чётким объяснением ключевых концепций и API. Эта книга посвящена практическим методам разработки приложений на Kotlin, совместимых с Android 5.0 (Lollipop), Android 8.1 (Oreo) и выше.
John Horton
«Android Game Programming by Example»
Книга предназначена для программистов под Android и на Java, которые хотят расширить свои знания в сторону создания игр. Издание также подойдёт для читателей без опыта разработки игр/приложений для Android-устройств и даже без знаний языка Java, но знакомых с основными принципами объектно-ориентированного программирования.
Вы научитесь создавать движки для игр — от простых к продвинутым — с анимацией персонажей и параллаксом. Сможете самостоятельно разрабатывать основной игровой цикл и искусственный интеллект противника в игре. Реализуете множество функций игры: огнестрельное оружие, HUDs, генерирование и воспроизведение звука FX, декорации, переход между уровнями и много другое.
Greg Nudelman
«Android Design Patterns: Interaction Design Solutions for Developers»
Книга содержит более 75 шаблонов, которые можно использовать при создании пользовательских интерфейсов для смартфонов и планшетов и тем самым сэкономить бесчисленные часы разработки.
Схемы охватывают наиболее распространённые и в то же время сложные типы взаимодействия с пользователями. Все варианты интерфейсов сопровождаются иллюстрациями и пошаговыми руководствами, в которых приводится описание шаблона, принцип его работы, объяснение, когда и зачем его использовать, а также даны пояснения, какие шаблоны с ним связаны и какие конфликтуют.
Mark L. Murphy
«Busy Coder’s Guide to Android Development»
Современное и простое для понимания учебное пособие по Android-разработке. Предназначено для специалистов, знакомых с программированием на Java.
Автор дорабатывает свой учебник в соответствии с обновлениями в Android: электронная версия доступна по подписке на сайте CommonsWare в различных форматах для чтения. В книге более 200 глав, охватывающих всё — от начальных шагов в создании первого приложения до передовых методов разработки.
Jonathon Manning, Paris Buttfield-Addison
«Mobile Game Development with Unity: Build Once, Deploy Anywhere»
Это практическое руководство покажет вам, как создать красивый, интерактивный контент для Android и iOS-устройств на игровом движке Unity. Авторы рассматривают возможности Unity и дают конкретные рекомендации по их использованию в реальных игровых ситуациях.
Продвигаясь по книге, вы научитесь создавать 2D- и 3D-игры с нуля: структурировать графику, сценарии, звуки, физику экшн-игры. На практике вы разработаете 3D-симулятор космического боя со стрельбой из снарядов и перезаряжающимися объектами, а также научитесь управлять внешними 3D-моделями.
Antonio Leiva
«Kotlin for Android Developers: Learn Kotlin the easy way while developing an Android App»
Kotlin — язык для написания Android-приложений, который официально поддерживается Google. Эта книга поможет вам легко изучить все новые функции, которые отсутствуют в Java, и создать приложение для Android с нуля на Kotlin в качестве основного языка. Рекомендуется уже имеющим опыт в программировании специалистам, знакомым с Java.
Концепция книги в том, чтобы выучить язык на примерах, а не следовать типичной структуре изложения, как в справочнике. Автор рассказывает о наиболее интересных концепциях и идеях Kotlin, сравнивая его с Java 7. Поэтому вы сразу видите, в чём заключаются различия и какие части языка помогут ускорить вашу работу.
Iyanu Adelekan
«Kotlin Programming by Example: Build real-world Android and web applications the Kotlin way»
Вы исследуете особенности Kotlin на примере создания трёх полноценных мобильных приложений различной сложности. Сначала вы напишете свой тетрис, затем создадите мессенджер, и, наконец, напишете третье приложение, самое сложное, которое будет использовать технологии Google Maps API и Place Picker. К концу книги вы приобретёте опыт создания и развёртывания приложений для Android с помощью Kotlin.
С помощью этой книги вы:
- изучите структурные элементы Kotlin;
- разработаете мощные RESTful для приложений на базе Android;
- создадите реактивные приложения для Android;
- внедрите схемы архитектуры MVC и научитесь управлять зависимостями с помощью Kotlin;
- научитесь преобразовывать и сохранять данные с помощью Logstash;
- освоите систему Spring Security;
- научитесь развёртывать микросервисы Kotlin в приложениях AWS и Android в Play Store.
Книги по iOS-разработке
Вандад Нахавандипур
«iOS. Приемы программирования»
С помощью руководств в этой книге вы сможете решить типичные проблемы при создании приложений для iPhone, iPad или iPod touch, освоите работу с iOS 7 SDK. Вы изучите сотни методов хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и папками. Вы научитесь создавать яркие и реалистичные пользовательские интерфейсы с UIKit Dynamics, работать с аудио и видео API iOS 7, разрабатывать приложения с учетом местоположения, интегрировать iCloud в свои приложения и многое другое. Все инструкции сопровождаются примерами кода, который можно сразу использовать.
Дэвид Марк, Джек Наттинг, Джефф Ламарш, Фредрик Олссон, Ким Топли
«Swift. Разработка приложений в среде Xcode для iPhone и iPad с использованием iOS SDK»
Книга подходит для начинающих в разработке на Swift. В ней освещаются новейшие технологии, необходимые для создания собственных приложений для устройств iOS. Все объяснения и инструкции написаны в дружелюбном и лёгком для восприятия стиле. Книга начинается с основ — с загрузки и установки Xcode и iOS 8 SDK, а затем проведёт вас через весь процесс создания первого простого приложения.
Вы научитесь:
- использовать игровые площадки Swift;
- оптимизировать ваш код для обеспечения отличного пользовательского опыта;
- создавать чёткие пользовательские интерфейсы;
- отображать данные в табличных представлениях;
- рисовать на экране с помощью Core Graphics;
- использовать возможности сенсора iOS для отображения вашего мира;
- заставить приложение работать с iCloud и многое другое.
Книга хороша для новичков, но есть один нюанс — это неточности и ошибки перевода. Рекомендуем по возможности читать в оригинале.
Ханг Во
«Оптимизация производительности приложений для iOS»
Книга подойдёт программистам разного уровня, специализирующимся на разработке приложений под iOS.
Она учит эффективно решать частые проблемы увеличения и оптимизации производительности приложений для iOS. С помощью детальных инструкций вы научитесь разрабатывать быстрые и отзывчивые приложения и преуспеете в мобильной разработке.
Айк Харазян
«Язык Swift. Самоучитель»
Если вы только начинаете погружение в мобильную iOS-разработку, вам понадобится её основной язык — Swift. С помощью этого самоучителя вы сможете легко и быстро освоить его с нуля. Изложение строится от простого к сложному. Постепенно вас знакомят с основным синтаксисом и особенностями, а также кратко объясняют основы объектно-ориентированного программирования.
Несмотря на то что самоучитель написан для старой версии Swift 2.0 и частично устарел, он очень подробно и обстоятельно раскрывает суть разработки на Swift доступным для новичков языком.
Василий Усов
«Swift. Основы разработки приложений под iOS и macOS»
Практически идеальная книга на русском языке для начинающих изучать программирование, открыв которую, вы войдёте в мир разработки приложений под iOS. Основное её отличие — новизна: книга вышла в 2018 году и может похвастаться актуальным содержанием и на текущий год. Все примеры кода соответствуют версии Swift 4.1, операционной системы версии не ниже 11 и версии Xcode не ниже 9.
Paul Hudson
«Hacking with Swift»
Пол Хадсон — широко известный эксперт в мобильной разработке. Он не просто специализируется на iOS и языке Swift, его основная деятельность — это написание книг о Swift. На сегодня он издал целый ряд книг об этом языке, у его блога в Твиттере почти 30 тысяч подписчиков, он ведёт YouTube-канал и сайт, посвящённые разработке на Swift. Мы рекомендуем не только издание «Hacking with Swift», одно из лучших в своем роде, но и вообще все его книги.
Matthijs Hollemans
«iOS Apprentice»
Книга для новичков не только в iOS или Swift, но и в программировании в целом. Написанное в непринуждённой форме руководство простыми словами и без узкоспециализированных терминов подробно объясняет, как написать приложение с нуля. Четыре урока посвящены созданию четырх приложений — и каждое с чуть большим усложнением, чем предыдущее. Вы сделаете:
- Простую игру для изучения программирования на iPhone.
- Todo-приложение для организации списков дел.
- Приложение, сохраняющее посещённые вами места.
- Приложение для поиска товаров в магазине iTunes.
Jonathon Manning, Paris Buttfield-Addison
«iOS Swift Game Development Cookbook: Simple Solutions for Game Development Problems»
Книга содержит подробные рецепты для решения широкого круга распространённых проблем разработки игр для iOS — от математики 2D и 3D в SpriteKit и OpenGL до производительности. Для полного понимания материала читатель должен уже быть немного знаком с iOS, Swift и Objective-C.
После прочтения книги вы сможете разрабатывать архитектуру и макет кода игры, настраивать меню с UIKit, использовать методы для воспроизведения звуковых эффектов и музыки. Вы изучите различные способы хранения информации, научитесь работать с 2D- и 3D-графикой с помощью SpriteKit и SceneKit соответственно, сможете создавать алгоритмы с искусственным интеллектом и многое другое.
Dr. Alex Blewitt
«Swift Essentials»
2nd edition
Компактное руководство, позволяющее вам быстро создавать свои собственные приложения для iOS.
С помощью этой книги вы погрузитесь в синтаксис и возможности Swift, научитесь работать со Swift в Xcode, узнаете, как создавать полноценные приложения для iOS, как использовать раскадровку сценариев Swift для разработки многостраничных приложений и получите представление о JSON и XML.
Stephen Haney
«Game Development with Swift»
Если вы хотите создавать игры на iOS с помощью Swift, то эта книга для вас. Для её понимания вам нужно знать основные понятия программирования, но опыт разработки игр или работы в экосистеме Apple не обязателен.
Книга начинается с рассказа о возможностях Swift для разработки игр. В процессе обучения вы:
- создадите графику, физику и звук в вашей игре с помощью SpriteKit;
- изучите методы рисования и анимации;
- научитесь реагировать на различные формы ввода данных от игрока, включая наклон физического устройства и распознавание касания;
- освоите Apple IDE, XCode и сопутствующий набор инструментов;
- интегрируете свою игру с Game Center, чтобы игроки могли делиться своими достижениями;
- максимизируете игровой процесс с помощью малоизвестных советов и стратегий;
- опубликуете свою работу в App Store.
Vandad Nahavandipoor
«iOS 11 Swift Programming Cookbook: Solutions and Examples for iOS Apps»
iOS 11, Swift 4 и Xcode 9 предоставляют множество новых API для разработчиков iOS. С помощью этой книги рецептов вы узнаете более 170 проверенных решений для работы с новейшими функциями iOS 11 и watchOS 4, которые упростят вашу повседневную разработку приложений.
Книга подходит для middle- и senior-разработчиков iOS, желающих работать с новейшей версией системы. Среди тем, рассмотренных в этой книге:
- новые функции в Swift 4 и Xcode 9;
- инструменты для непрерывной интеграции;
- автоматизация тестирования;
- обновлённый вид карты и основные характеристики местоположения;
- безопасность iOS 11 и автозаполнение пароля;
- создание приложений для работы с сервисом iMessage и стикерами;
- интеграция Siri с помощью Siri Kit;
- создание приложений для Apple Watch.
Patrick Alessi
«Beginning iOS Game Development»
Для специалистов, не имеющих опыта работы с платформой iOS. Автор книги Патрик Алесси, профессиональный iOS-разработчик, представляет архитектуру системы, пошаговые инструкции по разработке игр и знакомит с языками разработки. Начиная с основных структурных элементов и заканчивая рисованием, реагированием на взаимодействие с пользователем, анимацией и звуком, эта книга представляет собой универсальный инструмент для создания и запуска игры.
Arjan Egges
«Swift Game Programming for Absolute Beginners»
Как и следует из названия, книга написана специально для начинающих. С помощью подробного руководства автора вы напишете четыре простые и забавные игры.
Книга примечательна подходом — «быстрое» программирование, которое основано не на синтаксисе языка, а на структуре игры. Вы научитесь создавать игровые миры, управлять игровыми объектами и состояниями, определять уровни прохождения игроками, реализовывать анимацию на основе реалистичной физики и многое другое. Попутно вы будете изучать язык в игровом контексте.
Muhammad A. Moniem
«Learning Unreal Engine iOS Game Development»
Автор в пошаговых инструкциях объяснил весь процесс разработки под iOS — от написания кода игры до отправки её на сервер. Если вы разработчик игр, дизайнер, художник или новичок в этой индустрии и хотите создавать iOS-игры, эта книга для вас. В процессе изучения материала вы освоите:
- установку, сборку и компиляцию Unreal Engine 4 на Mac OS X и его подготовку к разработке под iOS;
- процесс создания iOS-игры и требования к ней;
- построение различных типов современной игровой механики для устройств на базе iOS;
- контроль взаимодействия пользователя с помощью социальных функций внутри Unreal Engine 4;
- разработку iOS игр с использованием инструментов и функций, предоставляемых Unreal Engine 4;
- использование возможностей монетизации.
James Goodwill, Wesley Matlock
«Beginning Swift Games Development for iOS»
Эта книга предназначена для разработчиков приложений под iOS, новичков в Swift или для тех, кто впервые задумывается о разработке мобильных приложений для этой системы. После её прочтения вы создадите своё первое приложение, которое сможете запустить на любом устройстве с поддержкой iOS и, возможно, продать в Apple iTunes App Store.
Вы узнаете:
- что такое язык программирования Swift;
- как применить его в разработке игр для iOS;
- как использовать SpriteKit со Swift;
- как использовать SceneKit со Swift;
- как создать своё первое приложение для 2D-игр, используя SpriteKit и Swift;
- как построить 3D-игру из 2D, используя SceneKit и Swift.
«App Development with Swift»
Курс по языку программирования от самих создателей языка.
Учебник начинается со знакомства с инструментами разработки iOS, основными концепциями программирования на Swift, а также с лучшими отраслевыми практиками. Следуйте пошаговой учебной программе, выполняйте практические упражнения и создавайте с нуля своё первое приложение для системы iOS в соответствии с последними требованиями.
Leigh Williamson, John Ponzo, Patrick Bohrer, Ricardo Olivieri, Karl Weinmeister, Samuel Kallner
«Swift in the Cloud»
Уникальная книга, написанная командой разработчиков, которая помогла перенести язык Swift в облачные вычисления. Это своего рода квинтэссенция их опыта, руководство по написанию и запуску программ для облачной среды на языке Swift. Здесь вы найдёте полный обзор всех аспектов создания и запуска приложений на языке Swift в среде облачных вычислений, дополненный примерами реального кода, с которым вы сразу можете начать работать и экспериментировать.
Jon Hoffman
«Mastering Swift 5: Deep dive into the latest edition of the Swift programming language»
5th edition
Благодаря этому исчерпывающему руководству вы узнаете всё о Swift — от основ языка до популярных функций, таких как параллелизм, обобщения и управление памятью. Обновленное издание рассказывает о пятой версии языка Swift, рассматривая самые актуальные его возможности, подкреплённые живыми примерами кода. Автор раскрывает темы обработки ошибок, замыкания и расширения протокола, применения протокол-ориентированного программирования и многие другие.
Matt Neuburg
«Programming iOS 12: Dive Deep into Views, View Controllers, and Frameworks»
Книга подойдёт тем, кто уже знаком с основами Swift, XCode и средой Cocoa. Автор предлагает более глубокое изучение процесса создания приложений, в частности, управление контроллерами и добавление функций из фреймворков iOS.
Все инструкции сопровождаются примерами кода, который доступен на GitHub для скачивания, изучения и запуска. Книга описывает все новинки iOS 12, изменения в Xcode 10 и Swift 4.2. Кроме того, к выходу готовится переиздание — для iOS 13.
Заключение
В статье приведено два списка книг для программистов разных уровней, желающих погрузиться в мобильную разработку. На чём фокусируетесь вы — Android или iOS? Если вы пока не определились со специализацией, рекомендуем записаться на курс «Профессия Мобильный разработчик», где вы станете настоящим универсалом, который способен создать с нуля приложение для любой системы. Здесь вы изучите все нюансы разработки мобильных приложений, которые не поместятся ни в какие книги.