Борис 11.12.2025
Застрял на 2-й главе. Книга хорошо и подробно описывает теоретические аспекты KMP, но как Android-разработчику без опыта iOS мне очень не хватает наглядности именно на этапе старта. В первой и второй главах много текстовых объяснений, но почти нет визуальных примеров структуры проекта: где именно лежат файлы в commonMain, iosMain, androidMain, как выглядит shared-модуль в реальном проекте, как разложены элементы архитектурного каркаса.
Автор даёт листинги кода, но не показывает, в какой каталог они попадают, в какой модуль, в какой sourceSet. В результате, когда речь идёт, например, о Platform, expect/actual, структуре учебного приложения, слоях каркаса, приходится постоянно догадываться, куда «это» должно лечь. Это особенно тяжело на этапе главы 2, где описывается каркас приложения и архитектура, но без визуальной структуры исходников.
Так как книга с самого начала позиционируется как практическая (и даже даёт ссылку на репозиторий), ожидаешь, что базовые схемы расположения кода будут прямо в тексте рядом с листингами — тем более что в книге активно используется иллюстративный материал в других местах (например, скриншоты Android Studio, диаграммы структуры проекта, визуализации SDK). Но этих визуальных ориентиров именно там, где они реально нужны новичку во второй платформе, нет.
Если ты знаешь обе платформы, вероятно, всё очевидно. Но если ты приходишь только с Android, глава 2 может вогнать в ступор и выбить ритм чтения, хотя сама по себе написана понятно. Буквально не хватает пары схем или скриншотов, чтобы мозг «зацепился» и пошёл дальше.
При этом книга явно ориентирована на профессионалов, это видно и по объёму, и по глубине глав про многопоточность, интероп, Ktor, KSP, тестирование, Compose Multiplatform. Но кажется, что именно стартовые главы требуют немного больше опоры для тех, кто впервые заходит в KMP со стороны только одной платформы.