Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
data object - новая экспериментальная фича в Kotlin 1.7.20. Фактически это object с генерацией нормального toString(). Генерировать equals и hashCode не имеет смысла т.к. object - это singleton.Подробности фичи и как ее подключить здесь
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
This media is not supported in your browser
VIEW IN TELEGRAM
Сравнение принципов работы SwiftUI и Jetpack Compose
Jetpack Compose – декларативный UI фреймворк, на который сейчас активно переезжают Android разработчики. В статье его сравнивают со SwiftUI в вопросах лэйаута, работы со стейтом и инструментов.
Jetpack Compose – декларативный UI фреймворк, на который сейчас активно переезжают Android разработчики. В статье его сравнивают со SwiftUI в вопросах лэйаута, работы со стейтом и инструментов.
❤2
Forwarded from iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT (Egor Tolstoy)
Различия в расчете corner radius в Android и iOS
- Если в Android выставить квадрату шириной 40dp corner radius 30dp, то он будет выглядеть в точности, как corner radius 20dp
- В iOS такого не происходит, и с повышением значения corner radius форма квадрата продолжает меняться
- Так происходит потому, что в Android есть внутреннее ограничение на то, что corner radius не может быть больше, чем половина самой короткой стороны фигуры. В iOS такого ограничения нет.
- Если в Android выставить квадрату шириной 40dp corner radius 30dp, то он будет выглядеть в точности, как corner radius 20dp
- В iOS такого не происходит, и с повышением значения corner radius форма квадрата продолжает меняться
- Так происходит потому, что в Android есть внутреннее ограничение на то, что corner radius не может быть больше, чем половина самой короткой стороны фигуры. В iOS такого ограничения нет.
👍4
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Exploring "select" expression of Kotlin coroutines
select - это специальная функция, которая дожидается результата нескольких suspend функций и возвращает результат первой выполнившейся. В статье разбираются ее подробности и применение
В комментариях пишите примеры использования такой функции на практике
#coroutines
select - это специальная функция, которая дожидается результата нескольких suspend функций и возвращает результат первой выполнившейся. В статье разбираются ее подробности и применение
В комментариях пишите примеры использования такой функции на практике
#coroutines
🔥4🤔1
Forwarded from Mobile Developer (Алексей Гладков)
И тут же еще одна новость (впрочем весьма ожидаемая)
https://android-developers.googleblog.com/2022/10/announcing-experimental-preview-of-jetpack-multiplatform-libraries.html
Гугл анонсировал, что часть своих библиотек они будут делать в мультиплатформе
Очевидно начнут с тех либ, что на котлине, но глядишь и до вьюмоделей и лайвдаты доберутся
https://android-developers.googleblog.com/2022/10/announcing-experimental-preview-of-jetpack-multiplatform-libraries.html
Гугл анонсировал, что часть своих библиотек они будут делать в мультиплатформе
Очевидно начнут с тех либ, что на котлине, но глядишь и до вьюмоделей и лайвдаты доберутся
Android Developers Blog
Announcing an Experimental Preview of Jetpack Multiplatform Libraries
Posted by Márton Braun, Developer Relations Engineer
💯4
Forwarded from Android Live 🤖
Kotlin и bytecode
#kotlin
Полезная статья, где автор рассматривает фичи Kotlin со стороны байткода.
Кроме этого, тут есть несколько полезных штук, которые также освещены:
👉 что такое Java Virtual Machine и её спецификация;
👉 почему фичи Java и Kotlin совместимы;
👉 как выглядят основные фичи Kotlin в байткоде.
#kotlin
Полезная статья, где автор рассматривает фичи Kotlin со стороны байткода.
Кроме этого, тут есть несколько полезных штук, которые также освещены:
👉 что такое Java Virtual Machine и её спецификация;
👉 почему фичи Java и Kotlin совместимы;
👉 как выглядят основные фичи Kotlin в байткоде.
👍2
Forwarded from Mobile AppSec World (Yury Shabalin)
Анализ трафика Android-сматрфона
Крайне занимательная статья вышла на Хабр под названием "Анализ трафика телеметрической информации Android смартфона".
Автор взял обычный телефон со сброшенной к заводским установкам прошивкой и установленным пакетом российского ПО, без синхронизированных учётных записей. То есть по факту - телефон из "магазина" и проверил, кто и что отправляет в фоне на сервера, какую информацию, какие данные об устройстве, активности и т.д.
Крайне занимательно, что запросов и данных передается достаточно много (что не удивительно), но еще интереснее исследование было бы с десятком установленных приложений. Боюсь, что там целая армия исследователей понадобилась бы, чтобы все данные проанализировать. Ну или просто взять "голый" Xiaomi и умереть от количества информации, что все его стоковые приложения шлют :D
В общем, очень интересно почитать)
#Android #Telemetry #traffic
Крайне занимательная статья вышла на Хабр под названием "Анализ трафика телеметрической информации Android смартфона".
Автор взял обычный телефон со сброшенной к заводским установкам прошивкой и установленным пакетом российского ПО, без синхронизированных учётных записей. То есть по факту - телефон из "магазина" и проверил, кто и что отправляет в фоне на сервера, какую информацию, какие данные об устройстве, активности и т.д.
Крайне занимательно, что запросов и данных передается достаточно много (что не удивительно), но еще интереснее исследование было бы с десятком установленных приложений. Боюсь, что там целая армия исследователей понадобилась бы, чтобы все данные проанализировать. Ну или просто взять "голый" Xiaomi и умереть от количества информации, что все его стоковые приложения шлют :D
В общем, очень интересно почитать)
#Android #Telemetry #traffic
Хабр
Анализ трафика телеметрической информации Android смартфона
Сбор телеметрических данных о пользователях и их действиях в вебе и приложениях — плата за пользование «бесплатными» сервисами в Интернете. Пользователи расплачиваются своим вниманием и временем,...
👍3
Forwarded from Android Broadcast (Кирилл Розов)
Performance in Jetpack Compose (8 мин)
Советы по тому как сделать работу Jetpack Compose быстрее. Если есть проблемы - почитайте, вдруг пропустили что-то. Разбираются не только тривиальные кейсы
Советы по тому как сделать работу Jetpack Compose быстрее. Если есть проблемы - почитайте, вдруг пропустили что-то. Разбираются не только тривиальные кейсы
Forwarded from Android Broadcast (Кирилл Розов)
Новое руководство по архитектуре "UI State production"
Google продолжает создавать руководство по архитектуре Android приложений. В свежей части рассказали про управлением UI состояния: где оно должно создаваться, как им управлять и в каких случаях что использовать
#architecture
Google продолжает создавать руководство по архитектуре Android приложений. В свежей части рассказали про управлением UI состояния: где оно должно создаваться, как им управлять и в каких случаях что использовать
#architecture
👍3
Forwarded from Mobile Native ️️
Вчера разгребал избранное и наткнулся на тред от Евгения Мацюка, в котором он собрал различные ресурсы для подготовки к собесам в западные компании.
Там достаточно много полезных ресурсов, включая такие темы как Mobile System Design, HTTPS, Backend System Design, Solution Architecture и т.д.
Возможно кому-то пригодится.
Читать (Ru)
Там достаточно много полезных ресурсов, включая такие темы как Mobile System Design, HTTPS, Backend System Design, Solution Architecture и т.д.
Возможно кому-то пригодится.
Читать (Ru)
👍2
Forwarded from Android Good Reads (Egor Tolstoy)
This media is not supported in your browser
VIEW IN TELEGRAM
Обновилась документация по работе с изображениями в Compose
- Как загружать изображения из интернета
- Растровые изображения против векторных
- Material Icons
- Работа со свойствами Image Composable
- Custom painter objects
- Оптимизация перфоманса при работе с изображениями
- Как загружать изображения из интернета
- Растровые изображения против векторных
- Material Icons
- Работа со свойствами Image Composable
- Custom painter objects
- Оптимизация перфоманса при работе с изображениями
👍3🔥1
Forwarded from Android Good Reads (Egor Tolstoy)
JSON Hero – супер мощный визуализатор JSON в браузере
JSON Hero – сайт, который рендерит JSON файлы в удобном для чтения представлении. Например, сразу подгружает изображения и url preview, показывает дату сразу во всех форматах, проводит валидацию файла и делает многое другое.
JSON Hero – сайт, который рендерит JSON файлы в удобном для чтения представлении. Например, сразу подгружает изображения и url preview, показывает дату сразу во всех форматах, проводит валидацию файла и делает многое другое.
🔥2
Forwarded from Mobile Native ️️
Transforming Kotlin Collections – Functions with Examples
Статья с примерами трансформаций коллекций в Kotlin с помощью некоторых популярных и не очень функций. Каждый пример сопровождается понятной диаграмой 👍.
👉 Map
👉 Zipping
👉 Association
👉 Flattening
👉 String Representation
Читать (En)
Статья с примерами трансформаций коллекций в Kotlin с помощью некоторых популярных и не очень функций. Каждый пример сопровождается понятной диаграмой 👍.
👉 Map
👉 Zipping
👉 Association
👉 Flattening
👉 String Representation
Читать (En)
👍4
Forwarded from Mobile Native ️️
Многопоточность Java
Неплохая статья про многопоточку в Java, в которой тезисно собраны основные темы в структурированом виде.
👉 Основные понятия
👉 Как запустить новый поток
👉 Как остановить поток
👉 Жизненный цикл потока
👉 Приоритеты потоков
👉 Переключение потоков
👉 Daemon потоки
👉 Использование памяти
👉 Deadlock и Race condition
👉 Синхронизация потоков
👉 Monitor. Mutex. Semaphore
👉 Concurrency
👉 Атомарные классы
👉 Список ссылок
Читать (Ru)
Неплохая статья про многопоточку в Java, в которой тезисно собраны основные темы в структурированом виде.
👉 Основные понятия
👉 Как запустить новый поток
👉 Как остановить поток
👉 Жизненный цикл потока
👉 Приоритеты потоков
👉 Переключение потоков
👉 Daemon потоки
👉 Использование памяти
👉 Deadlock и Race condition
👉 Синхронизация потоков
👉 Monitor. Mutex. Semaphore
👉 Concurrency
👉 Атомарные классы
👉 Список ссылок
Читать (Ru)
👍1
Forwarded from Android Broadcast (Кирилл Розов)
This media is not supported in your browser
VIEW IN TELEGRAM
Collapsing toolbar with parallax effect and curved motion in Jetpack Compose (12 мин)
Инструкция по реализация скролла с паралакс эффектом (nested scroll) в Jetpack Compose. Прямо с кодом и схемами движения, формулами. Всё очень четко!
#compose #animation
Инструкция по реализация скролла с паралакс эффектом (nested scroll) в Jetpack Compose. Прямо с кодом и схемами движения, формулами. Всё очень четко!
#compose #animation
👍3
Forwarded from Mobile Developer (Алексей Гладков)
Modern Android Development от Google на Android Dev Summit 2022
https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_L3n1j4ajHjJ6QccFUvW1u
Закончились Keynote для Android Developer от Google и с нами поделились целым ворохом рекомендаций по лучшим практикам от создателя зеленого робота и Jetpack Compose.
Внимание! Лучшие практики от Google не всегда хорошо работают
https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_L3n1j4ajHjJ6QccFUvW1u
Закончились Keynote для Android Developer от Google и с нами поделились целым ворохом рекомендаций по лучшим практикам от создателя зеленого робота и Jetpack Compose.
Внимание! Лучшие практики от Google не всегда хорошо работают
🔥3
Forwarded from Android Broadcast (Кирилл Розов)
Вышел Compose 1.3.0
👉 Переход на независимое версионирование артефактов
👉 Опубликовали BOM, который корректно соединяет разные версии Compose артефактов
👉 Рефакторинг работы модификторов под капотом, для увеличения их производительности
👉 Исправление Accessibility в Popup и Диалогах
👉 LazyHorizontalStaggeredGrid и LazyVerticalStaggeredGrid
👉 Отрисовка текста напрямую на Canvas
👉 Поддерджка Swipe to refresh с помощью Modifier.pullRefresh
👉 Поддержка snap поведения через SnapFlingBehavior
Подробнее в статье или обновлении Android Jetpack
#compose
👉 Переход на независимое версионирование артефактов
👉 Опубликовали BOM, который корректно соединяет разные версии Compose артефактов
👉 Рефакторинг работы модификторов под капотом, для увеличения их производительности
👉 Исправление Accessibility в Popup и Диалогах
👉 LazyHorizontalStaggeredGrid и LazyVerticalStaggeredGrid
👉 Отрисовка текста напрямую на Canvas
👉 Поддерджка Swipe to refresh с помощью Modifier.pullRefresh
👉 Поддержка snap поведения через SnapFlingBehavior
Подробнее в статье или обновлении Android Jetpack
#compose
👍4🔥1
Forwarded from Android Good Reads (Egor Tolstoy)
Вышло ежегодное исследование популярности команд Android разработки
В этом году мы опросили 660 Android-разработчиков, на 40% больше, чем в прошлом! Посмотрите отчет, чтобы узнать:
💰В каких сферах предпочитают работать Android разработчики (спойлер – топ-1 это банки)
📚Какие 10 книг чаще всего рекомендуют для прочтения
🤔Какие каналы и сообщества про Android разработку самые популярные
📃Как много андроидщиков планирует менять работу в этом году
📊Кто входит в топ Android экспертов
🤩В каких компаниях и почему разработчики хотят работать
Исследование проведено при поддержке VK. Пошарьте опрос в своем рабочем чате, мы будем очень рады ❤️
В этом году мы опросили 660 Android-разработчиков, на 40% больше, чем в прошлом! Посмотрите отчет, чтобы узнать:
💰В каких сферах предпочитают работать Android разработчики (спойлер – топ-1 это банки)
📚Какие 10 книг чаще всего рекомендуют для прочтения
🤔Какие каналы и сообщества про Android разработку самые популярные
📃Как много андроидщиков планирует менять работу в этом году
📊Кто входит в топ Android экспертов
🤩В каких компаниях и почему разработчики хотят работать
Исследование проведено при поддержке VK. Пошарьте опрос в своем рабочем чате, мы будем очень рады ❤️
Известность команд Android разработки 2022
Известность команд Android разработки 2022
Рисерч DevCrowd: Известность команд Android разработки 2022
👍1