Кроссплатформенные UI-фреймворки: архитектура и интеграция с Android View
Архитектурное сравнение Flutter, React Native, Ionic и Xamarin: как каждый фреймворк взаимодействует с нативными слоями Android, архитектура bridge, стратегии рендера и компромиссы по производительности и гибкости. Глубокий инженерный разбор кроссплатформенных UI-стеков.
Osman Suleimanov ··20 мин чтения
Черновик
Android UI под капотом·Часть 9
Compose Multiplatform: архитектура и интеграция с платформами
Как общая архитектура Compose переносится на Android, iOS и Desktop: структура runtime, использование Skia backend на desktop, интеграция с нативными слоями Android и iOS, организация UI-кода и стратегии адаптации к платформенным API.
Osman Suleimanov ··15 мин чтения
Черновик
Android UI под капотом·Часть 8
Jetpack Compose под капотом: архитектура дерева, SlotTable, Modifiers и рекомпозиция
Подробный разбор архитектуры Compose: формирование виртуального UI-дерева, внутренняя работа SlotTable и Group, цепочка Modifiers, механизм рекомпозиции и вызовы, которые обеспечивают декларативные обновления UI. Архитектурные связи с View и отличия от классического подхода.
Osman Suleimanov ··20 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий·Часть 7
Внутренности Compose Test: дерево семантики и проверка декларативного UI
Глубокий разбор того, как устроено тестирование Compose: семантическое дерево, API для декларативного тестирования UI и отличие от классических View-тестов. Как Compose-тесты упрощают проверку UI, но добавляют новые скрытые сложности.
Osman Suleimanov ··20 мин чтения
Черновик
Android UI под капотом·Часть 7
Vulkan в Android: современный low-level доступ к GPU
Что такое Vulkan и зачем он нужен Android: отличие от OpenGL, полный контроль над pipeline, улучшение производительности и энергоэффективности, сценарии использования, ограничения и архитектура интеграции в графическую подсистему Android. Глубокий технический обзор.
Osman Suleimanov ··16 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий·Часть 6
Читаемые UI-тесты с Kaspresso и Kakao: DSL за пределами Espresso
Разбор Kaspresso и Kakao: как Kotlin DSL делает UI-тесты более читаемыми, зачем Kaspresso повышает стабильность и в чём ценность сценарного подхода. Технические детали и философия дизайна этих фреймворков.
Osman Suleimanov ··20 мин чтения
Черновик
Android UI под капотом·Часть 6
OpenGL и шейдеры в Android: GPU pipeline, batching и оптимизация
Объяснение роли OpenGL в рендеринге Android, архитектура GPU pipeline, вершинные и фрагментные шейдеры, техники batching для повышения производительности, управление памятью и ключевые принципы низкоуровневой оптимизации графики.
Osman Suleimanov ··18 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий·Часть 5
Манипуляция байткодом и контроль: MockK против Mockito в Kotlin
Исследование магии манипуляции байткодом в MockK и Mockito: как они подменяют объекты, обрабатывают статические вызовы и обходят финальные ограничения Kotlin. Техническое путешествие в мир runtime-контроля и философию подмены объектов.
Osman Suleimanov ··20 мин чтения
Черновик
Android UI под капотом·Часть 5
Аппаратное ускорение в Android: принципы, ограничения и оптимизация
Зачем нужно hardware acceleration и как оно работает: какие операции выполняются на GPU, что остаётся на CPU, управление слоями, контроль overdraw, работа с прозрачностью и тенями, методы профилирования (GPU Profile, Overdraw Visualization). Чёткое понимание возможностей аппаратного рендера.
Osman Suleimanov ··17 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий·Часть 4
Синхронизация Espresso и контроль UI: внутри тестового фреймворка Android
Глубокий анализ внутренней механики Espresso: синхронизация потоков, idling resources и взаимодействие с Looper. Как Espresso определяет, что UI 'спокоен', и скрытые сложности при написании стабильных UI-тестов на Android.
Osman Suleimanov ··25 мин чтения
Черновик
Android UI под капотом·Часть 4
Skia: рендер-движок под Canvas и Compose
Как Skia преобразует команды Canvas в пиксели: архитектура render tree, кэширование DisplayList, разделение работы CPU и GPU, pipeline Skia внутри Android и Compose, обработка сложных кривых и фильтров. Технический разбор низкоуровневого рендера.
Osman Suleimanov ··18 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий·Часть 3
Внутренности Robolectric: мир теней и иллюзии JVM
Разбор секретного устройства Robolectric: как shadow-классы подменяют вызовы Android SDK, как создаются JVM-иллюзии для симуляции окружения и почему тесты Robolectric не являются полноценными Android-тестами. Технический и философский анализ иллюзий тестирования.
Osman Suleimanov ··20 мин чтения
Черновик
Android UI под капотом·Часть 3
Canvas в Android: архитектура, команды рисования и управление состояниями
Подробный разбор Canvas как базового API для отрисовки: управление внутренними состояниями, трансформации, clip-операции, batching команд, взаимодействие с Paint и Path. Что происходит внутри onDraw() и как Canvas влияет на производительность и гибкость UI.
Osman Suleimanov ··16 мин чтения
Черновик
Android под капотом: Тестирование без иллюзий·Часть 2
Инструментальные тесты под капотом: как Android выполняет ваш код
Исследование внутренней кухни инструментальных тестов Android: от AndroidJUnitRunner и TestInstrumentationRunner до ActivityTestRule и ActivityScenario. Как инструментатор взаимодействует с приложением и что на самом деле происходит при запуске тестов на устройстве или эмуляторе.
Osman Suleimanov ··25 мин чтения
Черновик
Android UI под капотом·Часть 2
Архитектура рендера в Android: RenderThread, SurfaceView, TextureView, Choreographer и управление слоями
Как Android управляет потоками рендера и синхронизацией кадров: структура RenderThread, механизмы Choreographer и VSync, различия SurfaceView и TextureView, использование DisplayList и назначение LayerType (hardware/software). Глубокий обзор архитектуры потоков и буферов.
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.
Osman Suleimanov ··22 мин чтения
Поиск статей
Загрузка данных для поиска...
Статьи не найдены. Попробуйте другие ключевые слова.