50 терминов системного дизайна, которые должен знать каждый разработчик
Не совсем мобильная тема, но для общего понимания и развития, точно лишним не будет – 50 терминов системного дизайна, которые должен знать каждый разработчик.
Читать (Ru)
Не совсем мобильная тема, но для общего понимания и развития, точно лишним не будет – 50 терминов системного дизайна, которые должен знать каждый разработчик.
Читать (Ru)
12🔥9❤2👍2
ByteWeaver в Open Source: инструментирование байт-кода Java во имя великого блага
Большая и полезная статья про байт‑код, как и зачем с ним работать, ByteWeaver и примеры работы с байт‑кодом.
👉 Что такое байт-код
👉 Инструменты для работы с байт-кодом
👉 ByteWeaver и история его становления
👉 Какой байт-код мы можем править
👉 Как можно править байт-код: пример работы с ByteWeaver
👉 Примеры реальных преобразований в проде
ByteWeaver — инструмент для патчинга байт‑кода во время сборки, который может быть полезен разработчикам под Android.
Читать (Ru)
Большая и полезная статья про байт‑код, как и зачем с ним работать, ByteWeaver и примеры работы с байт‑кодом.
👉 Что такое байт-код
👉 Инструменты для работы с байт-кодом
👉 ByteWeaver и история его становления
👉 Какой байт-код мы можем править
👉 Как можно править байт-код: пример работы с ByteWeaver
👉 Примеры реальных преобразований в проде
ByteWeaver — инструмент для патчинга байт‑кода во время сборки, который может быть полезен разработчикам под Android.
Читать (Ru)
👍10🔥4❤2
Прочие оптимизации кода Gradle Convention Plugins, выводы по результатам использования подхода
Заключительная часть из цикла "Как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах", в которой оптимизируется и рефакторится написанный в предыдущих частях код, настраивается область видимости convention-плагинов и extension-функций для конфигурации сборки + подводятся итоги данного подхода.
Читать (Ru)
Заключительная часть из цикла "Как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах", в которой оптимизируется и рефакторится написанный в предыдущих частях код, настраивается область видимости convention-плагинов и extension-функций для конфигурации сборки + подводятся итоги данного подхода.
Читать (Ru)
👍4❤2🔥2
Декларативный подход в организации gradle зависимостей в Android-проектах
В догонку ещё одна статья про Gradle, а именно про то, как упростить работу с зависимостями, с помощью своих extension функций.
Читать (Ru)
В догонку ещё одна статья про Gradle, а именно про то, как упростить работу с зависимостями, с помощью своих extension функций.
Читать (Ru)
🔥10🤔4👍3❤2👀1
Как зеленый Леруа Мерлен стал желтым Лемана ПРО
Я тут на недельку выпал, вначале отходил от небольшого отпуска, затем погряз в рабочие задачи. Чутка раскидался со всеми делами и возвращаюсь к публикациям.
Статья про то, как делали ребрендинг мобилок из Леруа Мерлен в Лемана ПРО.
👉 Цвета
👉 Картинки
👉 Название
👉 Lottie анимации
Читать (Ru)
Я тут на недельку выпал, вначале отходил от небольшого отпуска, затем погряз в рабочие задачи. Чутка раскидался со всеми делами и возвращаюсь к публикациям.
Статья про то, как делали ребрендинг мобилок из Леруа Мерлен в Лемана ПРО.
👉 Цвета
👉 Картинки
👉 Название
👉 Lottie анимации
Читать (Ru)
👍11🔥3❤2👎1
Как улучшить качество WebRTC-звонков на примере сервиса VK Звонки
Если вдруг делаете звонки через WebRTC, тут разработчик из VK рассказывает, как можно улучшить качество и реализовать некоторые доп. штуки.
👉 WebRTC
👉 Качество и оптимизация
👉 Демонстрация экрана
Читать (Ru)
Если вдруг делаете звонки через WebRTC, тут разработчик из VK рассказывает, как можно улучшить качество и реализовать некоторые доп. штуки.
👉 WebRTC
👉 Качество и оптимизация
👉 Демонстрация экрана
Читать (Ru)
👍13🔥4👎2🤔2
Forwarded from Swift Tips
Profiling apps using Instruments
Apple выпустила новую серию туториалов по использованию Instruments для анализа производительности, ресурсов и поведения приложений.
• Getting started with hang analysis
• Identifying a hang
• Analyzing main thread activity
• Determining execution frequency
• Reducing main thread work by doing less
• Executing work asynchronously
• Understanding synchronous and asynchronous hangs
• Ensuring work executes on a background thread
Читать (En)
Apple выпустила новую серию туториалов по использованию Instruments для анализа производительности, ресурсов и поведения приложений.
• Getting started with hang analysis
• Identifying a hang
• Analyzing main thread activity
• Determining execution frequency
• Reducing main thread work by doing less
• Executing work asynchronously
• Understanding synchronous and asynchronous hangs
• Ensuring work executes on a background thread
Читать (En)
👍5❤3🔥3
Тесты для функций compose в андроид
Туториал для начинающих по тестированию Android-приложений с использованием Jetpack Compose, в котором рассматриваются различные виды тестов, настройки и примеры инструментальных тестов для Compose функций.
👉 Зачем нужны вообще тесты?
👉 Основные виды тестов
👉 Практика
Читать (Ru)
Туториал для начинающих по тестированию Android-приложений с использованием Jetpack Compose, в котором рассматриваются различные виды тестов, настройки и примеры инструментальных тестов для Compose функций.
👉 Зачем нужны вообще тесты?
👉 Основные виды тестов
👉 Практика
Читать (Ru)
2👍7🔥6❤4
Корутины: stackful vs stackless
Довольно полезная статья, в которой автор объясняет разницу между stackless и stackful корутинами: чем они отличаются, какие у них плюсы и минусы, а также в общих чертах рассказывается, как в некоторых языках программирования реализована многопоточность.
👉 Процессы и Потоки
👉 Модель корутин поближе
👉 Stackful и Stackless корутины
👉 Переключение между корутинами
👉 Как реализован стек
👉 Где используются корутины
P.S. В статье корутины рассматриваются как общий концепт, без привязки к конкретному языку.
Читать (Ru)
Довольно полезная статья, в которой автор объясняет разницу между stackless и stackful корутинами: чем они отличаются, какие у них плюсы и минусы, а также в общих чертах рассказывается, как в некоторых языках программирования реализована многопоточность.
👉 Процессы и Потоки
👉 Модель корутин поближе
👉 Stackful и Stackless корутины
👉 Переключение между корутинами
👉 Как реализован стек
👉 Где используются корутины
P.S. В статье корутины рассматриваются как общий концепт, без привязки к конкретному языку.
Читать (Ru)
12❤10👍5🔥5
Динамические модули в приложениях на Android: опыт использования Dynamic Feature Delivery
Статья от разработчика Яндекс Go про интеграцию механизма Dynamic Feature Delivery в современную архитектуру Android‑приложения с использованием корутин и внедрение динамического модуля, использующего Flutter.
👉 SplitInstallManager: что это и как работает
👉 Реализация обёртки для SplitInstallManager
👉 Реализация и тестирование DynamicFeatureLoader
Читать (Ru)
Статья от разработчика Яндекс Go про интеграцию механизма Dynamic Feature Delivery в современную архитектуру Android‑приложения с использованием корутин и внедрение динамического модуля, использующего Flutter.
👉 SplitInstallManager: что это и как работает
👉 Реализация обёртки для SplitInstallManager
👉 Реализация и тестирование DynamicFeatureLoader
Читать (Ru)
👍6❤4🔥3
How we improved our 1Weather Android app cold startup time by over 70% and slow cold start sessions by over 24%
Статья про перформанс, а именно как и с помощью каких инструментов можно ускорить время старта приложения, посредством несложных оптимизаций.
Если коротко: анализ, StrictMode, ленивая инициализация зависимостей, инициализация SDK в бекграунд потоках, вёрстка на ConstraintLayout.
Читать (En)
Статья про перформанс, а именно как и с помощью каких инструментов можно ускорить время старта приложения, посредством несложных оптимизаций.
Если коротко: анализ, StrictMode, ленивая инициализация зависимостей, инициализация SDK в бекграунд потоках, вёрстка на ConstraintLayout.
Читать (En)
5🔥10👍7❤1
Gradle Convention Plugins: как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах
Собрал все ссылки на статьи из цикла "Gradle Convention Plugins: как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах" в один пост.
• Проблемы build.gradle-файлов и начальная настройка для написания Gradle Convention Plugins
• Создание плагинов и переиспользуемых частей в .gradle.kts-файлах и Kotlin extension-функциях
• Создание Convention Plugin-ов на базе Kotlin-классов
• Оптимизации кода Gradle Convention Plugins, выводы по результатам использования подхода
Собрал все ссылки на статьи из цикла "Gradle Convention Plugins: как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах" в один пост.
• Проблемы build.gradle-файлов и начальная настройка для написания Gradle Convention Plugins
• Создание плагинов и переиспользуемых частей в .gradle.kts-файлах и Kotlin extension-функциях
• Создание Convention Plugin-ов на базе Kotlin-классов
• Оптимизации кода Gradle Convention Plugins, выводы по результатам использования подхода
5👍10❤4🔥3
Forwarded from Swift Tips
This media is not supported in your browser
VIEW IN TELEGRAM
Open SwiftUI Animations
Репозиторий с реализациями большого количества разнообразных анимаций на SwiftUI.
GitHub → Open SwiftUI Animations
Репозиторий с реализациями большого количества разнообразных анимаций на SwiftUI.
GitHub → Open SwiftUI Animations
👍4❤3🔥3
Paint the Stars — Drawing with Compose and Canvas
Если вдруг вам нужно отрисовать вот такие звёздочки с планетами, на Canvas в Jetpack Compose, вот вам статья 😉
Читать (En)
Если вдруг вам нужно отрисовать вот такие звёздочки с планетами, на Canvas в Jetpack Compose, вот вам статья 😉
Читать (En)
🔥10❤4👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Compose Animations Playground
Репозиторий с набором различных анимаций для Compose Multiplatform.
GitHub → ComposeAnimationsPlayground
Репозиторий с набором различных анимаций для Compose Multiplatform.
GitHub → ComposeAnimationsPlayground
👍8🔥4🤔2
Решение проблемы race condition в Kotlin корутинах
Статья с разбором и примерами различных способов решения проблемы race condition в корутинах.
👉 Mutex
👉 Атомарные операции
👉 Channels
👉 Actors
👉 Semaphore
👉 SharedFlow или StateFlow
Читать (Ru)
Статья с разбором и примерами различных способов решения проблемы race condition в корутинах.
👉 Mutex
👉 Атомарные операции
👉 Channels
👉 Actors
👉 Semaphore
👉 SharedFlow или StateFlow
Читать (Ru)
7🔥14👍4❤3🤔1
Как в eXpress достигали мгновенного рендера отправки сообщения: оптимизация локальной базы данных
Разработчица из мессенджера eXpress рассказывает как они оптимизировали работу приложения, а именно ускоряли процесс отрисовки отправленного сообщения.
Читать (Ru)
Разработчица из мессенджера eXpress рассказывает как они оптимизировали работу приложения, а именно ускоряли процесс отрисовки отправленного сообщения.
В этой статье речь пойдет только о работе с локальной базой данных. Оптимизация БД — лишь часть большой работы, мы расскажем про наши решения по оптимизации presentation слоя в других статьях.
Читать (Ru)
🔥9👍7❤3👎1
Самые весёлые TODO из Android-фреймворка
В выходной день предлагаю почитать фановый материал от Абакара, с подборкой забавных тудух и комментов из AOSP.
Читать (Ru)
В выходной день предлагаю почитать фановый материал от Абакара, с подборкой забавных тудух и комментов из AOSP.
Читать (Ru)
🔥13😁8👍5👎1👀1
iOS 18 для разработчиков: Ключевые изменения в UIKit
Большая статья с обзором нововведений и самых интересных обновлений UIKit в iOS 18 — новый TabBar, анимации, совместимость UIKit/SwiftUI и т.д..
🟢 Сравнение кода в iOS 17 и iOS 18
🟢 Новый TabBar в iPadOS 18
🟢 Плавные переходы (fluid transitions)
🟢 Animations
🟢 Gesture recognizers
🟢 Automatic trait tracking
🟢 List environment trait
🟢 UIUpdateLink
🟢 Symbol animations
🟢 Sensory feedback
🟢 Text improvenments
🟢 Writing Tools support
Читать (Ru)
Большая статья с обзором нововведений и самых интересных обновлений UIKit в iOS 18 — новый TabBar, анимации, совместимость UIKit/SwiftUI и т.д..
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3🔥3❤1
Mastering Android ViewModels: Essential Dos and Don’ts Part 5
Пятая часть из цикла Mastering Android ViewModels, по лучшим практикам работы с ViewModel.
В этой части рассматривается
👉 Избегание хардкода
👉 Использование тестирования для
👉 Избегание раскрытия
Читать (En)
Пятая часть из цикла Mastering Android ViewModels, по лучшим практикам работы с ViewModel.
В этой части рассматривается
👉 Избегание хардкода
Coroutine Dispatchers👉 Использование тестирования для
ViewModels👉 Избегание раскрытия
suspend функцийЧитать (En)
4👍8🔥7❤3
Партнеры РСЯ смогут подключиться к мобильной аналитике AppMetrica в несколько кликов
AppMetrica упростила процесс получения доступа к расширенной аналитике, для этого достаточно:
👉 Зарегистрироваться в AppMetrica под логином в РСЯ или Adfox
👉 Заполнить профиль
👉 Связать с AppMetrica приложения, которые монетизируются с РСЯ
👉 Подтвердить согласие на передачу данных
После этого данные начнут подгружаться автоматически.
Если вы уже работаете с AppMetrica, вам нужно только добавить связь с приложением Yandex Mobile Ads SDK.
Читать (Ru)
AppMetrica упростила процесс получения доступа к расширенной аналитике, для этого достаточно:
👉 Зарегистрироваться в AppMetrica под логином в РСЯ или Adfox
👉 Заполнить профиль
👉 Связать с AppMetrica приложения, которые монетизируются с РСЯ
👉 Подтвердить согласие на передачу данных
После этого данные начнут подгружаться автоматически.
Если вы уже работаете с AppMetrica, вам нужно только добавить связь с приложением Yandex Mobile Ads SDK.
Читать (Ru)
🔥5❤3👍2