Сорок(и более) штрихов о прочитанных(переведённых) книгах.

Штрих двадцать четвёртый. 2017 год.

Сергей Косаревский, Виктор Латыпов. Мастеринг Android NDK. Приобретите навыки, необходимые для NDK-разработки переносимых, высоко функциональных приложений для ОС Android.

(Sergey Kosarevsky, Viktor Latypov. Mastering Android NDK. Master the skills you need to develop portable, highly-functional Android applications using NDK. ISBN 978-1-78528-833-3, Copyright © 2015 Packt Publishing)

p.s.

Выдержка из книги:

Предисловие

Эта книга является продолжением к книге «Android NDK Game Development Cookbook», опубликованной в 2013 году издательством Packt Publishing. Она охватывает NDK-разработку с вполне необычной точки зрения: построение мобильных C++-приложений переносимым способом так, чтобы они могли быть разработаны и отлажены на настольном компьютере. Этот подход значительно уменьшает итерации разработки и время интеграции контента, и важен в мире профессиональной разработки мобильных программ.

Для кого предназначена эта книга?

Эта книга предназначена для Android-разработчиков, знакомых с основными принципами Android NDK и желающих получить знания и опыт в «разработке игр, используя Android NDK. У читателей должен быть приемлемый опыт разработки Android-приложений.

Что рассматривает эта книга?

Глава 1 «Использование инструментов командной строки» показывает, как установить и сконфигурировать важные инструменты для низкоуровневой Android-разработки, используя командную строку, и показывает, как вручную с нуля написать основные конфигурационные файлы Android-приложения, не обращаясь к графическим интегрированным IDE-средам разработки.

Глава 2 «Низкоуровневые библиотеки» показывает, как построить популярные библиотеки C/C++ и соединить их с вашими приложений, используя Android NDK. Эти библиотеки являются стандартными блоками для реализации многофункциональных приложений с изображениями, видео, звуками и сетью, проведя разработку полностью на языке C++. Мы покажем, как скомпилировать библиотеки и, конечно, дать некоторые примеры и подсказки, как начать использовать их. Некоторые библиотеки обсуждены более подробно в последующих главах.

Глава 3 «Сети» сфокусирована на работе с сетью функциональностью из низкоуровневого C/C++-кода. Сетевые задачи асинхронные по своей природе и непредсказуемы с точки зрения синхронизации. Даже когда на нижележащем уровне установлено соединение, используя протокол TCP, то нет никакой гарантии на время доставки, и ничто не предохраняет приложение от заморозки в ожидании данных. Мы более внимательно рассмотрим реализацию базовых асинхронных механизмов переносимым способом.

Глава 4 «Организация виртуальной файловой системы» реализует низкоуровневые абстракции, чтобы иметь дело с независимым от операционных систем доступом к файлам и файловым системам. Мы покажем, как реализовать переносимый и прозрачный доступ к Android-активам, упакованным в .apk-файлах, без обращения к встроенным программным API-интерфейсам. Этот подход необходим при создании многоплатформенных приложений, которые являются отлаживаемыми в настольной среде.

Глава 5 «Межплатформенная потоковая передача аудио» на основе библиотеки OpenAL реализует действительно переносимую аудио подсистему для Android-устройств и настольных ПК. Код использует материал многопоточности из главы 3 «Сети».

Глава 6 «OpenGL ES 3.1 и межплатформенный рендеринг» фокусируется на том, как реализовать слой абстракции поверх библиотек OpenGL 4 и OpenGL ES 3, чтобы сделать наши графические C++-приложения, выполнимыми на Android-устройствах и настольных машинах.

Глава 7 «Межплатформенный пользовательский UI-интерфейс и система ввода» детализирует описание механизма, чтобы отрендерить геометрические примитивы и Unicode-текст. Вторая часть главы описывает многостраничный графический интерфейс пользователя, подходящий для того, чтобы быть краеугольным камнем для создания интерфейсов много-платформенных приложений. Эта глава заканчивается SDL-приложением, которое демонстрирует возможности нашей UI-системы в действии.

Глава 8 «Написание движка рендеринга» переместит на территорию реального рендеринга и использует тонкий слой абстракции, который обсужден в главе 6 «OpenGL ES 3.1 и межплатформенный рендеринг», чтобы реализовать 3D-фреймворк рендеринга, способный рендерить геометрию, загруженную из файлов, используя материалы, источники света и тени.

Глава 9 «Реализация игровой логики» представляет общий подход, чтобы организовать взаимодействия между кодом игры и частью пользовательского интерфейса приложения. Глава начинается с реализации алгоритма Boid-объектов и затем продолжается с расширением нашего пользовательского интерфейса, реализованного в предыдущих главах.

Глава 10 «Написание игры с астероидами» продолжает объединять вместе материал из предыдущих глав. Мы реализуем игру с астероидами с 3D-графикой, тенями, частицами и звуками, используя технологию и фрагменты кода, представленные в предыдущих главах.

Что потребуется для работы с книгой?

Эта книга предполагает, что у вас есть ПК на базе ОС Windows. Смартфон или планшет на базе ОС Android желательны из-за ограничений эмулятора в 3D-графики и низкоуровневом аудио. Примечание: Исходный код в этой книге основывается на движке Linderdaum Engine с открытым исходным кодом и является сжатой реализацией некоторых подходов и методов, используемых в движке. Вы можете получить его на сайте по адресу http://www.linderdaum.com.   Базовые знания языков C или C++, включая манипулирование указателями, многопоточность и базовые понятия объектно-ориентированного программирования подразумеваются. Вы должны быть знакомыми с продвинутыми концепциями программирования, такими как мульти-поточность и синхронизация, и иметь некоторое основное понимание GCC toolchains-цепочек инструментов. Разработка Android-приложений на языке Java не охвачена этой книгой. Вы должны будете прочитать что-то еще, чтобы знать это. Некоторое практическое знание линейной алгебры и аффинных преобразований в 3D-пространстве полезно для понимания глав, связанных с 3D-графикой.

Книга:

https://www.packtpub.com/product/mastering-android-ndk/9781785288333

Загрузка кода примеров для этой книги:

https://github.com/corporateshark/Mastering-Android-NDK

Загрузка цветных изображений для этой книги:

Нет.