Cheatsheet for centering items in Jetpack Compose
Шпаргалка по центрированию компонентов в Jetpack Compose.
Читать (En)
Шпаргалка по центрированию компонентов в Jetpack Compose.
Читать (En)
👍11❤3🔥3
Exercise Caution When Using runBlocking on Android
Полезная статья, в которой рассказывается как runBlocking устроен под капотом и почему его нужно использовать осторожно.
👉 Understanding runBlocking
👉 Examining runBlocking internals
👉 Why is using runBlocking on Android problematic?
👉 When can you use runBlocking?
Читать (En)
Полезная статья, в которой рассказывается как runBlocking устроен под капотом и почему его нужно использовать осторожно.
👉 Understanding runBlocking
👉 Examining runBlocking internals
👉 Why is using runBlocking on Android problematic?
👉 When can you use runBlocking?
Читать (En)
👍5❤4🔥4
Развитие Android глазами разработчика
Прикольная статья с обзором того, как развивался Android для разработчиков: инструменты, технологии, подходы, паттерны и т.д.
P.S. Если есть кто из олдов – го в комменты. Что помните из популярных технологий тех времён?
Читать (Ru)
Прикольная статья с обзором того, как развивался Android для разработчиков: инструменты, технологии, подходы, паттерны и т.д.
P.S. Если есть кто из олдов – го в комменты. Что помните из популярных технологий тех времён?
Читать (Ru)
🔥6👍4❤3
Детские ошибки при сборке Gradle-приложений
Автор статьи рассказывает про некоторые способы, с помощью которых можно ускорить сборку проекта.
👉 Вспомним этапы сборки
👉 Ускоряемся с инкрементальной сборкой
👉 Builde Cache и что с ним делать разработчику
👉 Нужен ли вам Configuration Cache
👉 Симбиоз Gradle-кэшей
👉 Поговорим о демонах
👉 Сборка на бинарном интерфейсе: ABI vs non-ABI
Читать (Ru)
Автор статьи рассказывает про некоторые способы, с помощью которых можно ускорить сборку проекта.
👉 Вспомним этапы сборки
👉 Ускоряемся с инкрементальной сборкой
👉 Builde Cache и что с ним делать разработчику
👉 Нужен ли вам Configuration Cache
👉 Симбиоз Gradle-кэшей
👉 Поговорим о демонах
👉 Сборка на бинарном интерфейсе: ABI vs non-ABI
Читать (Ru)
👍13🔥5❤4😁1
Seamless shimmer integration with existing Compose code
Статья с примером реализации шиммеров в Jetpack Compose, с помощью кастомного модификатора +
Читать (En)
Статья с примером реализации шиммеров в Jetpack Compose, с помощью кастомного модификатора +
CompositionLocalProvider Читать (En)
👍6❤2🔥2😁2🤔2
Composition Locals in Jetpack Compose: A Beginner-to-Advanced Guide
Подробный гайд по CompositionLocal в Jetpack Compose: что это такое, в каких случаях может быть полезно и как создавать кастомные.
Читать (En)
Подробный гайд по CompositionLocal в Jetpack Compose: что это такое, в каких случаях может быть полезно и как создавать кастомные.
Читать (En)
🎉9👍5❤2🔥1💩1
Android Use Cases: From Basic Implementation to Multi-Provider and Multi-Module Systems
Снова про use case`ы – большая статья, с различными способами и примерами реализации.
👉 Introduction
👉 What Is a Use Case
👉 Implementing a Simple Use Case
👉 Injecting Use Cases with Koin
👉 Using the Use Case in a ViewModel
👉 Combining Similar Use Cases into a Manager
👉 Multiple Implementations Example: Liskov Substitution Principle by example
👉 Transitioning from Single Module to Multi-Module Payment Systems
👉 Why not just use Multi-Providers as a module in a Multi-Module app?
Читать (En)
Снова про use case`ы – большая статья, с различными способами и примерами реализации.
👉 Introduction
👉 What Is a Use Case
👉 Implementing a Simple Use Case
👉 Injecting Use Cases with Koin
👉 Using the Use Case in a ViewModel
👉 Combining Similar Use Cases into a Manager
👉 Multiple Implementations Example: Liskov Substitution Principle by example
👉 Transitioning from Single Module to Multi-Module Payment Systems
👉 Why not just use Multi-Providers as a module in a Multi-Module app?
Читать (En)
🔥7👍4❤2
Секреты JVM: что происходит с ошибками под капотом
В статье рассказывается как JVM обрабатывает исключения на низком уровне, что такое таблица исключений и какие сценарии используются для вариантов try-catch и try-finally.
Читать (Ru)
В статье рассказывается как JVM обрабатывает исключения на низком уровне, что такое таблица исключений и какие сценарии используются для вариантов try-catch и try-finally.
Читать (Ru)
👍5🔥4❤2
KMP for Mobile Native Developers: The Book
Онлайн книга по KMP, которая охватывает основные аспекты: структура проекта, модуляризация, архитектурные рекомендации, интеграция с библиотеками Jetpack, хранилище, тестирование и т.д.
🟢 Introduction to Kotlin Multiplatform
🟢 Understanding the Basic Project Structure
🟢 Dependency Injection
🟢 Modularization
🟢 Testing
🟢 Using Native Libraries in Kotlin Multiplatform
🟢 Libraries (Networking, Storage, Database, Multiplatform Jetpack Libraries)
Читать (En)
Онлайн книга по KMP, которая охватывает основные аспекты: структура проекта, модуляризация, архитектурные рекомендации, интеграция с библиотеками Jetpack, хранилище, тестирование и т.д.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥8👍2😁2💩2
TrustedTime API: Introducing a reliable approach to time keeping for your apps
Google выпустил новое API для безопасной работы с временем на устройстве.
TrustedTime использует защищенную инфраструктуру Google для предоставления надежного источника времени и периодически синхронизирует свои часы с серверами Google, которые имеют доступ к высокоточному источнику времени.
Читать (En)
Google выпустил новое API для безопасной работы с временем на устройстве.
TrustedTime использует защищенную инфраструктуру Google для предоставления надежного источника времени и периодически синхронизирует свои часы с серверами Google, которые имеют доступ к высокоточному источнику времени.
Читать (En)
👍12❤5🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Why Not Compose!
Репозиторий представляет собой сборник коллекций анимаций, композиций и пользовательских интерфейсов с использованием Jetpack Compose.
GitHub → Why Not Compose
Репозиторий представляет собой сборник коллекций анимаций, композиций и пользовательских интерфейсов с использованием Jetpack Compose.
GitHub → Why Not Compose
👍9🔥4❤3👎1
Should you use Kotlin Sequences for Performance?
Многие по умолчанию считают, что Sequences дают буст в производительности для кейсов с большим количеством преобразований в цепочке. Так вот, это не совсем так, поскольку на производительность влияет множество факторов.
Подробней и с различными замерами, можно ознакомиться в статье.
👉 Collections
👉 Sequences
👉 Flow
👉 Applying transformations
👉 Benchmark
Читать (En)
Многие по умолчанию считают, что Sequences дают буст в производительности для кейсов с большим количеством преобразований в цепочке. Так вот, это не совсем так, поскольку на производительность влияет множество факторов.
Подробней и с различными замерами, можно ознакомиться в статье.
👉 Collections
👉 Sequences
👉 Flow
👉 Applying transformations
👉 Benchmark
Читать (En)
👍7❤2🔥2👎1
В дополнение к посту выше, дублирую еще несколько ссылок на крутые статьи про Sequences.
🟢 Оптимизируя sequences — или как мой код попал в kotlin
🟢 Измеряя sequences
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥3
Forwarded from Swift Tips
Обновления в Swift Concurrency: что нас ждёт в Swift 6
Большая статья с разбором основных изменений в Swift 6: обзор пропозалов, как теперь работает concurrency-модель, заметки важного/интересного по мнению автора, playground с тестами для каждого пропозала.
ConcurrencyPlayground – в проекте по каждому пропозалу вы можете найти тесты, которые проверяют его функциональность, и сравнить поведение кода для Swift 5 и Swift 6.
Читать (Ru)
Большая статья с разбором основных изменений в Swift 6: обзор пропозалов, как теперь работает concurrency-модель, заметки важного/интересного по мнению автора, playground с тестами для каждого пропозала.
ConcurrencyPlayground – в проекте по каждому пропозалу вы можете найти тесты, которые проверяют его функциональность, и сравнить поведение кода для Swift 5 и Swift 6.
Читать (Ru)
👍3🔥3❤2
Kotlin Coroutines под капотом: CoroutineContext и CoroutineScope
В статье подробно разбираются ключевые компоненты, на основе которых строится Structured Concurrency в Kotlin Coroutines – CoroutineContext и CoroutineScope.
Читать (Ru)
В статье подробно разбираются ключевые компоненты, на основе которых строится Structured Concurrency в Kotlin Coroutines – CoroutineContext и CoroutineScope.
Читать (Ru)
👍9🔥3👏3❤2
Reverse-Engineering the Compose Compiler Plugin: Intercepting the Frontend
Большая статья с разбором, как плагин компилятора Jetpack Compose работает с Kotlin компилятором.
Читать (En)
Большая статья с разбором, как плагин компилятора Jetpack Compose работает с Kotlin компилятором.
Читать (En)
👍11🔥5👏3❤2
Kotlin Guards Explained: Boost Code Clarity with when Statements in Kotlin 2.1
Подробный обзор новой фичи Kotlin Guards в Kotlin 2.1.
👉 What Exactly Are Kotlin Guards?
👉 The Idea Behind Guard Conditions
👉 Comparing Kotlin Guards and Swift’s guard
👉 The Technical Steps to Get Started
👉 Edge Cases to Consider
👉 Performance Considerations
👉 Examples
❗️Фича в экспериментальном статусе
Читать (En)
Подробный обзор новой фичи Kotlin Guards в Kotlin 2.1.
👉 What Exactly Are Kotlin Guards?
👉 The Idea Behind Guard Conditions
👉 Comparing Kotlin Guards and Swift’s guard
👉 The Technical Steps to Get Started
👉 Edge Cases to Consider
👉 Performance Considerations
👉 Examples
❗️Фича в экспериментальном статусе
Читать (En)
👍4🤡4❤3👎2🔥2🤮2
Как оживает смартфон: Android на старте
Подробная статья от Surf, в которой рассказывается какие этапы преодолевает ОС с момента нажатия кнопки включения до отрисовки интерфейса.
👉 Что происходит в момент загрузки
👉 Какие этапы преодолевает ОС
👉 Как устройство готовится к полноценной работе
Читать (Ru)
Подробная статья от Surf, в которой рассказывается какие этапы преодолевает ОС с момента нажатия кнопки включения до отрисовки интерфейса.
👉 Что происходит в момент загрузки
👉 Какие этапы преодолевает ОС
👉 Как устройство готовится к полноценной работе
Читать (Ru)
👍11❤6🔥4
R8: Шакалья работа (уменьшение apk через правки R8)
Если расширить алфавит, который используется в r8 для минификации, то возможно уменьшиться размер обновлений apk и dex файлов.
Как это можно сделать, читайте в статье.
👉 Как внести правки и собрать R8
👉 Как заменить R8 на проекте
👉 Как добавить логику для кастомной минификации
👉 Тестовые результаты
Читать (Ru)
Если расширить алфавит, который используется в r8 для минификации, то возможно уменьшиться размер обновлений apk и dex файлов.
Как это можно сделать, читайте в статье.
👉 Как внести правки и собрать R8
👉 Как заменить R8 на проекте
👉 Как добавить логику для кастомной минификации
👉 Тестовые результаты
Читать (Ru)
👍6🔥5❤3
Чем полезен Server Driven UI
Базовая статья про SDUI: что это такое, из чего состоит, возможности и использование.
Читать (Ru)
Базовая статья про SDUI: что это такое, из чего состоит, возможности и использование.
Читать (Ru)
👎20🤣7👍6👌3🔥2🤬1