KConMapper — How To Automate Mapping Function Creation With Kotlin’s KSP
Статья с обзором библиотечки, которая поможет сократить количество бойлерплейт кода.
Библиотека на основе аннотаций через KSP генерит экстеншн методы для маппинга одного класса в другой.
Библиотека на GitHub → KConMapper (KCM)
Читать (En)
Статья с обзором библиотечки, которая поможет сократить количество бойлерплейт кода.
Библиотека на основе аннотаций через KSP генерит экстеншн методы для маппинга одного класса в другой.
Библиотека на GitHub → KConMapper (KCM)
Читать (En)
👍10🔥5🤔3⚡1
Как адаптировать Android-приложение под Huawei
Еще один подробный гайд как подрубить huawei mobile services.
Также, от себя рекомендую выносить такие штуки в независимые модули и типы сборок, чтоб была возможность отдельно билдить сборку с нужными сервисами (google, hms, google + hms).
Читать (Ru)
Еще один подробный гайд как подрубить huawei mobile services.
Также, от себя рекомендую выносить такие штуки в независимые модули и типы сборок, чтоб была возможность отдельно билдить сборку с нужными сервисами (google, hms, google + hms).
Читать (Ru)
👍11👎4💩2🔥1👌1
Хотите зарабатывать с показов и не тратить время, разбираясь, как работает рекламная монетизация? Используйте готовое решение от самого Яндекса — сервис Простая монетизация.
Эксперты сделают все нужные настройки за вас, подключат в приложение несколько рекламных сетей и будут перечислять вознаграждение одним платежом.
Подать заявку можно на сайте: https://clck.ru/33Y3Jw
Эксперты сделают все нужные настройки за вас, подключат в приложение несколько рекламных сетей и будут перечислять вознаграждение одним платежом.
Подать заявку можно на сайте: https://clck.ru/33Y3Jw
A single solution for app monetization
We configure your app ourselves, helping you earn up to twice as much revenue from advertising
💩8👍6🔥2🤡2👀2🤮1
Cracking the Mobile System Design Interview (iOS & Android)
Еще одна большая статья на тему Mobile System Design.
👉 Understand the problem
👉 Define the scope
👉 Identify technical requirements
👉 Propose a high-level design
👉 Deep-dive into one component
👉 Wrap up
Читать (En)
Еще одна большая статья на тему Mobile System Design.
👉 Understand the problem
👉 Define the scope
👉 Identify technical requirements
👉 Propose a high-level design
👉 Deep-dive into one component
👉 Wrap up
Читать (En)
👍16🔥2❤1🆒1
Jetpack Navigation Component: Manual Implementation of Multiple Back Stacks
Кто работал с Jetpack Navigation Component знает, что дефолтная реализация навигации местами хромает, особенно поведение multiple back stacks. Часто приходится писать поверх своё решение.
Вот сообственно отличная статейка с реализацией ручной обработки multiple back stacks.
Читать (En)
Кто работал с Jetpack Navigation Component знает, что дефолтная реализация навигации местами хромает, особенно поведение multiple back stacks. Часто приходится писать поверх своё решение.
Вот сообственно отличная статейка с реализацией ручной обработки multiple back stacks.
Читать (En)
👍10🔥1🤔1
Mastering charts in SwiftUI
Серия статей про работу с графиками в SwiftUI.
👉 Basics
👉 Mark styling
👉 Custom Marks
👉 Interactions
👉 Customizations
Серия статей про работу с графиками в SwiftUI.
👉 Basics
👉 Mark styling
👉 Custom Marks
👉 Interactions
👉 Customizations
👍6🔥2⚡1
Constraints and modifier order
Новый эпизод MAD Skills Jetpack Compose про Constraints, Modifier chaining и как это влияет на размеры Сomposables.
Читать (En)
Новый эпизод MAD Skills Jetpack Compose про Constraints, Modifier chaining и как это влияет на размеры Сomposables.
Читать (En)
🔥9👍2🤔1
Clustering With Maps Compose For Android
Я всё еще не активный пользователь Jetpack Compose, поэтому даже и не знал, что в Map Compose нет дефолтной реализации кластеризации.
Если вдруг вам такое нужно, вот тут можно посмотретькостыль обходной путь как прикрутить через android-maps-utils.
Читать (En)
Я всё еще не активный пользователь Jetpack Compose, поэтому даже и не знал, что в Map Compose нет дефолтной реализации кластеризации.
Если вдруг вам такое нужно, вот тут можно посмотреть
Читать (En)
👍6🔥2🥴2🤡1👀1
Делай нейминг как сеньор
Крутая статья 💪 от команды Dodo Engineering про нейминг.
👉 Что такое нейминг и как он влияет на восприятие кода
👉 Распространённые ошибки (от неправильного перевода до избыточного, абстрактного названия)
👉 Как выстроить работу с неймингом в команде
👉 Советы и рекомендации, которые помогут сделать нейминг лучше
Обязательно всем к прочтению ✅
Читать (Ru)
Крутая статья 💪 от команды Dodo Engineering про нейминг.
👉 Что такое нейминг и как он влияет на восприятие кода
👉 Распространённые ошибки (от неправильного перевода до избыточного, абстрактного названия)
👉 Как выстроить работу с неймингом в команде
👉 Советы и рекомендации, которые помогут сделать нейминг лучше
Обязательно всем к прочтению ✅
Читать (Ru)
🔥16👍6💩2👨💻2⚡1
Kotlin Generic Variance Modifiers
Неплохая статья с примерами про вариативность дженериков в Kotlin.
На русском языке можно почитать на kotlinlang – Generics: in, out, where.
Читать (En)
Неплохая статья с примерами про вариативность дженериков в Kotlin.
На русском языке можно почитать на kotlinlang – Generics: in, out, where.
Читать (En)
👍12🔥2🤔1👌1
12 Android Studio Tips and Shortcuts to Navigate Your Codebase Faster
Еще одная статья, с советами по Android Studio и реально полезными шорткатами, которые как минимум упростят поиск и навигацию по кодовой базе.
Используйте возможности IDE по максимуму для удобства разработки и быстрой навигации по проекту.
Читать (En)
Еще одная статья, с советами по Android Studio и реально полезными шорткатами, которые как минимум упростят поиск и навигацию по кодовой базе.
Используйте возможности IDE по максимуму для удобства разработки и быстрой навигации по проекту.
Читать (En)
👍12🔥2👎1👨💻1
Mastering Execution Time Measurement in Kotlin
Статья с примерами того, как можно измерять время выполнение ваших функций в Kotlin, с помощью👇
• measureNanoTime()
• measureTimeMillis()
• measureTimeMicros()
• measureTime()
Читать (En)
Статья с примерами того, как можно измерять время выполнение ваших функций в Kotlin, с помощью👇
• measureNanoTime()
• measureTimeMillis()
• measureTimeMicros()
• measureTime()
Читать (En)
👍11🔥2⚡1
Превратности диспетчеризации в Swift
Статья про диспетчеризацию в Swift`е. Что такое диспетчеризация, какие виды бывают и рассматривается вопрос производительности и приоритета использования.
👉 Что такое диспетчеризация
👉 Статическая диспетчеризация
👉 Witness table
👉 Virtual table
👉 Динамическая диспетчеризация
И вот тут еще одна, аналогичная статья → Диспетчеризация методов в Swift
Читать (Ru)
Статья про диспетчеризацию в Swift`е. Что такое диспетчеризация, какие виды бывают и рассматривается вопрос производительности и приоритета использования.
👉 Что такое диспетчеризация
👉 Статическая диспетчеризация
👉 Witness table
👉 Virtual table
👉 Динамическая диспетчеризация
И вот тут еще одна, аналогичная статья → Диспетчеризация методов в Swift
Читать (Ru)
🔥6👍2🤔1
All about navigation in the Jetpack Compose-based production code-base
Ещё одна статья на тему организации навигации в Jetpack Compose. Возможные проблемы и способы их решения.
Читать (En)
Ещё одна статья на тему организации навигации в Jetpack Compose. Возможные проблемы и способы их решения.
Читать (En)
👍6🔥3❤1👎1🤮1💩1
Building an Android System Design Architecture for Efficient Image Uploads with Clean Architecture
Пример проектирования архитектуры для приложения, которое могло бы позволить загружать большое количество картинок на сервер без блокировки UI и с доп. кейсами.
Без примера кода, но с разбивкой на слои и детальным описанием связей и работы каждого слоя.
Читать (En)
Пример проектирования архитектуры для приложения, которое могло бы позволить загружать большое количество картинок на сервер без блокировки UI и с доп. кейсами.
Без примера кода, но с разбивкой на слои и детальным описанием связей и работы каждого слоя.
Читать (En)
👍13⚡2🔥1
Tracking Android project build times
Недавно публиковал статью с примерами, как можно замерять время выполнения функиций.
А вот ловите статью с примером, как можно отслеживать время сборки проекта + сбор системной инфы (processor, corecount, ram, etc) для анализа с помощью Gradle.
Готовый Gradle скрипт тут → BuildTasks
Перевод от AppTractor → Отслеживание времени сборки Android-проекта
Читать (En)
Недавно публиковал статью с примерами, как можно замерять время выполнения функиций.
А вот ловите статью с примером, как можно отслеживать время сборки проекта + сбор системной инфы (processor, corecount, ram, etc) для анализа с помощью Gradle.
Готовый Gradle скрипт тут → BuildTasks
Перевод от AppTractor → Отслеживание времени сборки Android-проекта
Читать (En)
👍11❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
What's new in Xcode 14.3 and iOS 16.4
Подробная статейка с обзором изменений в Xcode 14.3 и iOS 16.4.
👉 Interact with a view Behind a sheet
👉 Translucent Sheet Background
👉 Adjust the corner radius of a sheet
👉 Control scrolling and expansion behavior
👉 Control a modal presentation in compact size classes
👉 SwiftUI Preview
👉 Print in SwiftUI Preview
👉 Function Back Deployment
Читать (En)
Подробная статейка с обзором изменений в Xcode 14.3 и iOS 16.4.
👉 Interact with a view Behind a sheet
👉 Translucent Sheet Background
👉 Adjust the corner radius of a sheet
👉 Control scrolling and expansion behavior
👉 Control a modal presentation in compact size classes
👉 SwiftUI Preview
👉 Print in SwiftUI Preview
👉 Function Back Deployment
Читать (En)
❤6👍3🔥2
Advanced Layout concepts
Вышел новый эпизод из серии MAD Skills Jetpack Compose, в котором разбирается фаза Layout.
Читать (En)
Вышел новый эпизод из серии MAD Skills Jetpack Compose, в котором разбирается фаза Layout.
Читать (En)
👍10🔥2👌2
7 iOS Projects to Become a Better iOS Developer
Несколько интересных open source проектов для изучения, реализованных на SwiftUI.
Для олдов – зацените проект OldOS 😉.
👉 Clean Architecture
👉 OldOS
👉 SwiftUICraft
👉 Velik
👉 OpenSesame
👉 Swiftui-2048
👉 ExpenseTracker
Читать (En)
Несколько интересных open source проектов для изучения, реализованных на SwiftUI.
Для олдов – зацените проект OldOS 😉.
👉 Clean Architecture
👉 OldOS
👉 SwiftUICraft
👉 Velik
👉 OpenSesame
👉 Swiftui-2048
👉 ExpenseTracker
Читать (En)
🔥10👍3👨💻1
Clean Code — A practical approach
Практические примеры как писать чистый код. Там про нейминг, различные принципы, интерфейсы, тесты, рефакторинг и вот это вот всё.
Читать (En)
Практические примеры как писать чистый код. Там про нейминг, различные принципы, интерфейсы, тесты, рефакторинг и вот это вот всё.
Читать (En)
🔥13❤1👍1👎1
Android Basics with Compose
Тут Гугл сообщает, что опубликовали курс по Compose – Android Basics with Compose.
Курс предназначен для того, чтобы научить вас создавать приложения для Android с помощью Jetpack Compose, рекомендуемого современного набора инструментов, который упрощает и ускоряет разработку пользовательского интерфейса для Android.
Курс поделен на 8 разделов, каждый из которых охватывает различные аспекты разработки Compose и Android.
👉 Fundamentals of the Kotlin programming language
👉 Building basic user interfaces with Compose
👉 Working with data and state in Compose
👉 Using navigation to build apps with multiple screens
👉 Persisting data using Room and DataStore
👉 Fetching remote data and images
👉 Scheduling tasks with WorkManager
👉 Using Compose and Views side-by-side in the same app
Курс тут → Android Basics with Compose
Читать (En)
Тут Гугл сообщает, что опубликовали курс по Compose – Android Basics with Compose.
Курс предназначен для того, чтобы научить вас создавать приложения для Android с помощью Jetpack Compose, рекомендуемого современного набора инструментов, который упрощает и ускоряет разработку пользовательского интерфейса для Android.
Курс поделен на 8 разделов, каждый из которых охватывает различные аспекты разработки Compose и Android.
👉 Fundamentals of the Kotlin programming language
👉 Building basic user interfaces with Compose
👉 Working with data and state in Compose
👉 Using navigation to build apps with multiple screens
👉 Persisting data using Room and DataStore
👉 Fetching remote data and images
👉 Scheduling tasks with WorkManager
👉 Using Compose and Views side-by-side in the same app
Курс тут → Android Basics with Compose
Читать (En)
👍13🔥4❤3