Kotlin Coroutines. От А до Я
Ещё одна большая статья-шпаргалка для начинающих по корутинам.
🟢 Шпаргалка по корутинам
🟢 Зачем нужны корутины?
🟢 Suspend в Котлин
🟢 Библиотека kotlinx.corourines
🟢 Три способа войти в корутинный мир
🟢 Область видимости корутины. CoroutineScope и GlobalScope
🟢 CoroutineContext или как настроить свою корутину
🟢 Работа не Job, или все таки Job? Разбираемся в Job и Deferred
🟢 Запуск корутины с помощью Coroutine Builders. launch и async
🟢 Dispatchers. Основные виды диспетчеров в корутинах и область их применения
🟢 Способы обработок ошибок в корутинах
🟢 Отмена корутин
🟢 Создание своего пользовательского CoroutineScope
Читать (Ru)
Ещё одна большая статья-шпаргалка для начинающих по корутинам.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥9👍5❤2
Advanced Kotlin Flow Cheat sheet (for Android Engineer)
Большая статья-шпаргалка по Kotlin Flow, с разбором основных концепций Channel, Flow, SharedFlow, StateFlow и различных операторов.
👉 Cold streams VS Hot streams
👉 Channel
👉 Flow
👉 SharedFlow
👉 StateFlow
Читать (En)
Большая статья-шпаргалка по Kotlin Flow, с разбором основных концепций Channel, Flow, SharedFlow, StateFlow и различных операторов.
👉 Cold streams VS Hot streams
👉 Channel
👉 Flow
👉 SharedFlow
👉 StateFlow
Читать (En)
12👍7🔥4❤2👌1
Approaches for Multi-Module Feature Architecture on Android
Статья с разбором 4-х различных подходов к организации мультимодульной архитектуры в Android, с плюсами и минусами.
Читать (En)
Статья с разбором 4-х различных подходов к организации мультимодульной архитектуры в Android, с плюсами и минусами.
Читать (En)
👍7🔥3❤1👎1👨💻1
Как переход на AGP&Gradle 8.* изменил взгляд на работу с производительностью сборки
Разработчик из платформенной команды Одноклассников делится опытом перехода на AGP (Android Gradle Plugin) и Gradle версий 8.*: что стало причиной перехода, как преодолевали трудности, и что по итогу смогли получить в результате.
Читать (Ru)
Разработчик из платформенной команды Одноклассников делится опытом перехода на AGP (Android Gradle Plugin) и Gradle версий 8.*: что стало причиной перехода, как преодолевали трудности, и что по итогу смогли получить в результате.
Читать (Ru)
😁7🔥3👍2🤔1
Собеседование по System Design: как запроектировать и не потеряться
Довольно крутая статья-чеклист про то, как задизайнить условный сервис на System Design собесе и не потеряться.
👉 Начало интервью и вводные данные
👉 Функциональные требования
👉 Нефункциональные требования
👉 API и интеграции
👉 Жизненный цикл данных
👉 Схема архитектуры
👉 Расчёт ресурсов и финальные штрихи
Читать (Ru)
Довольно крутая статья-чеклист про то, как задизайнить условный сервис на System Design собесе и не потеряться.
👉 Начало интервью и вводные данные
👉 Функциональные требования
👉 Нефункциональные требования
👉 API и интеграции
👉 Жизненный цикл данных
👉 Схема архитектуры
👉 Расчёт ресурсов и финальные штрихи
Читать (Ru)
10👍11❤8🔥5🤩1
Forwarded from Swift Tips
Снифферы трафика в мобильном тестировании: Обзор инструментов и их особенности
Статья с обзором доступных инструментов для сниффинга трафика в мобилках.
• Fiddler
• HTTP Catcher
• Charles Proxy
• Burp Suite
• Packet Capture
• Reqable Google Play | Reqable App Store
• Proxyman
Полезно может быть как разработчикам, так и тестировщикам.
Читать (Ru)
Статья с обзором доступных инструментов для сниффинга трафика в мобилках.
• Fiddler
• HTTP Catcher
• Charles Proxy
• Burp Suite
• Packet Capture
• Reqable Google Play | Reqable App Store
• Proxyman
Полезно может быть как разработчикам, так и тестировщикам.
Читать (Ru)
👍11❤4🔥4
Loading Initial Data in LaunchedEffect vs. ViewModel
Большая статья про то, где и как лучше начинать загрузку данных для отображения в UI на Jetpack Compose.
👉
👉
👉
Читать (En)
Большая статья про то, где и как лучше начинать загрузку данных для отображения в UI на Jetpack Compose.
👉
ViewModel.init()👉
LaunchedEffect👉
StateFlow / SharedFlowЧитать (En)
🔥11👍5❤1
Best way to keep state in a ViewModel
В продолжении к вчерашнему посту, ещё одна статья – пример реализации, как организовать работу со стейтом и ивентами во ViewModel.
Читать (En)
В продолжении к вчерашнему посту, ещё одна статья – пример реализации, как организовать работу со стейтом и ивентами во ViewModel.
Читать (En)
👍5🔥4❤2👌1
Интересные приёмы, взятые из исходников Android
В статье рассматриваются некоторые интересные механики и приёмы написания кода из Android SDK, которые можно взять себе на вооружение.
Читать (Ru)
В статье рассматриваются некоторые интересные механики и приёмы написания кода из Android SDK, которые можно взять себе на вооружение.
Читать (Ru)
👍9🔥4🤔3👎1
Flutter vs Kotlin Multiplatform: что выбрать
Статья с разбором двух кроссплатформенных фреймворков Kotlin и Flutter, в которой рассматриваются их основные особенности и для каких проектов каждый из них подходит.
👉 Что такое Flutter?
👉 Преимущества и недостатки Flutter
👉 Что такое Kotlin Multiplatform?
👉 Преимущества и недостатки Kotlin Multiplatform
👉 Основные различия
Читать (Ru)
Статья с разбором двух кроссплатформенных фреймворков Kotlin и Flutter, в которой рассматриваются их основные особенности и для каких проектов каждый из них подходит.
👉 Что такое Flutter?
👉 Преимущества и недостатки Flutter
👉 Что такое Kotlin Multiplatform?
👉 Преимущества и недостатки Kotlin Multiplatform
👉 Основные различия
Читать (Ru)
👍7🔥5🤔3👎2
Type safe navigation for Compose
Там Гугл зарелизил Jetpack Navigation 2.8.0. Основное изменение – типобезопасная навигация для Compose.
Как использовать, что поддерживается и т.д. можно почитать в статье или в Release Notes.
Читать (En)
Там Гугл зарелизил Jetpack Navigation 2.8.0. Основное изменение – типобезопасная навигация для Compose.
Как использовать, что поддерживается и т.д. можно почитать в статье или в Release Notes.
Читать (En)
👍5🔥5❤2
Kotlin глазами Java-разработчика
Автор статьи делится собственным опытом изучения Kotlin после долгого периода программирования на Java, ну и приводит некоторые удобные штуки доступные в Kotlin, по типу: дефолтных и именованных аргументов, работы с NPE, однострочных методов, extension функций и т.д.
Читать (Ru)
Автор статьи делится собственным опытом изучения Kotlin после долгого периода программирования на Java, ну и приводит некоторые удобные штуки доступные в Kotlin, по типу: дефолтных и именованных аргументов, работы с NPE, однострочных методов, extension функций и т.д.
Читать (Ru)
👍6🔥5🤔2
Architecture related decisions in Android
Цикл статей про архитектурные решения, в которых затрагиваются различные аспекты: рекомендации от гугла, чистая архитектура, организация слоёв, обработка ошибок и т.д.
• Introduction
• Error handling and Monads
• Mapping
• Response and Reply classes
• The rest
Читать (En)
Цикл статей про архитектурные решения, в которых затрагиваются различные аспекты: рекомендации от гугла, чистая архитектура, организация слоёв, обработка ошибок и т.д.
• Introduction
• Error handling and Monads
• Mapping
• Response and Reply classes
• The rest
Читать (En)
👍9❤3🔥3
Основы Jetpack Compose: как обеспечить стабильность вашего кода
Полезная статья про то, как обеспечить стабильность вашего Jetpack Compose кода.
👉 Рекомпозиция и пропускаемость
👉 Что такое стабильность и как её отслеживать
👉 Debug
👉 Неочевидные моменты
👉 Лайфхаки
👉 Выводы
Читать (Ru)
Полезная статья про то, как обеспечить стабильность вашего Jetpack Compose кода.
👉 Рекомпозиция и пропускаемость
👉 Что такое стабильность и как её отслеживать
👉 Debug
👉 Неочевидные моменты
👉 Лайфхаки
👉 Выводы
Читать (Ru)
👍10🔥9❤3👎1
Forwarded from Swift Tips
BDUI: удовольствие или боль
Большой материал, в котором разработчик из Циан делится реальным опытом разработки собственного BDUI решения и рассказывает о нюансах, благодаря которым удалось извлечь выгоду из этой концепции.
🟢 Как мы пришли к BDUI
🟢 Выбор реализации
🟢 Разработка
🟢 Инпуты
🟢 Взаимосвязанные элементы
🟢 Форматирование
🟢 Валидация
🟢 Переходы
🟢 Вертолеты
🟢 Стратегия ошибок
🟢 Версионирование
🟢 Ретроспектива разработки
🟢 Метрики
🟢 Заключение
Читать (Ru)
Большой материал, в котором разработчик из Циан делится реальным опытом разработки собственного BDUI решения и рассказывает о нюансах, благодаря которым удалось извлечь выгоду из этой концепции.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6😁5🔥3❤1
Ускоряем Android-приложения с помощью Baseline Profiles
Разработчик юнита Performance в Авито рассказывает как им удалось ускорить время запуска приложения, с помощью внедрения Baseline Profiles.
👉 Какие проблемы компиляции стояли перед разработчиками раньше и при чём тут Baseline Profiles
👉 Что такое Baseline Profiles и зачем он нам понадобился
👉 Как мы тестировали Baseline Profiles
👉 Как мы автоматизировали сборку профиля и что из этого получилось
👉 Какие результаты принесли Baseline Profiles
👉 Что мы будем делать дальше
👉 Итог: нужны ли вам Baseline Profiles и что я советую сделать
Читать (Ru)
Разработчик юнита Performance в Авито рассказывает как им удалось ускорить время запуска приложения, с помощью внедрения Baseline Profiles.
👉 Какие проблемы компиляции стояли перед разработчиками раньше и при чём тут Baseline Profiles
👉 Что такое Baseline Profiles и зачем он нам понадобился
👉 Как мы тестировали Baseline Profiles
👉 Как мы автоматизировали сборку профиля и что из этого получилось
👉 Какие результаты принесли Baseline Profiles
👉 Что мы будем делать дальше
👉 Итог: нужны ли вам Baseline Profiles и что я советую сделать
Читать (Ru)
❤4👍3🔥3
Композим иконки. Улучшаем семантику и скорость отрисовки
Интересная статья про новый способ отрисовки иконок в 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