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
Best Practices for Composition Patterns in Jetpack Compose
Статья с обзором нескольких паттернов, для организации своих UI-компонентов в Jetpack Compose.
Читать (En)
Статья с обзором нескольких паттернов, для организации своих UI-компонентов в Jetpack Compose.
Читать (En)
👍10🔥4❤2🥱1
5 Fatal Coroutine Mistakes Nobody Talks About in Android
Статья с разбором наиболее популярных ошибок, при использовании корутин в Android.
👉 Calling suspend Function Directly in Views
👉 Incorrect use of Global scope
👉 Fetching Data Sequentially Instead of Asynchronously
👉 Catching CancellationException in Suspend Functions
👉 Checking for coroutine cancellation
Читать (En)
Статья с разбором наиболее популярных ошибок, при использовании корутин в Android.
👉 Calling suspend Function Directly in Views
👉 Incorrect use of Global scope
👉 Fetching Data Sequentially Instead of Asynchronously
👉 Catching CancellationException in Suspend Functions
👉 Checking for coroutine cancellation
Читать (En)
👍5🔥4❤3🥱2
Заезжаем в Kotlin Multiplatform. Но какой ценой?
В статье вы узнаете историю, как написать целый проект на Kotlin Multiplatform, сколько это стоит и сколько обойдется интеграция с точки зрения цифр.
Эта статья - текстовая расшифровка доклада с осеннего Мобиуса 2024 года📹
Читать (Ru)
В статье вы узнаете историю, как написать целый проект на Kotlin Multiplatform, сколько это стоит и сколько обойдется интеграция с точки зрения цифр.
Эта статья - текстовая расшифровка доклада с осеннего Мобиуса 2024 года
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍5👎4❤2
Android Interview Questions
Большая и актуальная подборка вопросов с ответами для собседования по Android.
🟢 Kotlin
🟢 Kotlin Coroutines
🟢 Kotlin Flow API
🟢 Android
🟢 Jetpack Compose
🟢 Android Библиотеки
🟢 Android Архитектура
🟢 Android System Design
🟢 Android Unit Тестирование
🟢 Android Инструменты и Технологии
🟢 Java
🟢 SOLID
🟢 Структуры данных и алгоритмы
Читать (Ru)
Большая и актуальная подборка вопросов с ответами для собседования по Android.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30❤6👍4✍1
Как мы ускорили работу с базой данных в Android-приложении
Автор статьи делится опытом оптимизации работы с базой данных в Android.
В статье рассматриваются относительно очевидные ошибки, по типу обращений к БД в циклах и хранения в БД Json строк, которые можно упустить из виду.
Читать (Ru)
Автор статьи делится опытом оптимизации работы с базой данных в Android.
В статье рассматриваются относительно очевидные ошибки, по типу обращений к БД в циклах и хранения в БД Json строк, которые можно упустить из виду.
Читать (Ru)
👍5🔥3🤔3
Kotlin inline reified to Solve Type Erasure, and a Practical Guide on noinline, crossinline, and More
Большая и подробная статья с примерами про inline reified, затирание типов, noinline, crossinline и вот это всё.
Читать (En)
Большая и подробная статья с примерами про inline reified, затирание типов, noinline, crossinline и вот это всё.
Читать (En)
❤7👍5🔥5
Kotlin Secrets: 7 Powerful Features Used By Advanced Developers
В статье рассматриваются некоторые фичи Kotlin`а, которые могут поменять подход к решению задач и структуре кода.
👉
👉 Sealed Interfaces — Strict Type Hierarchies
👉 Value Class — Lightweight Wrappers
👉
👉
👉
👉 Kotlin’s
Читать (En)
В статье рассматриваются некоторые фичи Kotlin`а, которые могут поменять подход к решению задач и структуре кода.
👉
runCatching — Graceful Error Handling👉 Sealed Interfaces — Strict Type Hierarchies
👉 Value Class — Lightweight Wrappers
👉
buildList / buildMap — Immutable Collections👉
takeIf / takeUnless – Conditional Assignment in One Line👉
Modifier.composed in Jetpack Compose👉 Kotlin’s
iterator() for Custom IterationЧитать (En)
👍13❤5🔥4
ServerSocket для IPC в Android и примеры межпроцессного взаимодействия
В статье автор разбирает не очень популярную штуку – ServerSocket, в контексте межпроцессного взаимодействия и передачи данных между браузером и Android‑приложением.
Если интересно что это такое и какие возможности предоставляет, читайте статью.
P.S. На каждый день точно не пригодится, но держать в голове и знать о существовании лишним не будет :)
Читать (Ru)
В статье автор разбирает не очень популярную штуку – ServerSocket, в контексте межпроцессного взаимодействия и передачи данных между браузером и Android‑приложением.
Если интересно что это такое и какие возможности предоставляет, читайте статью.
P.S. На каждый день точно не пригодится, но держать в голове и знать о существовании лишним не будет :)
Читать (Ru)
🔥5🤔5👍4
Сравнение Dagger 2, Dagger Hilt и Koin
Небольшая статья с сравнением популярных DI-фреймворков – Dagger 2, Dagger Hilt и Koin.
👉 Отличия
👉 Принципиальная разница
👉 Преимущества и недостатки
👉 Рекомендации
Читать (Ru)
Небольшая статья с сравнением популярных DI-фреймворков – Dagger 2, Dagger Hilt и Koin.
👉 Отличия
👉 Принципиальная разница
👉 Преимущества и недостатки
👉 Рекомендации
Читать (Ru)
❤7👍3🔥3
Mastering Global State Management in Android with Jetpack Compose
Большая и полезная статья про то, как управлять глобальными стейтами по типу данных пользователя, настроек, фича-флагов и т.д. в приложении на Jetpack Compose.
Рассматриваются наиболее популярные подходы, с примерами реализации: Singleton Pattern, Shared ViewModel, StateHolder Pattern, Singleton Repository + Reusable Use Cases, CompositionLocal.
Читать (En)
Большая и полезная статья про то, как управлять глобальными стейтами по типу данных пользователя, настроек, фича-флагов и т.д. в приложении на Jetpack Compose.
Рассматриваются наиболее популярные подходы, с примерами реализации: Singleton Pattern, Shared ViewModel, StateHolder Pattern, Singleton Repository + Reusable Use Cases, CompositionLocal.
Читать (En)
🔥10👍6❤3👌2
Kelp — IDE-плагин для кастомных дизайн-систем на Jetpack Compose
Автор рассказывает про Kelp — мощный плагин для Android Studio, который он разработал для улучшения поддержки кастомных дизайн-систем на Jetpack Compose в Android Studio.
Kelp предлагает широкий набор функций, которые делают разработку UI быстрее и проще👇
👉 Настраиваемые иконки для компонентных функций
👉 Иконки дизайн-системы
👉 Предпросмотр цветов
👉 Интеграция демо-приложения
👉 Рендеринг изображений в KDoc
👉 Шаблоны кода (Live Templates)
Плагин на GitHub → Kelp
Читать (Ru)
Автор рассказывает про Kelp — мощный плагин для Android Studio, который он разработал для улучшения поддержки кастомных дизайн-систем на Jetpack Compose в Android Studio.
Kelp предлагает широкий набор функций, которые делают разработку UI быстрее и проще👇
👉 Настраиваемые иконки для компонентных функций
👉 Иконки дизайн-системы
👉 Предпросмотр цветов
👉 Интеграция демо-приложения
👉 Рендеринг изображений в KDoc
👉 Шаблоны кода (Live Templates)
Плагин на GitHub → Kelp
Читать (Ru)
❤10👍4🔥3
Man-in-the-Middle (MITM) Attacks in Android Development: How to Secure Your App
Полезная статья про одну из наиболее популярных атак – Man-in-the-Middle (MITM): что из себя представляет, как происходит и какие есть способы защиты.
👉 Enforce HTTPS with TLS (SSL/TLS Security)
👉 Certificate Pinning (M3: Insecure Communication)
👉 Use Strong Network Security Configurations (OWASP M3 & M9)
👉 Validate SSL/TLS Certificates Properly (M3: Insecure Communication)
👉 Disable Insecure Cipher Suites and Protocols
Читать (En)
Полезная статья про одну из наиболее популярных атак – Man-in-the-Middle (MITM): что из себя представляет, как происходит и какие есть способы защиты.
👉 Enforce HTTPS with TLS (SSL/TLS Security)
👉 Certificate Pinning (M3: Insecure Communication)
👉 Use Strong Network Security Configurations (OWASP M3 & M9)
👉 Validate SSL/TLS Certificates Properly (M3: Insecure Communication)
👉 Disable Insecure Cipher Suites and Protocols
Читать (En)
🔥10👍6❤5🤔1
12 tips to mastering Kotlin Coroutines
Статья с советами по использованию корутин.
👉 Always Use Structured Concurrency
👉 Prefer
👉 Use
👉 Never Use
👉 Switch
👉 Handle Exceptions Gracefully
👉 Cancel Coroutines Properly
👉 Use
👉 Test Coroutines with
👉 Debounce User Input with
👉 Avoid Blocking Calls
👉 Use
P.S. Полезно будет начинающим
Читать (En)
Статья с советами по использованию корутин.
👉 Always Use Structured Concurrency
👉 Prefer
withContext Over async for Single Operations👉 Use
async Only for Parallel Tasks👉 Never Use
GlobalScope👉 Switch
Dispatchers Wisely👉 Handle Exceptions Gracefully
👉 Cancel Coroutines Properly
👉 Use
SupervisorJob for Independent Child Coroutines👉 Test Coroutines with
runTest👉 Debounce User Input with
Flows👉 Avoid Blocking Calls
👉 Use
coroutineScope for Scoped ParallelismP.S. Полезно будет начинающим
Читать (En)
👍9❤4🔥4🥱4
Kotlin for Seniors: Stop Writing Code, Start Crafting It
Ещё несколько небольших статей с советами и различными приёмами, чтобы сделать ваш код лучше.
👉 Part 1 – 3 tips
👉 Part 2 – Code Less, Solve More – 3 tips
👉 Part 3 – 3 tips Kotlin 2.1+
👉 Part 4 – Tooling
👉 Part 5 – Infix
👉 Part 6 – 3 Powerful Features You Should Know!
Ещё несколько небольших статей с советами и различными приёмами, чтобы сделать ваш код лучше.
👉 Part 1 – 3 tips
👉 Part 2 – Code Less, Solve More – 3 tips
👉 Part 3 – 3 tips Kotlin 2.1+
👉 Part 4 – Tooling
👉 Part 5 – Infix
👉 Part 6 – 3 Powerful Features You Should Know!
👍5❤3🔥3🥱3
A new way of handling one-off events in your Android application (and even more)
Автор рассказывает про свою библиотеку на основе Hilt плагина, которая упрощает работу с одноразовыми событиями.
Библиотека на GitHub → Effects
Читать (En)
Автор рассказывает про свою библиотеку на основе Hilt плагина, которая упрощает работу с одноразовыми событиями.
Библиотека на GitHub → Effects
Читать (En)
👍11🔥5❤4🥱3
Fastlane in Kotlin Multiplatform projects
Гайд от Touchlab по настройке Fastlane для KMP проектов.
Читать (En)
Гайд от Touchlab по настройке Fastlane для KMP проектов.
Читать (En)
👍7🔥4❤3🤨1
Kotlin 2.1.20 Released
Зарелизился Kotlin 2.1.20, направленный на улучшение производительности и исправление некоторых ошибок Kotlin 2.1.0.
Некоторые основные доработки👇
🟢 K2 compiler updates: New default kapt compiler plugin
🟢 Kotlin Multiplatform: A new DSL to replace Gradle’s Application plugin in multiplatform projects
🟢 Kotlin/Native: Inlining optimization to improve runtime performance
🟢 Kotlin/Wasm: Custom formatters are now enabled by default in development builds
🟢 Gradle support: Support for adding custom publication variants in multiplatform and JVM projects
🟢 Standard library: Introduction of common atomic types, improved UUID support, and a new time-tracking functionality
🟢 Compose compiler: Now includes source information by default across all platforms
Читать (En)
Зарелизился Kotlin 2.1.20, направленный на улучшение производительности и исправление некоторых ошибок Kotlin 2.1.0.
Некоторые основные доработки👇
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4❤3
Forwarded from Swift Tips
Using Proxyman to Intercept and Simulate iPhone App Network Requests
Гайд по настройке и использованию Proxyman для перехвата трафика, тестирования API с помощью мок-данных и т.д.
🟢 Background and Requirements
🟢 Installing and Configuring Proxyman and Certificates
🟢 Capturing Network Requests
🟢 Data Simulation (Mock Data)
🟢 Summary and Reflections
Читать (En)
Гайд по настройке и использованию Proxyman для перехвата трафика, тестирования API с помощью мок-данных и т.д.
Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥3