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
This media is not supported in your browser
VIEW IN TELEGRAM
Collapsing toolbar with parallax effect and curved motion in Jetpack Compose
Недавно была статья от hh, как они делали кастомный компонент (Collapsing Toolbar) на Jetpack Compose.
А вот собственно еще одна схожая статья, с подробным разбором и кодом как сделать Collapsing Toolbar с параллакс эффектом.
Читать (En)
Недавно была статья от hh, как они делали кастомный компонент (Collapsing Toolbar) на Jetpack Compose.
А вот собственно еще одна схожая статья, с подробным разбором и кодом как сделать Collapsing Toolbar с параллакс эффектом.
Читать (En)
👍7🔥5⚡1👏1🤔1
Самый запутанный краш в моей жизни
Для решения некоторых кейсов, багов, крешей часто приходиться ковырять исходники. Вот интересная статья про поиск причины креша, который воспроизводится только на 21 api и при выключенном R8.
Креш связан сdex файлами , подробнее читайте в статье.
Читать (Ru)
Для решения некоторых кейсов, багов, крешей часто приходиться ковырять исходники. Вот интересная статья про поиск причины креша, который воспроизводится только на 21 api и при выключенном R8.
Креш связан с
Читать (Ru)
👍17🔥8❤1🤔1
Maps Compose Library Tutorial for Android: Getting Started
Неплохой туториал по работе с Google картами в Jetpack Compose.
Читать (En)
Неплохой туториал по работе с Google картами в Jetpack Compose.
Читать (En)
👍9🔥1👏1
iOS: Clean Architecture using SwiftUI, Combine, and Dependency Injection
Еще одна статья про чистую архитектуру в iOS. На этот раз пример реализации на SwiftUI и Combine.
Читать (En)
Еще одна статья про чистую архитектуру в iOS. На этот раз пример реализации на SwiftUI и Combine.
Читать (En)
👍9🤔3🔥1
Настраиваем Gitlab CI для сборки Android-проекта
Подробный гайд по настройке GitLab CI для сборок Android-проектов.
Читать (Ru)
Подробный гайд по настройке GitLab CI для сборок Android-проектов.
Читать (Ru)
😁15👍7⚡1❤1🔥1👏1