Композим иконки. Улучшаем семантику и скорость отрисовки
Интересная статья про новый способ отрисовки иконок в Jetpack Compose с помощью кода, который позволяет улучшить семантику и скорость отрисовки.
👉 Как было раньше
👉 Что изменилось в Compose
👉 Как добавлять иконки
Читать (Ru)
Интересная статья про новый способ отрисовки иконок в Jetpack Compose с помощью кода, который позволяет улучшить семантику и скорость отрисовки.
👉 Как было раньше
👉 Что изменилось в Compose
👉 Как добавлять иконки
Читать (Ru)
👍14🔥4❤3
Пишем простенький DI для Android приложения
Полезная статья с разбором базовых аспектов DI, на которых построены такие известные библиотеки как Dagger, Hilt и Koin и практическим примером того, как можно написать свое DI решение.
👉 Золотое трио: Dagger, Hilt и Koin
👉 Пишем свой DI контейнер
👉 Использование только что написанного DI
Читать (Ru)
Полезная статья с разбором базовых аспектов DI, на которых построены такие известные библиотеки как Dagger, Hilt и Koin и практическим примером того, как можно написать свое DI решение.
👉 Золотое трио: Dagger, Hilt и Koin
👉 Пишем свой DI контейнер
👉 Использование только что написанного DI
Читать (Ru)
👍9🔥4❤2
Gradle Convention Plugins: как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах
Старт цикла статей про то, как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах с помощью Gradle Convention Plugins.
В первой части рассматриваются проблемы с
Читать (Ru)
Старт цикла статей про то, как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах с помощью Gradle Convention Plugins.
В первой части рассматриваются проблемы с
build.gradle-файлами и подготавливается начальная настройка для написания Gradle Convention Plugins.Читать (Ru)
👍9🔥3❤2
Think you know if-else statements? Think Again!
Годная статья про распространенные ошибки при написании блоков if-else и с примерами красивых конструкций, с помощью которых ваш код будет более читаемым и понятным.
Читать (En)
Годная статья про распространенные ошибки при написании блоков if-else и с примерами красивых конструкций, с помощью которых ваш код будет более читаемым и понятным.
Читать (En)
🔥6👍5❤2👀1
Add powerful analytics modifiers in Jetpack Compose with ModifierLocal!
Интересный способ отправки событий в аналитику через кастомный modifiers.
Читать (En)
Интересный способ отправки событий в аналитику через кастомный modifiers.
Читать (En)
👍9🔥3👎1🤔1
Decompile and Recompile APK using Apktool : Beginners Guide
Если вдруг вы никогда этого не делали, но задумывались, то вот вам пошаговый гайд как декомпилить и собрать обратно APK с помощью всем известных тулзов.
• Apktool
• Keytool
• Apksigner
• Zipalign
• JD-GUI
• dex2jar
Читать (En)
Если вдруг вы никогда этого не делали, но задумывались, то вот вам пошаговый гайд как декомпилить и собрать обратно APK с помощью всем известных тулзов.
• Apktool
• Keytool
• Apksigner
• Zipalign
• JD-GUI
• dex2jar
Читать (En)
👍7🔥4❤3
Создание плагинов и переиспользуемых частей в .gradle.kts-файлах и Kotlin extension-функциях
Вторая часть из цикла "Как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах", в которой рассматривается создание плагинов и переиспользуемых частей в
Читать (Ru)
Вторая часть из цикла "Как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах", в которой рассматривается создание плагинов и переиспользуемых частей в
.gradle.kts-файлах и Kotlin extension-функциях.Читать (Ru)
🔥7👍3❤1👏1
Как следить за состоянием мобильного приложения?
Разработчик из Циан рассказывает, как они создавали Техническую Мобильную Аналитику (ТьМА) и получили возможность в любой момент времени ответить на вопрос: «Всё ли в порядке с приложением?»
👉 Какую проблему решаем
👉 Понятия технических метрик
👉 Технический инструментарий
👉 Устройство кластера телеметрии в Циан
👉 Реализация телеметрии в мобильных приложениях
👉 Создание метрики
👉 Что мерить?
👉 Сбор данных
👉 Построение графиков
👉 Настройка алертов
👉 Расследование проблем
👉 Вывод
Читать (Ru)
Разработчик из Циан рассказывает, как они создавали Техническую Мобильную Аналитику (ТьМА) и получили возможность в любой момент времени ответить на вопрос: «Всё ли в порядке с приложением?»
👉 Какую проблему решаем
👉 Понятия технических метрик
👉 Технический инструментарий
👉 Устройство кластера телеметрии в Циан
👉 Реализация телеметрии в мобильных приложениях
👉 Создание метрики
👉 Что мерить?
👉 Сбор данных
👉 Построение графиков
👉 Настройка алертов
👉 Расследование проблем
👉 Вывод
Читать (Ru)
❤5👍5🔥5👎1
Магия ссылок Системы быстрых платежей
В статье подробно рассказывается о том, как работают платежные ссылки.
👉 Пользовательский взгляд
👉 Платежные ссылки под капотом
👉 Особенности работы платежных ссылок на мобильных платформах
👉 Как выбрать подходящий тип платежной ссылки
Читать (Ru)
В статье подробно рассказывается о том, как работают платежные ссылки.
👉 Пользовательский взгляд
👉 Платежные ссылки под капотом
👉 Особенности работы платежных ссылок на мобильных платформах
👉 Как выбрать подходящий тип платежной ссылки
Читать (Ru)
👍4🔥4❤1
Создание Convention Plugin-ов на базе Kotlin-классов
Третья часть из цикла "Как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах", в которой рассматривается создание Convention Plugin‑ов на базе Kotlin‑классов.
Читать (Ru)
Третья часть из цикла "Как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах", в которой рассматривается создание Convention Plugin‑ов на базе Kotlin‑классов.
Читать (Ru)
❤2👍2🔥2
Проблема UseCase-ов: что нужно знать разработчикам Android
В статье автор развенчивает миф о UseCases и рассматривает случаи, когда они необходимы, а когда - просто пустая трата времени. Если вы Android-разработчик и задаетесь вопросом, приносите ли вы больше вреда, чем пользы, следуя этому шаблону, эта статья для вас.
Читать (Ru)
В статье автор развенчивает миф о UseCases и рассматривает случаи, когда они необходимы, а когда - просто пустая трата времени. Если вы Android-разработчик и задаетесь вопросом, приносите ли вы больше вреда, чем пользы, следуя этому шаблону, эта статья для вас.
Читать (Ru)
👍8❤2🔥2👎1
Forwarded from Swift Tips
Основы BDUI для продуктовых дизайнеров. Шпаргалка
Большая статья-шпаргалка от команды Альфа-Банка с описанием важных нюансов BDUI для продуктовых дизайнеров, а также опыт внедрения BDUI в дизайн-процессы с рекомендациями для тех, кто только начинает делать это у себя в продукте или команде.
👉 В чём суть BDUI, и чем он отличается от классического подхода к разработке
👉 Что такое контракт экрана, контракт компонента, и как с ним работать дизайнеру
👉 Как дизайнеру читать JSON
Читать (Ru)
Большая статья-шпаргалка от команды Альфа-Банка с описанием важных нюансов BDUI для продуктовых дизайнеров, а также опыт внедрения BDUI в дизайн-процессы с рекомендациями для тех, кто только начинает делать это у себя в продукте или команде.
👉 В чём суть BDUI, и чем он отличается от классического подхода к разработке
👉 Что такое контракт экрана, контракт компонента, и как с ним работать дизайнеру
👉 Как дизайнеру читать JSON
Читать (Ru)
👍6👎3❤2🔥2
Koin: как сделать свой DI за 10 минут
Большая статья с примером реализации своего механизма, на котором построен Koin, с разбором возможных проблем построения собственного DI.
👉 Кратко о Koin и Service Locator
👉 Как отличать одинаковые объекты
👉 Создание концепции модулей и удаление объектов из Map
👉 Возможность создания Singleton
👉 Проброс параметров
👉 Выводы
Эта статья будет полезна тем, кто использует Koin в своих приложениях, и тем, кто хочет сделать свой простой DI.
Читать (Ru)
Большая статья с примером реализации своего механизма, на котором построен Koin, с разбором возможных проблем построения собственного DI.
👉 Кратко о Koin и Service Locator
👉 Как отличать одинаковые объекты
👉 Создание концепции модулей и удаление объектов из Map
👉 Возможность создания Singleton
👉 Проброс параметров
👉 Выводы
Эта статья будет полезна тем, кто использует Koin в своих приложениях, и тем, кто хочет сделать свой простой DI.
Читать (Ru)
5👍9🔥4❤1
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