Android-разработка

Глубокие технические материалы о платформе Android: архитектура, системные компоненты, UI и среда выполнения.

Черновик
Android UI под капотом · Часть 10

Кроссплатформенные UI-фреймворки: архитектура и интеграция с Android View

Архитектурное сравнение Flutter, React Native, Ionic и Xamarin: как каждый фреймворк взаимодействует с нативными слоями Android, архитектура bridge, стратегии рендера и компромиссы по производительности и гибкости. Глубокий инженерный разбор кроссплатформенных UI-стеков.

Author avatar Osman Suleimanov 20 мин чтения
Черновик
Android UI под капотом · Часть 9

Compose Multiplatform: архитектура и интеграция с платформами

Как общая архитектура Compose переносится на Android, iOS и Desktop: структура runtime, использование Skia backend на desktop, интеграция с нативными слоями Android и iOS, организация UI-кода и стратегии адаптации к платформенным API.

Author avatar Osman Suleimanov 15 мин чтения
Черновик
Android UI под капотом · Часть 8

Jetpack Compose под капотом: архитектура дерева, SlotTable, Modifiers и рекомпозиция

Подробный разбор архитектуры Compose: формирование виртуального UI-дерева, внутренняя работа SlotTable и Group, цепочка Modifiers, механизм рекомпозиции и вызовы, которые обеспечивают декларативные обновления UI. Архитектурные связи с View и отличия от классического подхода.

Author avatar Osman Suleimanov 20 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий · Часть 7

Внутренности Compose Test: дерево семантики и проверка декларативного UI

Глубокий разбор того, как устроено тестирование Compose: семантическое дерево, API для декларативного тестирования UI и отличие от классических View-тестов. Как Compose-тесты упрощают проверку UI, но добавляют новые скрытые сложности.

Author avatar Osman Suleimanov 20 мин чтения
Черновик
Android UI под капотом · Часть 7

Vulkan в Android: современный low-level доступ к GPU

Что такое Vulkan и зачем он нужен Android: отличие от OpenGL, полный контроль над pipeline, улучшение производительности и энергоэффективности, сценарии использования, ограничения и архитектура интеграции в графическую подсистему Android. Глубокий технический обзор.

Author avatar Osman Suleimanov 16 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий · Часть 6

Читаемые UI-тесты с Kaspresso и Kakao: DSL за пределами Espresso

Разбор Kaspresso и Kakao: как Kotlin DSL делает UI-тесты более читаемыми, зачем Kaspresso повышает стабильность и в чём ценность сценарного подхода. Технические детали и философия дизайна этих фреймворков.

Author avatar Osman Suleimanov 20 мин чтения
Черновик
Android UI под капотом · Часть 6

OpenGL и шейдеры в Android: GPU pipeline, batching и оптимизация

Объяснение роли OpenGL в рендеринге Android, архитектура GPU pipeline, вершинные и фрагментные шейдеры, техники batching для повышения производительности, управление памятью и ключевые принципы низкоуровневой оптимизации графики.

Author avatar Osman Suleimanov 18 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий · Часть 5

Манипуляция байткодом и контроль: MockK против Mockito в Kotlin

Исследование магии манипуляции байткодом в MockK и Mockito: как они подменяют объекты, обрабатывают статические вызовы и обходят финальные ограничения Kotlin. Техническое путешествие в мир runtime-контроля и философию подмены объектов.

Author avatar Osman Suleimanov 20 мин чтения
Черновик
Android UI под капотом · Часть 5

Аппаратное ускорение в Android: принципы, ограничения и оптимизация

Зачем нужно hardware acceleration и как оно работает: какие операции выполняются на GPU, что остаётся на CPU, управление слоями, контроль overdraw, работа с прозрачностью и тенями, методы профилирования (GPU Profile, Overdraw Visualization). Чёткое понимание возможностей аппаратного рендера.

Author avatar Osman Suleimanov 17 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий · Часть 4

Синхронизация Espresso и контроль UI: внутри тестового фреймворка Android

Глубокий анализ внутренней механики Espresso: синхронизация потоков, idling resources и взаимодействие с Looper. Как Espresso определяет, что UI 'спокоен', и скрытые сложности при написании стабильных UI-тестов на Android.

Author avatar Osman Suleimanov 25 мин чтения
Черновик
Android UI под капотом · Часть 4

Skia: рендер-движок под Canvas и Compose

Как Skia преобразует команды Canvas в пиксели: архитектура render tree, кэширование DisplayList, разделение работы CPU и GPU, pipeline Skia внутри Android и Compose, обработка сложных кривых и фильтров. Технический разбор низкоуровневого рендера.

Author avatar Osman Suleimanov 18 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий · Часть 3

Внутренности Robolectric: мир теней и иллюзии JVM

Разбор секретного устройства Robolectric: как shadow-классы подменяют вызовы Android SDK, как создаются JVM-иллюзии для симуляции окружения и почему тесты Robolectric не являются полноценными Android-тестами. Технический и философский анализ иллюзий тестирования.

Author avatar Osman Suleimanov 20 мин чтения
Черновик
Android UI под капотом · Часть 3

Canvas в Android: архитектура, команды рисования и управление состояниями

Подробный разбор Canvas как базового API для отрисовки: управление внутренними состояниями, трансформации, clip-операции, batching команд, взаимодействие с Paint и Path. Что происходит внутри onDraw() и как Canvas влияет на производительность и гибкость UI.

Author avatar Osman Suleimanov 16 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий · Часть 2

Инструментальные тесты под капотом: как Android выполняет ваш код

Исследование внутренней кухни инструментальных тестов Android: от AndroidJUnitRunner и TestInstrumentationRunner до ActivityTestRule и ActivityScenario. Как инструментатор взаимодействует с приложением и что на самом деле происходит при запуске тестов на устройстве или эмуляторе.

Author avatar Osman Suleimanov 25 мин чтения
Черновик
Android UI под капотом · Часть 2

Архитектура рендера в Android: RenderThread, SurfaceView, TextureView, Choreographer и управление слоями

Как Android управляет потоками рендера и синхронизацией кадров: структура RenderThread, механизмы Choreographer и VSync, различия SurfaceView и TextureView, использование DisplayList и назначение LayerType (hardware/software). Глубокий обзор архитектуры потоков и буферов.

Author avatar Osman Suleimanov 20 мин чтения
Черновик
Android UI под капотом · Часть 1

View в Android: от XML и LayoutInflater до ViewRootImpl и frame lifecycle

Полный путь создания и отображения View: парсинг XML, работа LayoutInflater, роль Window и ViewRootImpl, фазы measure/layout/draw, вызовы invalidate и requestLayout, а также полная цепочка вызовов в рамках frame lifecycle. Подробный разбор архитектуры классического UI рендера Android.

Author avatar Osman Suleimanov 22 мин чтения