Подборка материалов для Android-разработчиков

Kate

Administrator
Команда форума

«Site Reliability Engineering: How Google Runs Production Systems», Бетси Бейер​

7fe7116556434387ef3279fea390d193.png

Это книга от Google, а значит она доступна бесплатно в онлайн-версии на английском. Почти 600 страниц (в печатной версии), 34 подробных главы…

c487643d97ac176e1fe2ed829bfca025.png

…и 6 приложений с полезными материалами, вроде приложения с таблицами доступности…

62c2a493112ae793d796fc485a139a53.png

…или с примерами постмортемов.

f1078854ea5f95187258c25266a39afd.png

В целом, книга не о том, как надо делать, а о том, как это сделано в Google. Повторять их путь не обязательно, но что-то почерпнуть, например, в организационной части — можно.

И пусть вас не смущает SRE в названии — книга будет полезна не только DevOps-инженерам, как это казалось бы на первый взгляд.

Абакар Магомедов​

Android Tech Lead в приложении Альфа-Мобайл
«Книга не сильно связана с Андроид-разработкой, но в ней можно почерпнуть очень много важных моментов, когда вы хотите делать действительно крупный проект или систему. В книге описаны все виды граблей на которые можно понаступать пока вы создаете и поддерживаете крупную систему»

«Kotlin in Action», Дмитрий Жемеров, Светлана Исакова​

7a6a44eb60d8170d350ba02508d7a04f.png

Алексей Батурский​

Android-разработчик в приложении Альфа-Мобайл
«Kotlin сейчас — стандарт де-факто в разработке мобильных приложений под Андроид, в книге довольно ёмко и лаконично описаны основные фичи языка»
Описано практически всё: от инструментария до документирования, от системы типов до конструирования DSL. Написано коротко, ясно, по существу…

e2bf2ef6d3f41b74a1edec1d18479a85.png

…и с примерами.

d0e91bbc85ca203a8ae331eabbff5951.png

«Совершенный код», Стив Макконел​

fe56736c0bd01207990f6574add6bb41.png

Понять, что «Совершенный код» уже «взрослая» книга можно по обложке — сейчас таких не делают: ведь первое издание русскоязычной версии датируется 2005 годом, а англоязычную выпустили ещё в прошлом веке.

Но возраст здесь не помеха — принципы актуальны до сих пор, с учётом того, что есть довольно свежие версии с обновлениями.

Абакар Магомедов​

Android Tech Lead в приложении Альфа-Мобайл
«Отличная книга о том, почему чистота кода это важно и как её поддерживать. В книге большое количество примеров, что делает её чтение ещё интереснее»
Но есть одно «Но». Автор очень любит писать — почти 900 страниц, как никак. Вот типичный абзац.

«На уровне архитектуры ПО сложность проблемы можно снизить, разделив систему на подсистемы. Несколько несложных фрагментов информации понять проще, чем один сложный. В разбиении сложной проблемы на простые фрагменты и заключается цель всех методик проектирования ПО. Чем более независимы подсистемы, тем безопаснее сосредоточиться на одном аспекте сложности в конкретный момент времени. Грамотно определенные объекты разделяют аспекты проблемы так, чтобы вы могли решать их по очереди. Пакеты обеспечивают такое же преимущество на более высоком уровне агрегации. Стремление к краткости методов программы помогает снизить нагрузку на интеллект. Этому же способствует написание программы в терминах проблемной области, а не низкоуровневых деталей реализации, а также работа на самом высоком уровне абстракции»
«Совершенный код», Стив Макконел
И, кажется, Стив понимает, что пишет очень много:)

bc9807d8b174991618ce6ebafd3a5801.png

Лаконичности предыдущей книги «Совершенному коду» не хватает:)

«Совершенный алгоритм. Основы», Тим Рафгарден​

9d9474c912733b63f728a9f48d7ab763.png

Абакар Магомедов​

Android Tech Lead в приложении Альфа-Мобайл
«Очень интересная книга по алгоритмам. Автор описывает базовые термины как на научном, так и на простом языке. Причём даёт сразу две формулировки, чтобы сложилось более глубокое понимание предмета»
«Интересность» книги возникла не просто так. Ведь она основана на курсах по алгоритмам на Coursera, которые Рафгарден, в свою очередь, основал на лекциях, которые он же читал в Стэнфордском университете. Книга — это двойная производная от лекций, так сказать.

Шесть глав, 258 страниц, алгоритмы, и ничего лишнего.

d9f78ac09c5875830370da08dea1af2d.png

«Effective Java, 3rd Edition», Joshua Bloch​

bfd0cbb64507f6a58c0040889c48b3fd.png

— Так, а зачем здесь Java? Все новые приложения уже пишут на Kotlin!

Алексей Батурский​

Android-разработчик в приложении Альфа-Мобайл
«Всё верно, но проекты с легаси, написанным на Java никто не отменял. А ещё сами исходники Android SDK на Java, а залезать в них во время работы придётся»
Как пишут в отзывах, вы «точно поймёте, как используется та или иная функция»

Раз уж речь зашла о Java, то следующая рекомендация…

«Java Concurrency in Practice», Brian Goetz​

a9a4c9aed8dec0133261b48ce7d0071c.png

Алексей Батурский​

Android-разработчик в приложении Альфа-Мобайл
«В современных мобильных приложениях довольно много асинхронной работы. Конечно, она уже закрыта за большим количеством абстракций (kotlin coroutines, rxjava2, HandlerThread) — но не лишним будет узнать, как всё это работает на более низком уровне. В книге приводится довольно много фундаментальных проблем связанных с многопоточностью и работой с памятью. Сложное, но интересное чтиво»
Многопоточность сложная вещь. Не то, чтобы правильно реализовать — трудно объяснить. Но здесь автор применяет хитрую уловку — показывает как не надо делать, прежде чем рассказать как надо.

7507479564e01e8509182ccd0a3d58b1.png

«Jetpack Compose Internals», Jorge Castillo​

fec4feeaf1bb568ee3d1e3e751d7162b.png

Абакар Магомедов​

Android Tech Lead в приложении Альфа-Мобайл
«Compose сейчас все больше набирает популярность, как инструмент построения UI на Android. В этой книге описано, как он устроен под капотом. Всегда полезно знать, как работает тот инструмент, которым пользуешься в повседневной разработке»
Книга стоит 50 с лишним долларов и есть только на английском. Если это станет препятствием — можно почитать блог Хосе, там тоже достаточно статей о Jetpack Compose. Но глобального понимания, как книга, статьи не дадут.

«Идеальный программист», Роберт Мартин​

e571a861e92f3e3443fbff05271700ba.png

Абакар Магомедов​

Android Tech Lead в приложении Альфа-Мобайл
«Эта книга позволяет понять, что я не первый кто сталкивается с определенным типом проблем в карьере программиста и успокаивает даже снимает синдром самозванца. Если уж такой человек как Роберт Мартин ошибался и спокойно может написать книгу о своих ошибок, то и в моем случае в этом нет ничего критичного. Главное учиться на каждой своей ошибке»
В целом, книга скорее мотивирующая, чем техническая — в формате жизненный историй и уроков.

b3e9b79742134ee049d179d79a30561f.png

Прочитав её, сразу становится понятно, какую мораль (в хорошем смысле) от Роберта мы прочтём. Книгу можно читать даже если вы далеки от разработки — советы универсальные (почти все).

«Extreme Programming», Kent Bek​

4fcba60f9bae24fabc4a8e7308ecc290.png

Никита Горбунов​

Ведущий Android-разработчик в приложении Альфа-Мобайл
Книгу можно назвать гайдом по созданию ПО. Писал её человек с большим опытом, который успел поучаствовать в большом количестве проектов. Так лучше чем наступать на свои грабли прочитать о чужих»
«С большим опытом» это даже скромно:) Кент Бек — это легенда: один из авторов шаблонов/паттернов проектирования (да, у идеи паттернов есть авторы), автор JUnit, автор книг и подхода экстремального программирования. Это не все достижения, для этого есть отдельная статья у JUG Ru. Но даже этого короткого списка хватит, чтобы записать книгу в список обязательных для чтения.

 
Сверху