How to implement Linear Gradient with any angle in Jetpack Compose
Стандартная реализация градиента в Jetpack Compose вполне подходит для примитивных кейсов, но если вы например захотите отрисовать градиент под кастомным углом – не получится, такой настройки нет.
Вот тут статья c примером реализации отрисовки градиента по формуле, а вот тут пример кода.
Пример кода на GitHub → Linear-Gradient-Any-Angle
Читать (En)
Стандартная реализация градиента в Jetpack Compose вполне подходит для примитивных кейсов, но если вы например захотите отрисовать градиент под кастомным углом – не получится, такой настройки нет.
Вот тут статья c примером реализации отрисовки градиента по формуле, а вот тут пример кода.
Пример кода на GitHub → Linear-Gradient-Any-Angle
Читать (En)
5👍7❤3🔥2
Главный метод Android-приложения
Короткая статья про главный Java метод main: где и в какой момент он вызывается, в контексте Android-приложения и какое отношение к этому имеет
Читать (Ru)
Короткая статья про главный Java метод main: где и в какой момент он вызывается, в контексте Android-приложения и какое отношение к этому имеет
ActivityThread и Zygote.Читать (Ru)
👍17🔥6❤5
Forwarded from Swift Tips
iOS Performance Optimization
Репозиторий с подборкой различных ресурсов/статей по оптимизации перфоманса iOS приложений.
🟢 Reduce App Size
🟢 Reduce Build time
🟢 App Launch time
🟢 App Runtime
🟢 App Hang
🟢 Memory usage
🟢 CI
GitHub → iOS-Performance-Optimization
Репозиторий с подборкой различных ресурсов/статей по оптимизации перфоманса iOS приложений.
GitHub → iOS-Performance-Optimization
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤4👍4🔥2
Используем Yandex MapKit с Compose Multiplatform
Yandex MapKit KMP SDK - неофициальная библиотека для работы с Yandex Mapkit на Kotlin Multiplatform.
В статье автор рассказывает про применение этой библиотеки в проектах на Compose Multiplatform. Библиотеку можно рассматривать как расширенный интероп MapView с UI на Compose для Android таргета, а можно как добавление поддержки Yandex MapKit SDK в common код с модулем для интеграции в Compose UI для Android/iOS приложений.
В предыдущей части можно почитать про разработку библиотеки.
Библиотека на GitHub → Yandex MapKit KMP SDK
Читать (Ru)
Yandex MapKit KMP SDK - неофициальная библиотека для работы с Yandex Mapkit на Kotlin Multiplatform.
В статье автор рассказывает про применение этой библиотеки в проектах на Compose Multiplatform. Библиотеку можно рассматривать как расширенный интероп MapView с UI на Compose для Android таргета, а можно как добавление поддержки Yandex MapKit SDK в common код с модулем для интеграции в Compose UI для Android/iOS приложений.
В предыдущей части можно почитать про разработку библиотеки.
Библиотека на GitHub → Yandex MapKit KMP SDK
Читать (Ru)
👍10🔥2❤1😁1
Тактильный отклик в мобильных приложениях: что это такое, когда использовать и зачем?
Довольно полезная и интересная статья, в которой рассказывается про тактильную обратную связь, что это такое, как и для чего она применяется. И всё это с примерами российских приложений, где это уже уместно используется 👍
👉 Что такое тактильная обратная связь?
👉 Разница между тактильной обратной связью и виброоткликом
👉 Чем полезен тактильный отклик
👉 Когда использовать тактильный отклик
👉 Советы по внедрению тактильного отклика
👉 Примеры в приложениях
👉 Самое главное
👉 Заключение
Читать (Ru)
Довольно полезная и интересная статья, в которой рассказывается про тактильную обратную связь, что это такое, как и для чего она применяется. И всё это с примерами российских приложений, где это уже уместно используется 👍
👉 Что такое тактильная обратная связь?
👉 Разница между тактильной обратной связью и виброоткликом
👉 Чем полезен тактильный отклик
👉 Когда использовать тактильный отклик
👉 Советы по внедрению тактильного отклика
👉 Примеры в приложениях
👉 Самое главное
👉 Заключение
Тактильная обратная связь (или haptic feedback) — использование сложных вибрационных паттернов и виброволн для передачи информации пользователю. Если говорить проще и понятнее:
Тактильный отклик — это способ, с помощью которого устройства могут «говорить» с нами с помощью вибраций.
Читать (Ru)
5🔥10❤3👍2
Как написать Android приложение, которое не будет стыдно положить в портфолио
Большой гайд для новичков, в котором пошагово рассказывается и показывается, как с нуля разработать Android-приложение, используя лучшие архитектурные подходы – Clean Architecture и MVVM с элементами MVI, которые обеспечат поддерживаемость, тестируемость и масштабируемость, что особенно важно для сложных и долгосрочных проектов.
Код на GitLab → Just Notes
P.S. Для совсем новичков вероятно может показаться сложно, но желательно вникнуть и разобраться, т.к. подходы из статьи актуальны на данный момент и в том или ином виде используются в большом количестве проектов.
Читать (Ru)
Большой гайд для новичков, в котором пошагово рассказывается и показывается, как с нуля разработать Android-приложение, используя лучшие архитектурные подходы – Clean Architecture и MVVM с элементами MVI, которые обеспечат поддерживаемость, тестируемость и масштабируемость, что особенно важно для сложных и долгосрочных проектов.
Код на GitLab → Just Notes
P.S. Для совсем новичков вероятно может показаться сложно, но желательно вникнуть и разобраться, т.к. подходы из статьи актуальны на данный момент и в том или ином виде используются в большом количестве проектов.
Читать (Ru)
11👍13❤5🔥4👎3
Как устроен сборщик метрик Android-проекта
Android-разработчик из команды VK ID SDK рассказывает, как они писали плагин для сбора метрик и с какими проблемами столкнулись.
👉 Старт
👉 Выбор решения
👉 Архитектура решения
👉 Хранилище метрик
👉 Подсчёт диффа метрик
👉 Работа с репозиторием
👉 Внутреннее устройство метрики
👉 Метрика размера SDK
👉 Gradle-плагин
👉 Заключение
Исходный код на GitHub → Metrics
Читать (Ru)
Android-разработчик из команды VK ID SDK рассказывает, как они писали плагин для сбора метрик и с какими проблемами столкнулись.
👉 Старт
👉 Выбор решения
👉 Архитектура решения
👉 Хранилище метрик
👉 Подсчёт диффа метрик
👉 Работа с репозиторием
👉 Внутреннее устройство метрики
👉 Метрика размера SDK
👉 Gradle-плагин
👉 Заключение
Исходный код на GitHub → Metrics
Читать (Ru)
🔥4❤3👍3
Как я писал суперкастомизированное Android-приложение в 2024 году
Автор рассказывает, как писал Android-приложение для отображения анимации алгоритмов сортировки, практически полностью на своих, самописных решениях 😱.
Без этих ваших компоузов, вьюмоделей и прочей хрени, всё по-серьёзному 😎 – кастомные вьюшки, со своей навигацией и т.д.
Код на GitHub → AlgoSorts
Читать (Ru)
Автор рассказывает, как писал Android-приложение для отображения анимации алгоритмов сортировки, практически полностью на своих, самописных решениях 😱.
Без этих ваших компоузов, вьюмоделей и прочей хрени, всё по-серьёзному 😎 – кастомные вьюшки, со своей навигацией и т.д.
Код на GitHub → AlgoSorts
Читать (Ru)
👍15👎15🔥1🤔1
The beauty of Kotlin Type System
Статья с подробным разбором и примерами системы типов в Kotlin(Any, Nothing, Optional).
Перевод от AppTractor → Красота системы типов Kotlin
Читать (En)
Статья с подробным разбором и примерами системы типов в Kotlin(Any, Nothing, Optional).
Перевод от AppTractor → Красота системы типов Kotlin
Читать (En)
👍11🔥3❤2
Расширенная шпаргалка по корутинам Kotlin
Перевод на Хабре вот этой статьи – большая шпаргалка-справочник по корутинам.
Читать (Ru)
Перевод на Хабре вот этой статьи – большая шпаргалка-справочник по корутинам.
Читать (Ru)
14🔥13👍6❤3👌1
Kotlin Under the Hood: Exploring Objects, Companion Objects, and Annotations: JvmStatic, JvmField, JvmOverloads
Сразу 2 статьи про Objects в Kotlin: как работают под капотом, во что компилируются и интероп с Java.
👉 Exploring Objects, Companion Objects, and Annotations
👉 Understanding Companion Objects in Kotlin
Сразу 2 статьи про Objects в Kotlin: как работают под капотом, во что компилируются и интероп с Java.
👉 Exploring Objects, Companion Objects, and Annotations
👉 Understanding Companion Objects in Kotlin
7🔥13❤3👍2👌1
Modeling ViewModel State in Android: A Guide to Clean, Scalable Patterns
Гайд по тому, как спроектировать чистый и масштабируемый шаблон для работы со стейтом во
Читать (En)
Гайд по тому, как спроектировать чистый и масштабируемый шаблон для работы со стейтом во
ViewModel.Читать (En)
🔥7👍3❤2👌1
Forwarded from Swift Tips
App Intents: новые возможности для разработчиков в iOS 18
Большая статья про App Intents – что это такое и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения.
🟢 Что такое App Intents
🟢 Как создать AppIntent? (Intent)
🟢 Пример Intent
🟢 Пример AppEntity
🟢 Что такое Shortcuts
🟢 Shortcuts как составляющая часть фреймворка AppIntents
🟢 Shortcuts как приложение
🟢 Гайдлайн от Apple по созданию App Intents
🟢 Открытие приложения при работе с App Intents
🟢 Практика
🟢 Новые фишки AppIntents, которые могут быть полезны
🟢 Обновления для разработчиков
🟢 UnionValue
🟢 Generated noscripts
🟢 Framework improvements
🟢 Вывод
Читать (Ru)
Большая статья про App Intents – что это такое и как их использовать для создания сложных сценариев, которые расширят возможности вашего приложения.
Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍6❤3🔥3
Сборка мусора в Java. Часть №1. Обзор сборщиков мусора и их различий
Адаптированный под 2 статьи перевод доклада "Garbage Collection in Java: The progress since JDK 8" с последнего Devoxx Belgium.
Первая часть – основы работы сборки мусора в Java, различные сборщики мусора, их особенности, плюсы и минусы.
👉 Что такое сборка мусора?
👉 Принципы работы алгоритмов высвобождения памяти
👉 Какие сборщики мусора существуют в настоящее время
👉 Итоги по имеющимся сборщикам мусора
👉 Заключение
Читать (Ru)
Адаптированный под 2 статьи перевод доклада "Garbage Collection in Java: The progress since JDK 8" с последнего Devoxx Belgium.
Первая часть – основы работы сборки мусора в Java, различные сборщики мусора, их особенности, плюсы и минусы.
👉 Что такое сборка мусора?
👉 Принципы работы алгоритмов высвобождения памяти
👉 Какие сборщики мусора существуют в настоящее время
👉 Итоги по имеющимся сборщикам мусора
👉 Заключение
Читать (Ru)
4👍6🔥3❤1
Как силами мобильных разработчиков автоматизировать процесс разработки
Разработчик из Контур рассказывает, как они автоматизировали процесс разработки, реализовав свой сервис с различным, удобными штуками(интеграция с YouTrack / GitLab, уведомления о релизах, напоминание о ревью и т.д.) под себя.
P.S. Мобильщики поработали за девопсов 😉
Читать (Ru)
Разработчик из Контур рассказывает, как они автоматизировали процесс разработки, реализовав свой сервис с различным, удобными штуками(интеграция с YouTrack / GitLab, уведомления о релизах, напоминание о ревью и т.д.) под себя.
P.S. Мобильщики поработали за девопсов 😉
Читать (Ru)
3❤5🔥3😁3👍2🤯1
Описываем UseCase'ы правильно
Очередная статья про UseCase'ы – как их правильно готовить по мнению автора.
👉 Что такое архитектура
👉 Часто совершаемые ошибки
👉 Как описывать юзкейсы
👉 Пример кода
P.S. Принципиально ничего нового, но пусть будет
Читать (Ru)
Очередная статья про UseCase'ы – как их правильно готовить по мнению автора.
👉 Что такое архитектура
👉 Часто совершаемые ошибки
👉 Как описывать юзкейсы
👉 Пример кода
P.S. Принципиально ничего нового, но пусть будет
Читать (Ru)
🤔14👍9👎9🔥3👀1
Compose Performace - Finding Regressions
Полезная статья, в которой рассказывается как с помощью инструментов Perfetto и Diffetto искать и анализировать проблемные участки в Composable функциях.
Читать (En)
Полезная статья, в которой рассказывается как с помощью инструментов Perfetto и Diffetto искать и анализировать проблемные участки в Composable функциях.
Читать (En)
7👍5❤3🔥3
Composable-scoped ViewModel: An interesting experiment
Не знаю зачем, но автор решил провести эксперимент и создать ViewModel с привязкой к жизненному циклу Composable функций. Что из этого получилось - читайте в статье.
Статья большая, с кучей кода и разбором того, как всё устроено под капотом: Lifecycle, Composable и ViewModel.
Читать (En)
Не знаю зачем, но автор решил провести эксперимент и создать ViewModel с привязкой к жизненному циклу Composable функций. Что из этого получилось - читайте в статье.
Статья большая, с кучей кода и разбором того, как всё устроено под капотом: Lifecycle, Composable и ViewModel.
Читать (En)
8🔥5❤4👎2👍1😁1
Forwarded from Swift Tips
Разбираем iOS-приложение: код, сборка, статические и динамические библиотеки, компиляция, запуск
Достаточно крутая и большая статья про низкоуровневые штуки iOS-приложения: как приложение устроено под капотом, какие этапы проходит перед тем, как оказаться на устройстве пользователя, что такое Executable binary и что происходит внутри препроцессора.
Читать (Ru)
Достаточно крутая и большая статья про низкоуровневые штуки iOS-приложения: как приложение устроено под капотом, какие этапы проходит перед тем, как оказаться на устройстве пользователя, что такое Executable binary и что происходит внутри препроцессора.
Читать (Ru)
❤3🔥3👍2
О зацикливании рекомпозиции в Jetpack Compose
В статье рассматривается один из кейсов(возможно не очевидный), который может зациклить рекомпозицию в Jetpack Compose и рассказывается как такой кейс пофиксить.
Читать (Ru)
В статье рассматривается один из кейсов(возможно не очевидный), который может зациклить рекомпозицию в Jetpack Compose и рассказывается как такой кейс пофиксить.
Читать (Ru)
👍11🤔5🔥3😁2
Building a Scalable Android
Большая статья с примерами кода, как спроектировать масштабируемую структуру приложения с использованием актуальных инструментов: Retrofit, MVI, UseCases, Hilt, Kotlin Coroutines, Jetpack Compose.
👉 Setting Up Retrofit
👉 Creating the API Service Interface
👉 Dependency Injection with Hilt
👉 Repository
👉 Use Cases
👉 Implementing MVI Components
👉 Displaying Data with Jetpack Compose UI
Читать (En)
Большая статья с примерами кода, как спроектировать масштабируемую структуру приложения с использованием актуальных инструментов: Retrofit, MVI, UseCases, Hilt, Kotlin Coroutines, Jetpack Compose.
👉 Setting Up Retrofit
👉 Creating the API Service Interface
👉 Dependency Injection with Hilt
👉 Repository
👉 Use Cases
👉 Implementing MVI Components
👉 Displaying Data with Jetpack Compose UI
Читать (En)
15👍10🔥4❤3👌1