Forwarded from Android Guards
Всем любителям строить "самые лучшие защиты" для своих приложений посвящается. В докладе подробно рассказывается как устроен современный SafetyNet. Если любите технические кишки, то вам сюда.
YouTube
DroidGuard: A Deep Dive into SafetyNet
The purpose of this talk is to make a state-of-the-art of the current implementation of SafetyNet. In particular, we aim at presenting the internal mechanisms behind SafetyNet and the DroidGuard module. This includes an overview of the VM design, its internal…
👍3🔥1
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