Design of Kotlin Coroutines
Еще одна, большая статейка с детальным разбором корутин. Как создаются корутины, как работают под капотом, suspend функции, сoroutine state machine.
👉 launch()
👉 start()
👉 invoke()
👉 startCoroutineCancellable()
👉 resumeWithCancellable()
👉 resumeWith()
👉 invokeSuspend()
👉 Summary of coroutine construction
Читать (En)
Еще одна, большая статейка с детальным разбором корутин. Как создаются корутины, как работают под капотом, suspend функции, сoroutine state machine.
👉 launch()
👉 start()
👉 invoke()
👉 startCoroutineCancellable()
👉 resumeWithCancellable()
👉 resumeWith()
👉 invokeSuspend()
👉 Summary of coroutine construction
Читать (En)
👍17🔥4🙏1
The Android Platform: The 2022 Android Developer Roadmap
Большая серия статей на основе Android Developer Roadmap, в которых разбираются как базовые штуки типа платформы Android, так и основные компоненты, архитектура, популярные библиотеки, подхоходы к разработке и вот это вот всё.
👉 Part 1: The Android Platform
👉 Part 2: App Components
👉 Part 3: App Navigation and Jetpack
👉 Part 4: Design Patterns and Architecture
Саму карту в виде схемы можно посмотреть в репозитории → Android Developer Roadmap 2022
В избранное ✅
Большая серия статей на основе Android Developer Roadmap, в которых разбираются как базовые штуки типа платформы Android, так и основные компоненты, архитектура, популярные библиотеки, подхоходы к разработке и вот это вот всё.
👉 Part 1: The Android Platform
👉 Part 2: App Components
👉 Part 3: App Navigation and Jetpack
👉 Part 4: Design Patterns and Architecture
Саму карту в виде схемы можно посмотреть в репозитории → Android Developer Roadmap 2022
В избранное ✅
🔥13👍6😐3👏1
Caching with OkHttp Interceptor and Retrofit
Простой гайд как подрубить кеширование запросов в OkHttp.
Но такой подход нужно использовать аккуратно, т.к. можно напороться на неактуальные данные.
Насколько я помню OkHttp из коробки может обрабатывать кешированные запросы по коду 304 NOT MODIFIED, но для этого нужно, чтоб ваш бэк работал должным образом и при инициализации OkHttp нужно подрубить сам кеш вот так:
Читать (En)
Простой гайд как подрубить кеширование запросов в OkHttp.
Но такой подход нужно использовать аккуратно, т.к. можно напороться на неактуальные данные.
Насколько я помню OkHttp из коробки может обрабатывать кешированные запросы по коду 304 NOT MODIFIED, но для этого нужно, чтоб ваш бэк работал должным образом и при инициализации OkHttp нужно подрубить сам кеш вот так:
OkHttpClient.Builder()
.cache(Cache(context.cacheDir, CACHE_SIZE))
.build()Читать (En)
👍16🔥3🤔3
Неочевидное про Fragment API. Часть 2. (Не) создаем инстанс
У Тинькофф вышла вторая часть из цикла статей "Неочевидное про Fragment API" про то, как под капотом FragmentContainerView создаются фрагменты, как использовать свою кастомную фабрику для создания фрагментов, транзакции и т.д.
Читать (Ru)
У Тинькофф вышла вторая часть из цикла статей "Неочевидное про Fragment API" про то, как под капотом FragmentContainerView создаются фрагменты, как использовать свою кастомную фабрику для создания фрагментов, транзакции и т.д.
Читать (Ru)
👍13🔥1
How To Replace The Standard Crash Dialog With A Custom Error Screen?
Полезная статья о том, как сделать свой кастомный экран при возникновении креша. Для тех, кто не сталкивался, делается такое через кастомный глобальный ExceptionHandler →
Реализация своего хендлера может быть достаточно полезна, например собрать какие-нибудь логи или доп. инфу о девайсе, настройках и пульнуть на свой бэк. Либо же можно заложить какую-нибудь доп. логику.
Читать (En)
Полезная статья о том, как сделать свой кастомный экран при возникновении креша. Для тех, кто не сталкивался, делается такое через кастомный глобальный ExceptionHandler →
Thread.setDefaultUncaughtExceptionHandler(…).Реализация своего хендлера может быть достаточно полезна, например собрать какие-нибудь логи или доп. инфу о девайсе, настройках и пульнуть на свой бэк. Либо же можно заложить какую-нибудь доп. логику.
Читать (En)
👍21🔥5😁1
Deadlocks in Swift explained: detecting and solving
Неплохая статья, про взаимные блокировки(deadlocks) в Swift. Что такое deadlock, причины возникновения, способы обнаружения и возможные варианты решения.
Читать (En)
Неплохая статья, про взаимные блокировки(deadlocks) в Swift. Что такое deadlock, причины возникновения, способы обнаружения и возможные варианты решения.
Читать (En)
🔥3👍2🙏1
New Logcat in Android Studio Dolphin.
Несколько статей про новые фичи Logcat в новой версии Android Studio Dolphin.
👉 NEW Logcat in Android Studio Dolphin is Amazing!
👉 New Android Logcat: Top 5 features
Несколько статей про новые фичи Logcat в новой версии Android Studio Dolphin.
👉 NEW Logcat in Android Studio Dolphin is Amazing!
👉 New Android Logcat: Top 5 features
👍9🔥3
Логи в iOS, эпизод 1: os_log
И снова про логи, только на этот раз про логгирование в iOS.
Ребята из Dodo Mobile делятся опытом работы с логами с помощью
👉 фильтры
👉 уровни логов
👉 источник лога
👉 os_log
Читать (Ru)
И снова про логи, только на этот раз про логгирование в iOS.
Ребята из Dodo Mobile делятся опытом работы с логами с помощью
Console.app.👉 фильтры
👉 уровни логов
👉 источник лога
👉 os_log
Читать (Ru)
👍6🔥4🍓3❤1
Forwarded from Записки разработчицы (Anna Zharkova)
Итак, этот момент настал 🔥 Релизнулся Kotlin 1.7.20, а вместе с ним и новая модель управления памятью:
https://blog.jetbrains.com/kotlin/2022/09/kotlin-1-7-20-released/
Эпоха статей и докладов про воркараунды и новые костыли закончилась. Время использовать KMM на бою 🔥 если вы еще сомневались и ждали подходящего момента 😉
Также в новой модели памяти улучшили механизмы асинхронного и конкурентного выполнения, добавили поддержку кэша компилятора, что серьезно уменьшает время компиляции, ну и, разумеется, убрали все freeze
Что еще принесла нам новая версия:
- стабилизация K2 плагина компилятора (JVM-only пока)
- новый оператор ..< (экспериментальная фича)
- Generic inline classes
- Оптимизация кейсов для делегированных свойств (крутой механизм, если еще не пробовали)
- Поддержка JVM IR бэкенда для kapt заглушек
Также появляется возможность кастомизации Info.plist файлов в Kotlin Native
https://blog.jetbrains.com/kotlin/2022/09/kotlin-1-7-20-released/
Эпоха статей и докладов про воркараунды и новые костыли закончилась. Время использовать KMM на бою 🔥 если вы еще сомневались и ждали подходящего момента 😉
Также в новой модели памяти улучшили механизмы асинхронного и конкурентного выполнения, добавили поддержку кэша компилятора, что серьезно уменьшает время компиляции, ну и, разумеется, убрали все freeze
Что еще принесла нам новая версия:
- стабилизация K2 плагина компилятора (JVM-only пока)
- новый оператор ..< (экспериментальная фича)
when (value) {
in 0.0..<0.25 -> // first quarter
in 0.25..<0.5 -> // second quarter
in 0.5..<0.75 -> // third quarter
in 0.75..1.0 -> // last quarter <- note closed range here
}- Generic inline classes
- Оптимизация кейсов для делегированных свойств (крутой механизм, если еще не пробовали)
- Поддержка JVM IR бэкенда для kapt заглушек
Также появляется возможность кастомизации Info.plist файлов в Kotlin Native
🔥21👍8🎉3❤1
Что посмотреть на выходных. Подборка полезностей👇
Давно не публиковал видосы. На этой недели опубликовали множество докладов с различных конференций, которые решил собрать в один пост. Ну и попутно докинул несколько тематических видосов 😉
👉 Mobius 2022 Spring
👉 Droidcon New York 2022
👉 TechTrain 2022 Spring
👉 The NEW Kotlin 1.7.20: Unboxing and Review
👉 Powerful: Compose toolkit - MAD Skills
👉 Now in Android #69
Давно не публиковал видосы. На этой недели опубликовали множество докладов с различных конференций, которые решил собрать в один пост. Ну и попутно докинул несколько тематических видосов 😉
👉 Mobius 2022 Spring
👉 Droidcon New York 2022
👉 TechTrain 2022 Spring
👉 The NEW Kotlin 1.7.20: Unboxing and Review
👉 Powerful: Compose toolkit - MAD Skills
👉 Now in Android #69
🔥8👍2👏1
Неочевидное про Fragment API. Часть 3. Навигация
Третья часть от Тинькофф из цикла "Неочевидное про Fragment API", в которой рассматривается на мой взгляд довольно важная тема – Навигация, а именно некоторые подкапотные штуки multi-backstack, который не так давно появился и OnBackPressedDispatcher.
Читать (Ru)
Третья часть от Тинькофф из цикла "Неочевидное про Fragment API", в которой рассматривается на мой взгляд довольно важная тема – Навигация, а именно некоторые подкапотные штуки multi-backstack, который не так давно появился и OnBackPressedDispatcher.
Читать (Ru)
🔥6👍4👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2👏1
Jetpack compose: Cool Button Click Effects
Статейка про то, как в Jetpack Compose реализовать различные эффекты нажатия кнопки.
👉 Pulsate effect
👉 Press Effect
👉 Shake Effect
👉 Animate the shape
Читать (En)
Статейка про то, как в Jetpack Compose реализовать различные эффекты нажатия кнопки.
👉 Pulsate effect
👉 Press Effect
👉 Shake Effect
👉 Animate the shape
Читать (En)
👍15❤🔥2🔥2
Вчера разгребал избранное и наткнулся на тред от Евгения Мацюка, в котором он собрал различные ресурсы для подготовки к собесам в западные компании.
Там достаточно много полезных ресурсов, включая такие темы как Mobile System Design, HTTPS, Backend System Design, Solution Architecture и т.д.
Возможно кому-то пригодится.
Читать (Ru)
Там достаточно много полезных ресурсов, включая такие темы как Mobile System Design, HTTPS, Backend System Design, Solution Architecture и т.д.
Возможно кому-то пригодится.
Читать (Ru)
🔥22👍2🖕2👏1🤮1💩1
Build a Custom Design System Using Jetpack Compose
Статья про организацию дизайн-системы в Jetpack Compose.
Читать (En)
Статья про организацию дизайн-системы в Jetpack Compose.
Читать (En)
👍9🔥2🤔2
An iOS Engineer learns about Android’s Jetpack Compose and loves it.
Еще одна статейка из избранного, в которой сравнивают два декларативных фреймворка Jetpack Compose и SwiftUI в работе с лэйаутами, состоянием и инструментами.
Наверняка многие уже видели эту статью, но все таки закину для тех, кто еще не читал.
Читать (En)
Еще одна статейка из избранного, в которой сравнивают два декларативных фреймворка Jetpack Compose и SwiftUI в работе с лэйаутами, состоянием и инструментами.
Наверняка многие уже видели эту статью, но все таки закину для тех, кто еще не читал.
Читать (En)
👍9🔥3❤1🤩1
Best Practices in Kotlin
Очередная статья с best practices в Kotlin. В целом ничего сверхъестественного там нет, но возможно что-то для себя выделите.
И еще несколько статей на эту тему 👇
👉 Kotlin — How to write code more readable and Clean, Best practices (En)
👉 Kotlin Best Practices (Ru)
Читать (En)
Очередная статья с best practices в Kotlin. В целом ничего сверхъестественного там нет, но возможно что-то для себя выделите.
И еще несколько статей на эту тему 👇
👉 Kotlin — How to write code more readable and Clean, Best practices (En)
👉 Kotlin Best Practices (Ru)
Читать (En)
👍14🔥1🤔1🤩1
Long-running tasks in parallel with Kotlin Flow
Пример того, как можно реализовать выполнение длительныех задач параллельно и агрегировать результат с помощью оператора zip в Kotlin Flow.
Читать (En)
Пример того, как можно реализовать выполнение длительныех задач параллельно и агрегировать результат с помощью оператора zip в Kotlin Flow.
Читать (En)
👍8🔥2👏1
Jetpack Compose Pagination
Реализация пагинации с использованием Paging 3 в Jetpack Compose.
Читать (En)
Реализация пагинации с использованием Paging 3 в Jetpack Compose.
Читать (En)
👍10🔥3🎉1
Data objects in Kotlin: pretty-print your objects!
YouTube
Data objects in Kotlin: pretty-print your objects!
Kotlin 1.7.20 comes with a new experimental feature for object declarations that especially improves work with sealed classes. This new feature is called data objects. Adding the “data” modifier to your object declarations ensures they look nice and tidy…
👍8🔥2