Understand Kotlin Sealed class better
Отличная статья про то, как устроены Sealed классы под капотом и чем отличаются от Enum`ов.
Читать (En)
Отличная статья про то, как устроены Sealed классы под капотом и чем отличаются от Enum`ов.
Читать (En)
👍10🔥4🥱3❤1
Spot on: Android 14 adds highlights to TextViews
В Android 14 появится возможность выделять текст в TextView. Аналогично тому, как мы сейчас делаем через Spannable.setSpan().
Где-то в чатиках видел, что некоторым не зашло, но мне кажется это будет гораздо удобней, чем через span.
Дока тут → Highlights
Читать (En)
В Android 14 появится возможность выделять текст в TextView. Аналогично тому, как мы сейчас делаем через Spannable.setSpan().
Где-то в чатиках видел, что некоторым не зашло, но мне кажется это будет гораздо удобней, чем через span.
Дока тут → Highlights
Читать (En)
👍7🤔5❤2🔥2
10 Useful Kotlin Extension Functions for Android Developer
Еще один большой набор полезных Kotlin Extension функций для удобного использования.
👉 Print to Logcat
👉 View Visibility
👉 Toast Message
👉 Snackbar Message
👉 Hide Keyboard
👉 dp and px conversion
👉 Digit, Alphabetic, and Alphanumeric Check
👉 isNull, ifNull
👉 Date Formatter
Читать (En)
Еще один большой набор полезных Kotlin Extension функций для удобного использования.
👉 Print to Logcat
👉 View Visibility
👉 Toast Message
👉 Snackbar Message
👉 Hide Keyboard
👉 dp and px conversion
👉 Digit, Alphabetic, and Alphanumeric Check
👉 isNull, ifNull
👉 Date Formatter
Читать (En)
👍17🔥5❤2👎2🥴1
Элемент выбора эмодзи (aka EmojiPicker) для iOS как в MacOS
Статья от нашего читателя, в которой он делится опытом разработки собственной библиотеки(aka EmojiPicker) в стиле MacOS и с какими трудностями столкнулся в процессе.
Библиотека на GitHub → MCEmojiPicker
Читать (Ru)
Статья от нашего читателя, в которой он делится опытом разработки собственной библиотеки(aka EmojiPicker) в стиле MacOS и с какими трудностями столкнулся в процессе.
Библиотека на GitHub → MCEmojiPicker
Читать (Ru)
👍3🔥3❤1
Streamlining User Actions with the Command Pattern: A Practical Guide
Отличная статья с примером, как можно оптимизировать код действий пользователя с помощью паттерна Command. Актуально когда у вас может быть много экшенов.
В статье приводится пример на Jetpack Compose, но на самом деле применимо везде.
Читать (En)
Отличная статья с примером, как можно оптимизировать код действий пользователя с помощью паттерна Command. Актуально когда у вас может быть много экшенов.
В статье приводится пример на Jetpack Compose, но на самом деле применимо везде.
Читать (En)
👍7❤1🔥1
Exploring Kotlin’s Context Receivers
Еще одна отличная статья с подробным разбором фичи Context Receivers в Kotlin и примерами использования.
Читать (En)
Еще одна отличная статья с подробным разбором фичи Context Receivers в Kotlin и примерами использования.
Читать (En)
👍11🔥1👨💻1
Using the plugin pattern in a modularized codebase
Хороший пример использования паттерна Plugin в многомодульных проектах для меньшей связности между модулями.
Читать (En)
Хороший пример использования паттерна Plugin в многомодульных проектах для меньшей связности между модулями.
Читать (En)
🔥9👍2❤1
Multi-Module Architecture in Android
И еще чуть-чуть про многомодульность. Обещаю, скоро постов на эту тему будет поменьше 😃. Для меня сейчас прям актуально, поэтому скидываю в канал интересные материалы.
В этой статье приводятся несколько вариантов разбиения на модули. Вот последний вариант с дроблением конкретной фичи на модули выглядит вроде норм.
Я сейчас делаю как раз нечто похожее такой реализации для переиспользования компонентов domain слоя одного модуля в других.
Читать (En)
И еще чуть-чуть про многомодульность. Обещаю, скоро постов на эту тему будет поменьше 😃. Для меня сейчас прям актуально, поэтому скидываю в канал интересные материалы.
В этой статье приводятся несколько вариантов разбиения на модули. Вот последний вариант с дроблением конкретной фичи на модули выглядит вроде норм.
Я сейчас делаю как раз нечто похожее такой реализации для переиспользования компонентов domain слоя одного модуля в других.
Читать (En)
👍15🔥3❤1💩1
Как не потерять голову (и память) при поиске утечек в iOS
Еще одна статейка про причины возникновения утечек памяти в iOS и какие есть способы обнаружения.
👉 Циклы сильных ссылок
👉 Неправильное использование делегатов
👉 Неправильное использование замыканий
👉 Неправильное использование синглтонов
👉 Xcode Memory Graph
👉 Instruments
Читать (Ru)
Еще одна статейка про причины возникновения утечек памяти в iOS и какие есть способы обнаружения.
👉 Циклы сильных ссылок
👉 Неправильное использование делегатов
👉 Неправильное использование замыканий
👉 Неправильное использование синглтонов
👉 Xcode Memory Graph
👉 Instruments
Читать (Ru)
🔥7👍3❤1👎1👏1
Kotlin Flows Guide with Examples — Android
Еще один простенький гайд по Kotlin Flows с примерами и демонстрацией работы некоторых, популярных операторов.
Читать (En)
Еще один простенький гайд по Kotlin Flows с примерами и демонстрацией работы некоторых, популярных операторов.
Читать (En)
👍9🔥7🤔2
Coroutines Guide
Тут оказывается в репе kotlinx.coroutines есть гайды по корутинам 😳
Table of contents
• Coroutines basics
• Hands-on: Intro to coroutines and channels
• Cancellation and timeouts
• Composing suspending functions
• Coroutine context and dispatchers
• Asynchronous Flow
• Channels
• Coroutine exceptions handling
• Shared mutable state and concurrency
• Select expression (experimental)
• Tutorial: Debug coroutines using IntelliJ IDEA
• Tutorial: Debug Kotlin Flow using IntelliJ IDEA
Additional references
• Guide to UI programming with coroutines
• Coroutines design document (KEEP)
• Full kotlinx.coroutines API reference
• Best practices for coroutines in Android
• Additional Android resources for Kotlin coroutines and flow
Читать (En)
Тут оказывается в репе kotlinx.coroutines есть гайды по корутинам 😳
Table of contents
• Coroutines basics
• Hands-on: Intro to coroutines and channels
• Cancellation and timeouts
• Composing suspending functions
• Coroutine context and dispatchers
• Asynchronous Flow
• Channels
• Coroutine exceptions handling
• Shared mutable state and concurrency
• Select expression (experimental)
• Tutorial: Debug coroutines using IntelliJ IDEA
• Tutorial: Debug Kotlin Flow using IntelliJ IDEA
Additional references
• Guide to UI programming with coroutines
• Coroutines design document (KEEP)
• Full kotlinx.coroutines API reference
• Best practices for coroutines in Android
• Additional Android resources for Kotlin coroutines and flow
Читать (En)
👍20❤1🔥1
Android Multimodule Navigation with the Navigation Component
Лайфхак по использованию Navigation Component в многомодульном проекте. Сам еще не тестил, но по идее должно работать.
Читать (En)
Лайфхак по использованию Navigation Component в многомодульном проекте. Сам еще не тестил, но по идее должно работать.
Читать (En)
🔥10🤔7👍2
Overlapping profile pictures with Jetpack Compose Modifier
Пример того, как в Jetpack Compose можно сделать наложение изображений друг на друга как на картинке.
Читать (En)
Пример того, как в Jetpack Compose можно сделать наложение изображений друг на друга как на картинке.
Читать (En)
🔥15👍8❤1🥱1
Принципы построения многомодульного Android-приложения и их применение в СберЗдоровье
Статья от ребят из СберЗдоровье про многомодульность.
Там нет конкретных примеров кода, но есть хорошое описание принципов построения многомодульных приложений, начиная от чистой архитектуры, ее целей и до разбора различных принципов, связывания компонентов и т.д.
Читать (Ru)
Статья от ребят из СберЗдоровье про многомодульность.
Там нет конкретных примеров кода, но есть хорошое описание принципов построения многомодульных приложений, начиная от чистой архитектуры, ее целей и до разбора различных принципов, связывания компонентов и т.д.
Читать (Ru)
👍6👎5❤1🔥1
Многомодульный BDSM. Бутылочные горлышки среди модулей
Часто бывает, что после разбиения проекта на модули скорость его сборки сильно ниже ожидаемой. Причины могут быть разные, от кривых настроек Gradle до неподходящего железа.
В статье разбирается одна из причин — бутылочные горлышки среди модулей, и как с ними бороться.
Если вы, как и я впервые слышите понятие «Бутылочные горлышки», то под горлышками подразумевается узкое место 😉. В контексте многомодульности имеется в виду долгая сборка модуля.
Читать (Ru)
Часто бывает, что после разбиения проекта на модули скорость его сборки сильно ниже ожидаемой. Причины могут быть разные, от кривых настроек Gradle до неподходящего железа.
В статье разбирается одна из причин — бутылочные горлышки среди модулей, и как с ними бороться.
Если вы, как и я впервые слышите понятие «Бутылочные горлышки», то под горлышками подразумевается узкое место 😉. В контексте многомодульности имеется в виду долгая сборка модуля.
Читать (Ru)
👍11❤3🔥2💩1
Крипта, инвестиции, стратегии, сигналы
Если хотите приумножить свой капитал, информация для вас👇
Кроме мобильной разработки, я со своей командой занимаюсь инвестициями, а именно стратегиями и сигналами (если понимаете о чём я). На этом получается зарабатывать до 399% годовых 💰
Я долго думал и решил открыть доступ в 2 закрытых чата стратегии и сигналы, с помощью которых вы сможете зарабатывать до 399% в год.
Доступ будет открыт до конца дня, не упусти свой шанс 😎
Главный сигнал на сегодня:Всех с 1 апреля 😉
Если хотите приумножить свой капитал, информация для вас👇
Кроме мобильной разработки, я со своей командой занимаюсь инвестициями, а именно стратегиями и сигналами (если понимаете о чём я). На этом получается зарабатывать до 399% годовых 💰
Я долго думал и решил открыть доступ в 2 закрытых чата стратегии и сигналы, с помощью которых вы сможете зарабатывать до 399% в год.
Доступ будет открыт до конца дня, не упусти свой шанс 😎
Главный сигнал на сегодня:
🤣19🤮13💩6😁5🔥1
Что под капотом у Leak Canary?
Отличная статья про то, как устроена под капотом всем известная библиотека – Leak Canary позволяющая находить утечки памяти в приложении.
👉 Как запускается LeakCanary
👉 Откуда берется ярлык
👉 Как LeakCanary находит утечки и находит путь до утекшей ссылки
Кстати, помните квиз – «Какой компонет инициализируется раньше всех»? Так вот, в статье эта тема тоже затрагивается, поскольку LeakCanary работает через ContentProvider.
Читать (Ru)
Отличная статья про то, как устроена под капотом всем известная библиотека – Leak Canary позволяющая находить утечки памяти в приложении.
👉 Как запускается LeakCanary
👉 Откуда берется ярлык
👉 Как LeakCanary находит утечки и находит путь до утекшей ссылки
Кстати, помните квиз – «Какой компонет инициализируется раньше всех»? Так вот, в статье эта тема тоже затрагивается, поскольку LeakCanary работает через ContentProvider.
Читать (Ru)
👍12❤6🔥1🤯1
9 SwiftUI Hacks for Beautiful Views
Несколько синтаксических лайфхаков для SwiftUI.
👉 Organize Your Body
👉 Use Environment Variables
👉 Use the Defaults Package
👉 Try this Addition Hack
👉 Try this Frame Length Hack
👉 Use Defined Spacing Values
👉 Add Transitions to Text
👉 Use a Drawing Group to Speed Up Views
👉 Hack Your Non-Refreshing Views
Читать (En)
Несколько синтаксических лайфхаков для SwiftUI.
👉 Organize Your Body
👉 Use Environment Variables
👉 Use the Defaults Package
👉 Try this Addition Hack
👉 Try this Frame Length Hack
👉 Use Defined Spacing Values
👉 Add Transitions to Text
👉 Use a Drawing Group to Speed Up Views
👉 Hack Your Non-Refreshing Views
Читать (En)
👍7🔥3❤1
Easy caching Android + Kotlin + Flow
Статья с примером организации кеширования (Cached Source) с разными опциями(NEVER, IF_FAILED, IF_HAVE, ONLY, CACHED THEN LOAD) в связке Kotlin + Coroutines + Flow.
Пример кода на GitHub → Universal Cache
Читать (En)
Статья с примером организации кеширования (Cached Source) с разными опциями(NEVER, IF_FAILED, IF_HAVE, ONLY, CACHED THEN LOAD) в связке Kotlin + Coroutines + Flow.
Пример кода на GitHub → Universal Cache
Читать (En)
👍16🔥3🤔2
Jetpack Compose gets official support for Marquee
В Jetpack Compose 1.4.0 добавили Marquee эффект.
Читать (En)
В Jetpack Compose 1.4.0 добавили Marquee эффект.
Читать (En)
👍12👎5💩4🤡3👏2🔥1🤔1🍌1