Готовим FeatureToggle для Android
Еще один пример реализации FeatureToggle для Android, с настройкой доступности фичей через firebase remote config.
Пример кода из статьи на GitHub → FeatureToggle
Читать (Ru)
Еще один пример реализации FeatureToggle для Android, с настройкой доступности фичей через firebase remote config.
Пример кода из статьи на GitHub → FeatureToggle
Читать (Ru)
🔥11👍4❤1👎1
A couple of interesting things from Telegram Android app source code
Тут разработчик исследовал исходники телеги и поделился интересными решениями.
👉 Определение перформанса девайса на основе cpu сount
👉 Нестандартные анимации через кастомные вьюшки на канвасе
На счет анимаций через кастомные вьюхи. На самом деле это довольно распрастранённый подход, с помощью которого можно делать крутые штуки. Главное правильно писать кастомные вьюхи, не плодить лишнего в onDraw(), чтоб не потерять в производительности.
Вот тут еще одна статья с исследованием исходников Telegram про то, как они оптимизирует изображения перед отправкой на сервер.
Читать (En)
Тут разработчик исследовал исходники телеги и поделился интересными решениями.
👉 Определение перформанса девайса на основе cpu сount
👉 Нестандартные анимации через кастомные вьюшки на канвасе
На счет анимаций через кастомные вьюхи. На самом деле это довольно распрастранённый подход, с помощью которого можно делать крутые штуки. Главное правильно писать кастомные вьюхи, не плодить лишнего в onDraw(), чтоб не потерять в производительности.
Вот тут еще одна статья с исследованием исходников Telegram про то, как они оптимизирует изображения перед отправкой на сервер.
Читать (En)
👍7🔥2🤔1
Какой компонент в Android инициализируется раньше всех?
Anonymous Quiz
53%
Application
4%
Activity
3%
Service
33%
ContentProvider
7%
BroadcastReceiver
👍32😱12❤3🔥3
Разбираем ошибки начинающих iOS-разработчиков
Большая статья с разбором нескольких наиболее популярных ошибок начинающих iOS-разработчиков. К чему приводят такие ошибки и как их можно избежать.
👉 Связь между Storyboard и кодом
👉 Использование Auto Layout
👉 Избыточный force unwrapping
👉 Использование guard
👉 Использование switch
👉 Ошибки при реализации паттерна delegate
👉 Связи между компонентами
Читать (Ru)
Большая статья с разбором нескольких наиболее популярных ошибок начинающих iOS-разработчиков. К чему приводят такие ошибки и как их можно избежать.
👉 Связь между Storyboard и кодом
👉 Использование Auto Layout
👉 Избыточный force unwrapping
👉 Использование guard
👉 Использование switch
👉 Ошибки при реализации паттерна delegate
👉 Связи между компонентами
Читать (Ru)
❤5🔥3👍1
Как устроены собеседования в IT
Видос от команды Tinkoff Mobile про процесс собеседования в IT. Зачем нужны те или иные блоки, что ожидают от кандидата, важность софт скиллов и т.д.
Если вам интересна тема собесов, как со стороны кандидата, так и со стороны интервьюера, вероятно найдете для себя что-то полезное.
Смотреть📹
Видос от команды Tinkoff Mobile про процесс собеседования в IT. Зачем нужны те или иные блоки, что ожидают от кандидата, важность софт скиллов и т.д.
Если вам интересна тема собесов, как со стороны кандидата, так и со стороны интервьюера, вероятно найдете для себя что-то полезное.
Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12👎5🔥3💩2👨💻1
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