Как я несколько лет боролся с прокрастинацией и победил: полное практическое руководство
Решил я тут статью почитать и отложил на потом 😁
А если серьезно, не знаю насколько будет актуально кому-то из вас, но статья интересная и с полезными советами.
Читать (Ru)
Решил я тут статью почитать и отложил на потом 😁
А если серьезно, не знаю насколько будет актуально кому-то из вас, но статья интересная и с полезными советами.
Читать (Ru)
👍20😁6🤨2👎1
Как можно хранить стабы для MockWebServer в Android-тестах
QA Automation Engineer из мобильной платформенной команды Delivery Club поделился опытом подмены и хранения ответов бэкенда при UI-автоматизации тестирования курьерского Android-приложения.
В статье рассматриваются известные способы создания сетевых заглушек в Android-тестах, а также как их подключать и в чем плюсы и недостатки каждого из них.
Читать (Ru)
QA Automation Engineer из мобильной платформенной команды Delivery Club поделился опытом подмены и хранения ответов бэкенда при UI-автоматизации тестирования курьерского Android-приложения.
В статье рассматриваются известные способы создания сетевых заглушек в Android-тестах, а также как их подключать и в чем плюсы и недостатки каждого из них.
Читать (Ru)
👍7🔥3⚡1
Как настроить Charles
Подробный гайд по настройке и подключению Charles Proxy.
Если вдруг кто-то не занет или не пользовался, рекомендую попробовать. Из наиболее популярных функций, которыми чаще всего пользуются: подмена сертификата, моки ответов с бэка и мониторинг трафика.
Полезно как тестировщикам, так и разработчикам.
Читать (Ru)
Подробный гайд по настройке и подключению Charles Proxy.
Если вдруг кто-то не занет или не пользовался, рекомендую попробовать. Из наиболее популярных функций, которыми чаще всего пользуются: подмена сертификата, моки ответов с бэка и мониторинг трафика.
Полезно как тестировщикам, так и разработчикам.
Читать (Ru)
👍24🔥7⚡1
Игра в маляра, или Content-based color scheme: как цветовая схема приложения может меняться в зависимости от контента
А вот интересный пример, как можно сделать динамическую тему в приложении с генерацией цветовой схемы на основе контента (картинки) – аля Dynamic Colors из Material Design 3.
"Неожиданный плюс, который мы получили от нашей реализации, — она работает и на версиях младше Android 12 — в отличие от Dynamic Сolors на основании wallpapers" 🤘
Код на GitHub → Dynamic Theme Sample
Читать (Ru)
А вот интересный пример, как можно сделать динамическую тему в приложении с генерацией цветовой схемы на основе контента (картинки) – аля Dynamic Colors из Material Design 3.
"Неожиданный плюс, который мы получили от нашей реализации, — она работает и на версиях младше Android 12 — в отличие от Dynamic Сolors на основании wallpapers" 🤘
Код на GitHub → Dynamic Theme Sample
Читать (Ru)
👍10🔥2🤔1
Вам нужен чистый код? Используйте правило шести
Еща одна интересная статья, не совсем на профильную тему, но не менее актуальную. В статье на простом примере показывается (в контексте строк), как с помощью "правила шести" сделать код более чистым и понятным для восприятия.
Читать (Ru)
Еща одна интересная статья, не совсем на профильную тему, но не менее актуальную. В статье на простом примере показывается (в контексте строк), как с помощью "правила шести" сделать код более чистым и понятным для восприятия.
Читать (Ru)
👍8⚡1🔥1
Reorder items with Drag and Drop using SwiftUI
Простой пример реализации Drag and Drop в списке на SwiftUI.
Читать (En)
Простой пример реализации Drag and Drop в списке на SwiftUI.
Читать (En)
👍5🔥3👨💻1
This media is not supported in your browser
VIEW IN TELEGRAM
AutoSizing TextField in Jetpack compose
Пример реализации динамичного размера текста, подгоняемого под размеры поля ввода в Jetpack compose.
Читать (En)
Пример реализации динамичного размера текста, подгоняемого под размеры поля ввода в Jetpack compose.
Читать (En)
👍11🔥5⚡3
Introducing the Architecture Templates
Тут Гугл выпустил репозиторий с набором шаблонов, которые могут помочь стартануть проект с нуля или быстро проводить эксперименты.
Все проекты используют лучшие практики и соответствуют архитектурным рекомендациям от Гугла.
👉 Room Database
👉 Dependency injection with Hilt
👉 Jetpack ViewModel
👉 Jetpack Compose and Material3
👉 Jetpack Navigation
👉 Reactive data layer
👉 Kotlin Coroutines and Flow
👉 Unit tests
👉 UI tests with Hilt
👉 KTS gradle files
👉 Version catalog
Код на GitHub → Android Architecture Starter Templates
Читать (En)
Тут Гугл выпустил репозиторий с набором шаблонов, которые могут помочь стартануть проект с нуля или быстро проводить эксперименты.
Все проекты используют лучшие практики и соответствуют архитектурным рекомендациям от Гугла.
👉 Room Database
👉 Dependency injection with Hilt
👉 Jetpack ViewModel
👉 Jetpack Compose and Material3
👉 Jetpack Navigation
👉 Reactive data layer
👉 Kotlin Coroutines and Flow
👉 Unit tests
👉 UI tests with Hilt
👉 KTS gradle files
👉 Version catalog
Код на GitHub → Android Architecture Starter Templates
Читать (En)
👍25⚡3🔥3
Kotlin Abstraction
Неплохая статья с примерами про абстрактные классы в Kotlin, да и в целом про абстракцию. Полезно может быть начинающим.
Читать (En)
Неплохая статья с примерами про абстрактные классы в Kotlin, да и в целом про абстракцию. Полезно может быть начинающим.
Читать (En)
🔥12👍4👎1👏1
Ангелы Charles: Как сниффер поможет разработчикам мобильных приложений
Вторая часть про Charles, в которой детально рассматриваются его популярные функции с примерами и кейсы, в которых он может пригодиться разработчикам и тестировщикам.
Читать (Ru)
Вторая часть про Charles, в которой детально рассматриваются его популярные функции с примерами и кейсы, в которых он может пригодиться разработчикам и тестировщикам.
Читать (Ru)
👍8🔥3👏1
7 Android Resources To Level Up As a Developer
Несколько полезных ресурсов для Android-разработчиков. От официальной документации до различных сервисов с рассылками, блогов на Medium, Android Arsenal и т.д.
Читать (En)
Несколько полезных ресурсов для Android-разработчиков. От официальной документации до различных сервисов с рассылками, блогов на Medium, Android Arsenal и т.д.
Читать (En)
👍15👎2🔥2🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
Делаем кастомный Collapsing Toolbar на Jetpack Compose
Статья от hh про то, как они делали кастомный компонент в Jetpack Compose аналогичный CollapsingToolbarLayout из привычного View-мира.
Читать (Ru)
Статья от hh про то, как они делали кастомный компонент в Jetpack Compose аналогичный CollapsingToolbarLayout из привычного View-мира.
Читать (Ru)
👍35⚡4🔥2👎1
Bottom sheet: Scrolling and interactions
Завершающая статья в серии про bottom sheet. Структура проекта и базовые классы описаны в первой статье, а во втором материале разобрано, как воссоздать полноценную навигацию в рамках bottom sheet отображения, основанного на autolayout.
Читать (Ru)
Завершающая статья в серии про bottom sheet. Структура проекта и базовые классы описаны в первой статье, а во втором материале разобрано, как воссоздать полноценную навигацию в рамках bottom sheet отображения, основанного на autolayout.
Читать (Ru)
👍14🔥2⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
Utilising the Canvas in Jetpack Compose to build a SquareSegmentedProgressIndicator
Реализация кастомного прогресcа на канвасе в Jetpack Compose.
Читать (En)
Реализация кастомного прогресcа на канвасе в Jetpack Compose.
Читать (En)
🔥12👍4👏2
Не обманывайте себя: вы не «исправите это потом»
А вот прикольная статья про костыли в проде, которые мы иногда пишем из-за нехватки времени или еще по каким-либо причинам, с надеждой сделать красиво когда-то потом.
Вывод: нужно стараться писать сразу нормально (что не всегда получается), заводить таски на техдолг и в каждом спринте выделять время на техдолги.
Если что, оригинал статьи тут.
Читать (Ru)
А вот прикольная статья про костыли в проде, которые мы иногда пишем из-за нехватки времени или еще по каким-либо причинам, с надеждой сделать красиво когда-то потом.
Вывод: нужно стараться писать сразу нормально (что не всегда получается), заводить таски на техдолг и в каждом спринте выделять время на техдолги.
Если что, оригинал статьи тут.
Читать (Ru)
👍8🔥2🤔1
Principles & Practice in Repository Layer
Еще одна статья про архитектуру, а именно про принципы и практики в data слое (репозиторий).
👉 Mapping
👉 Cache
👉 Concurrency
👉 Single Source-of-truth
Читать (En)
Еще одна статья про архитектуру, а именно про принципы и практики в data слое (репозиторий).
👉 Mapping
👉 Cache
👉 Concurrency
👉 Single Source-of-truth
Читать (En)
👍21👎2❤🔥1🔥1
Lessons learned while modularizing an application
Большая статья, в которой автор делится опытом масштабирования приложения, а именно разделением на модули (опыт, сложности, как разбивать на модули, структура проекта, абстракции и т.д.).
На Хабре есть перевод в 2-ух частях
👉 Часть 1 (Ru)
👉 Часть 2 (Ru)
Читать (En)
Большая статья, в которой автор делится опытом масштабирования приложения, а именно разделением на модули (опыт, сложности, как разбивать на модули, структура проекта, абстракции и т.д.).
На Хабре есть перевод в 2-ух частях
👉 Часть 1 (Ru)
👉 Часть 2 (Ru)
Читать (En)
👍13🔥2⚡1
Injecting SavedStateHandle into ViewModel using Dagger 2 and Jetpack Compose
Статья с примером, как можно заинжектить SavedStateHandle во ViewModel через Dagger 2
Код на GitHub → ComposeViewModelDagger
Читать (En)
Статья с примером, как можно заинжектить SavedStateHandle во ViewModel через Dagger 2
@AssistedInject для Jetpack Compose.Код на GitHub → ComposeViewModelDagger
Читать (En)
👍11🤔2👎1🔥1🥱1
Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку Android-приложений
Интересная статья от Яндекса об их новом опенсорс-фреймворке Yatagan. Можно узнать о технических моментах, которые всплыли в процессе реализации, отличиях от Dagger и о том, какие условия идеальны для применения библиотеки.
Код на GitHub → Yatagan
Читать (Ru)
Интересная статья от Яндекса об их новом опенсорс-фреймворке Yatagan. Можно узнать о технических моментах, которые всплыли в процессе реализации, отличиях от Dagger и о том, какие условия идеальны для применения библиотеки.
Код на GitHub → Yatagan
Читать (Ru)
🤮22👍20🤔5🔥2🤡2
Kotlin Symbol Processing. От теории до практики
Отличная статья про Kotlin Symbol Processing.
👉 Ограничения при работе с KSP
👉 Процесс работы в общем
👉 Способы запуска KSP
👉 Как KSP находит и создаёт провайдеры
👉 Зачем нужны провайдеры
👉 Как работает отдельно взятый процессор
👉 Ссылки на типы и получение типов
Код с примером из статьи → Sample-ksp-component-builder
Читать (Ru)
Отличная статья про Kotlin Symbol Processing.
👉 Ограничения при работе с KSP
👉 Процесс работы в общем
👉 Способы запуска KSP
👉 Как KSP находит и создаёт провайдеры
👉 Зачем нужны провайдеры
👉 Как работает отдельно взятый процессор
👉 Ссылки на типы и получение типов
Код с примером из статьи → Sample-ksp-component-builder
Читать (Ru)
👍10🔥2⚡1
Что посмотреть на выходных. Подборка полезностей👇
Накопилось достаточно много видосов, которые не публиковал – собрал всё в один пост. Доклады с Mobius, записи докладов с митапов Tinkoff и red_mad_robot.
iOS💸
👉 Generics in Swift
👉 Метаморфоза архитектуры: от SOA до микрофичей
👉 Нативная навигация в SwiftUI до iOS16: опыт в проде
👉 Как мы справляемся с большим размером кодовой базы в наших iOS-проектах
👉 Tuist: от монолита к uFeature
👉 Введение в Swift Runtime
👉 Nivelir — новый фреймворк навигации в iOS
👉 Independency: сбрасываем оковы CocoaPods
Android🖥
👉 Coroutines: боль обработки ошибок
👉 Анимации в Compose
👉 Многомодульность и Koin 3
👉 DI в Android в 2022
👉 Артефакты, или Туда и обратно. Использование внутренних библиотек между проектами
👉 Оптимальная архитектура фермы эмуляторов Android-устройств
👉 Системный подход к улучшению старта Android-приложения
Common 🛠
👉 Разработка собственной библиотеки
👉 UI-kit для мобильных приложений
👉 Добавляем комфорта в работу с WebView
👉 KMM: Reduce'им сложность
👉 SUI на Flutter
👉 Платформенные команды в мобильной разработке
👉 Анализ бигдаты показал... Всё о метриках качества
👉 MVI и State Machine — визуализация и анализ диаграммы состояний с помощью VisualFSM
👉 PWA на Flutter из мобильного приложения
👉 Делаем удобное взаимодействие с Kotlin из Swift
Накопилось достаточно много видосов, которые не публиковал – собрал всё в один пост. Доклады с Mobius, записи докладов с митапов Tinkoff и red_mad_robot.
iOS
👉 Generics in Swift
👉 Метаморфоза архитектуры: от SOA до микрофичей
👉 Нативная навигация в SwiftUI до iOS16: опыт в проде
👉 Как мы справляемся с большим размером кодовой базы в наших iOS-проектах
👉 Tuist: от монолита к uFeature
👉 Введение в Swift Runtime
👉 Nivelir — новый фреймворк навигации в iOS
👉 Independency: сбрасываем оковы CocoaPods
Android
👉 Coroutines: боль обработки ошибок
👉 Анимации в Compose
👉 Многомодульность и Koin 3
👉 DI в Android в 2022
👉 Артефакты, или Туда и обратно. Использование внутренних библиотек между проектами
👉 Оптимальная архитектура фермы эмуляторов Android-устройств
👉 Системный подход к улучшению старта Android-приложения
Common 🛠
👉 Разработка собственной библиотеки
👉 UI-kit для мобильных приложений
👉 Добавляем комфорта в работу с WebView
👉 KMM: Reduce'им сложность
👉 SUI на Flutter
👉 Платформенные команды в мобильной разработке
👉 Анализ бигдаты показал... Всё о метриках качества
👉 MVI и State Machine — визуализация и анализ диаграммы состояний с помощью VisualFSM
👉 PWA на Flutter из мобильного приложения
👉 Делаем удобное взаимодействие с Kotlin из Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12⚡4🔥3👏2❤1