6 Aug 2026, 09:25 UTC149 views5 reactionsread 8 August 2026 Photo
Compose Layout API
Row, Column и Box закрывают почти всё, пока не появляется макет, который в них не ложится: чипы со своими правилами переноса, футер, которому нужна высота хедера, колонки одной ширины по самому длинному тексту.
Под тремя контейнерами лежит обычный публичный API: measure-политика, Constraints в целых пикселях и вторая фаза измерения для анимаций. В карточках рассмотрим шесть его кусков в порядке о…
👍2🔥2❤1
4 Aug 2026, 14:21 UTC179 views3 reactionsread 8 August 2026 Photo
Июль в мобилке был про то, как обе платформы готовятся к финальным осенним релизам. Compose дошёл до rc 1.12, а самому фреймворку исполнилось 5 лет — Google в юбилейном посте пошёл дальше поздравлений и формально закрепил Compose-first, отправив View toolkit в maintenance mode. На iOS параллельно обкатывается версия 27 через беты со свежим Siri.
🟣Compose 1.12.0-rc01
29 июля вышел Compose 1.12.0-rc01. Release Candid…
❤2👍1
30 Jul 2026, 09:10 UTC289 views10 reactionsread 8 August 2026 Photo
OkHttp interceptors — где какой ставить и когда нужен EventListener
Interceptor в OkHttp — способ вмешаться в запрос между вызовом и ответом. Через них добавляют заголовки, логируют, ретраят, кешируют. Interceptor можно поставить в двух местах — Application и Network, и они ведут себя по-разному. Плюс есть EventListener для метрик, который путают с interceptor. Разберём, где что.
OkHttpClient имеет два списка inter…
🔥4❤3👍3
28 Jul 2026, 09:01 UTC267 views12 reactionsread 8 August 2026 Photo
Kotlin inline и reified — зачем это вообще нужно
Про inline-функции в Kotlin многие знают только то, что «они быстрее» и стоят в стандартной библиотеке рядом с map и filter. На самом деле inline — это не про производительность в чистом виде, а про то, что можно сделать невозможное в обычных функциях: reified generics, non-local return из лямбд и полноценные DSL без runtime-оверхеда. Разберём по порядку.
Базовое пов…
❤5👍3🔥3👏1
23 Jul 2026, 09:20 UTC314 views11 reactionsread 8 August 2026 Photo
Анимации в Jetpack Compose — шесть инструментов на разные случаи
В Compose анимаций много, и легко запутаться, что где применять. В карточках разберёмся с шестью основными, которые закрывают почти всё:
🟣 animate*AsState для одного значения
🟣 updateTransition для связанных
🟣 AnimatedVisibility для появления и исчезновения
🟣 AnimatedContent для смены контента
🟣 Crossfade для плавной замены
🟣 InfiniteTransition для по…
👍4✍3❤2👏1🔥1
21 Jul 2026, 09:50 UTC330 views11 reactionsread 8 August 2026 Photo
Как ускорить старт приложения на 25–40% без переписывания кода
Baseline Profiles — это метаданные, которые сообщают ART, какие классы и методы нужно AOT-скомпилировать заранее, ещё до первого запуска. Обычно ART компилирует «горячий» код JIT-ом уже во время работы приложения, и на холодном старте это добавляет секунды. Baseline Profiles сдвигают компиляцию с устройства пользователя на этап сборки.
Как работает
При…
👍4❤3🔥3🤡1
16 Jul 2026, 10:00 UTC360 views15 reactionsread 8 August 2026 Photo
Как VK переезжали с XML на Jetpack Compose: базовые классы и паттерны
В большом Android-проекте VK с сотнями экранов долго жила классика — XML-вёрстка, Dagger 2, Cicerone для навигации, MVVM. С ростом кодовой базы связка начала подводить: разрозненные MutableStateFlow для каждого поля состояния давали моргания интерфейса (isLoading уже false, а items ещё пустой), фрагменты обрастали обвязкой на 200 строк, ревью экра…
👍4🔥4👏3🤮3❤1
Showing the 7 most recent of 7 posts we hold for @mobilehubvk. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.