Видео о том, как Compose Multiplatform работает на iOS:
- Definition of what performance is and what our goals are
- Overview of Compose Multiplatform machinery and how it works on iOS
- Summary of interesting problems we had and how we overcame them
#compose #ios #multiplatform
https://www.youtube.com/watch?v=Df1ZCmmHWzM
- Definition of what performance is and what our goals are
- Overview of Compose Multiplatform machinery and how it works on iOS
- Summary of interesting problems we had and how we overcame them
#compose #ios #multiplatform
https://www.youtube.com/watch?v=Df1ZCmmHWzM
YouTube
Compose Multiplatform performance on iOS | Elijah Semyonov
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
Enjoyed this talk? Experience it live at KotlinConf 2025—the biggest in history! Grab your tickets now: https://kotl.in/kotlinconf25
One of the main goals of Compose Multiplatform…
Enjoyed this talk? Experience it live at KotlinConf 2025—the biggest in history! Grab your tickets now: https://kotl.in/kotlinconf25
One of the main goals of Compose Multiplatform…
👍12🔥3❤1
Рекомендации от Gradle по неймингу в Version Catalog
#gradle #versioncatalog #android #bestpractice
https://blog.gradle.org/best-practices-naming-version-catalog-entries
#gradle #versioncatalog #android #bestpractice
https://blog.gradle.org/best-practices-naming-version-catalog-entries
blog.gradle.org
Dependency Management - Best Practices for Naming Gradle Version Catalog Entries
Version catalogs are a fairly recent feature in Gradle Build Tool. They help manage dependencies by providing a standardized way of defining and accessing the catalog of dependencies used in a project—ensuri...
👍8
K2 не полностью обратно совместим с K1. Нам нужно выполнить некоторые дополнительные шаги, чтобы наш код компилировался на K2. Подробное объяснение миграции описано в официальном руководстве по миграции. Здесь же мы просто объясним наиболее важные изменения, которые могут затронуть обычных пользователей.
#kotlin
https://habr.com/ru/companies/spring_aio/articles/826660/
#kotlin
https://habr.com/ru/companies/spring_aio/articles/826660/
Хабр
Новый компилятор K2 в Kotlin. Часть 2. Гайд по миграции
В этой статье эксперт сообщества Spring АйО – Михаил Поливаха рассмотрит процесс миграции с компилятора Kotlin старой версии на новый компилятор K2. В предыдущей статье...
👎9👍3🤡3👀1
В этой статье разберем, какие обновления для обеспечения безопасности пользователей были представлены в докладе Safeguarding user security on Android на Google I/O, и как они отразятся на разработке.
Новая защита пользователей
◦ Улучшения UX во время демонстрации экрана
◦ Защита пользователей во время кражи устройства
◦ Private Space feature
◦ Сокращение доступа к фото и видео
Play Integrity API
◦ App access risk
◦ Play Protect
◦ Проверка недавней активности приложения
◦ Integrity API report
Изменения в Android 15
◦ Обновление версии target SDK
◦ Safer Intent update
◦ Запуск background activity
#android #security #apilevel #sdk
https://habr.com/ru/companies/kts/articles/823574/
Новая защита пользователей
◦ Улучшения UX во время демонстрации экрана
◦ Защита пользователей во время кражи устройства
◦ Private Space feature
◦ Сокращение доступа к фото и видео
Play Integrity API
◦ App access risk
◦ Play Protect
◦ Проверка недавней активности приложения
◦ Integrity API report
Изменения в Android 15
◦ Обновление версии target SDK
◦ Safer Intent update
◦ Запуск background activity
#android #security #apilevel #sdk
https://habr.com/ru/companies/kts/articles/823574/
Хабр
Что нового в безопасности пользователей на Android: доклад с Google I/O 2024
Привет, меня зовут Аня, и я Android-разработчица в KTS . В этой статье разберем, какие обновления для обеспечения безопасности пользователей были представлены в докладе Safeguarding user security on...
👍13🔥1
Если вы используете Android Studio в работе, то высока вероятность, что рано или поздно зададитесь вопросом – что можно «проапгрейдить» в железе для повышения производительности и что от этого ожидать? Если посмотреть официальные рекомендации, то они довольно скудные и особой ясности не вносят. На хабре на эту тему уже была довольно интересная статья с подробными разборами «что-на-что» влияет. Здесь же я попытаюсь немного дополнить ее еще некоторыми тестами.
#android #performance #build
https://habr.com/ru/articles/823840/
#android #performance #build
https://habr.com/ru/articles/823840/
Хабр
«Железо» для Android Studio (gradle-сборка) в 2024 году
Вступление Если вы используете Android Studio в работе, то высока вероятность, что рано или поздно зададитесь вопросом – что можно «проапгрейдить» в железе для повышения производительности и что от...
👍28🤷1
На связи эксперты из Стингрей Технолоджиз – Юрий Шабалин, Веселина Зацепина и Игорь Кривонос.
Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в популярной библиотеке для навигации в приложениях Android – Jetpack Navigation. Эта уязвимость позволяет открывать любые фрагменты внутри приложения.
К большому сожалению, несмотря на усилия сообщества, об этой уязвимости мало кто знает. Поэтому сегодня мы хотим еще раз подсветить данную проблему с углублением в детали. В статье мы разберем, что из себя представляет библиотека Jetpack Navigation и ее основные элементы, в чем заключается уязвимость и насколько она опасна, а также приведем немного статистики по уязвимым приложениям.
#android #compose #navigation #security
https://habr.com/ru/companies/swordfish_security/articles/830338/
Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в популярной библиотеке для навигации в приложениях Android – Jetpack Navigation. Эта уязвимость позволяет открывать любые фрагменты внутри приложения.
К большому сожалению, несмотря на усилия сообщества, об этой уязвимости мало кто знает. Поэтому сегодня мы хотим еще раз подсветить данную проблему с углублением в детали. В статье мы разберем, что из себя представляет библиотека Jetpack Navigation и ее основные элементы, в чем заключается уязвимость и насколько она опасна, а также приведем немного статистики по уязвимым приложениям.
#android #compose #navigation #security
https://habr.com/ru/companies/swordfish_security/articles/830338/
Хабр
Разбираемся с новой уязвимостью Android-библиотеки Jetpack Navigation: как открыть любой фрагмент из вашего приложения?
Всем привет! На связи эксперты из Стингрей Технолоджиз – Юрий Шабалин, Веселина Зацепина и Игорь Кривонос. Недавно специалисты из компании Positive Technologies нашли серьезную проблему безопасности в...
🥰5😁4👍3😱1
Пост от Gradle команды о том, что такое Declarative Gradle, и какие дальнейшие планы по нему
#android #gradle
https://blog.gradle.org/declarative-gradle-first-eap
#android #gradle
https://blog.gradle.org/declarative-gradle-first-eap
blog.gradle.org
First look at Declarative Gradle
Introduction
❤2👍2
Подробная статья о том, что такое Accessibility, и почему это важно.
Внутри еще несколько полезных ссылок, в том числе на серию статей о реализации Accessibility в Compose.
#android #accessibility
https://www.thedroidsonroids.com/blog/what-is-accessibility-in-mobile-apps
Внутри еще несколько полезных ссылок, в том числе на серию статей о реализации Accessibility в Compose.
#android #accessibility
https://www.thedroidsonroids.com/blog/what-is-accessibility-in-mobile-apps
Droids On Roids
What is Accessibility in Mobile Apps? Legal Requirements in App Development Series - Part I
Accessibility in mobile apps will be a hot topic in 2024, largely due to upcoming EU legislation that will soon cover digital products. See what to look out for.
👍5❤2✍1🔥1
Android Application Security Knowledge Base (AAKB) - база знаний по уязвимостям безопасности, которые могут появиться в нашем коде. Там можно найти подробные объяснения и рекомендации по устранению.
#android #security
https://android-developers.googleblog.com/2024/07/making-security-easy-vuln-remediation.html
#android #security
https://android-developers.googleblog.com/2024/07/making-security-easy-vuln-remediation.html
👍13
Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывают как раз опыт публикации через OSSRH на Maven Central из-за чего после марта 2024 года эти инструкции стали не актуальны для публикации проектов новых авторов.
Процесс публикации можно разбить на следующие шаги:
1. Регистрация на Central Portal и верификация namespace
2. Создания GPG ключа для подписи артефактов
3. Локальная публикация проекта для теста
4. Подключение JReleaser к проекту и публикация локально
5. Настройка Github Actions для автоматической публикации
#android #library #maven
https://habr.com/ru/articles/830630/
Процесс публикации можно разбить на следующие шаги:
1. Регистрация на Central Portal и верификация namespace
2. Создания GPG ключа для подписи артефактов
3. Локальная публикация проекта для теста
4. Подключение JReleaser к проекту и публикация локально
5. Настройка Github Actions для автоматической публикации
#android #library #maven
https://habr.com/ru/articles/830630/
Хабр
Как публиковать библиотеку в Maven Central Portal в 2024 году
Англоязычная версия статьи на Medium Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывают как раз опыт публикации...
👍7❤1🥴1
Обзор Compose компонентов из Material 3 Adaptive, которые помогают создавать UI под разные размеры экранов.
#android #ui #adaptive #compose
https://www.youtube.com/watch?v=xPUZENis4gc
#android #ui #adaptive #compose
https://www.youtube.com/watch?v=xPUZENis4gc
👍16🔥2
Возвращаемся к урокам по Compose после летних каникул.
Новая важная тема - Stability. В первом уроке разбираемся, что это такое и зачем вообще нужно.
Подключим compiler metrics отчеты, чтобы видеть, какие классы компилятор считает stable/unstable, а какие функции - skippable.
Используем аннотацию Immutable, чтобы увидеть, как можно сломать Stability.
В качестве примеров пока используем примитивы и data классы.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Новая важная тема - Stability. В первом уроке разбираемся, что это такое и зачем вообще нужно.
Подключим compiler metrics отчеты, чтобы видеть, какие классы компилятор считает stable/unstable, а какие функции - skippable.
Используем аннотацию Immutable, чтобы увидеть, как можно сломать Stability.
В качестве примеров пока используем примитивы и data классы.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
👍29🔥14👏1🖕1
Мобильные разработчики, общий сбор!
29 августа в Санкт-Петербурге пройдёт VK JT Mobile, первая конференция VK для мобильных разработчиков на iOS и Android. Вспомним прошлое, обсудим будущее и, опираясь на наш опыт, расскажем, как моментально внедрять технологии, структурировать миллионы строк кода и постоянно улучшать продуктовые метрики.
В программе нестандартные сценарии работы с пушами, упрощение разработки с помощью нейросетей, фичи для анализа ошибок и даже реализация приложений для автомобилей. Подробнее — на сайте.
Регистрируйтесь, если хотите реализовывать сложные в разработке, но простые для юзеров приложения, а также разбираться в инструментах и практиках, которые применяют наши специалисты 🙋
#реклама
29 августа в Санкт-Петербурге пройдёт VK JT Mobile, первая конференция VK для мобильных разработчиков на iOS и Android. Вспомним прошлое, обсудим будущее и, опираясь на наш опыт, расскажем, как моментально внедрять технологии, структурировать миллионы строк кода и постоянно улучшать продуктовые метрики.
В программе нестандартные сценарии работы с пушами, упрощение разработки с помощью нейросетей, фичи для анализа ошибок и даже реализация приложений для автомобилей. Подробнее — на сайте.
Регистрируйтесь, если хотите реализовывать сложные в разработке, но простые для юзеров приложения, а также разбираться в инструментах и практиках, которые применяют наши специалисты 🙋
#реклама
💩30👍9👎2✍1🤔1
Volatile, Lock-free, Immutable, Atomic в Java. Как понять и начать использовать
#java #concurrency
https://habr.com/ru/companies/bercut/articles/822253/
#java #concurrency
https://habr.com/ru/companies/bercut/articles/822253/
Хабр
Volatile, Lock-free, Immutable, Atomic в Java. Как понять и начать использовать
Вступление Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Сегодня хочу поговорить об одном из lock-free алгоритмов в Java. Разберём как с ним связано ключевое...
👍17❤2🔥2
Инструкция по миграции с Hilt на Koin
#android #di #dagger #hilt #koin
https://blog.kotzilla.io/migrate-from-hilt-to-koin?utm_source=canopas-stack-weekl
#android #di #dagger #hilt #koin
https://blog.kotzilla.io/migrate-from-hilt-to-koin?utm_source=canopas-stack-weekl
blog.kotzilla.io
How To Migrate from Hilt to Koin - A Detailed Guide
Migrate from Hilt to Koin for Android devs. A step-by-step guide to cover setup, annotation replacements, module migration, testing, & Compose previews.
👍11🤡11😁4❤1
Android Gradle Plugin это тяжелая штука. Модуль с подключенным AGP (например с com.android.library) конфигурируется в два раза дольше чем обычный jvm модуль java/kotlin. В момент конфигурации android-модуля потребляется в два раза больше оперативной памяти. У модуля с AGP больше тасок, больше вес output артефактов, больше триггеров для инвалидации билд-кэша.
В крупных проектах, когда у нас есть возможность использовать модули без AGP, мы должны это делать ради времени билда и конфигурации.
К сожалению в 90% случаев мы не можем оставить модуль обычным JVM модулем из-за того что он ссылается на какие-то сущности из Android SDK или библиотеки, распространяемые в виде AAR артефактов.
Решение в том чтобы разрешить JVM модулям зависеть от Android SDK и AAR, при этом не подключая AGP.
#android #gradle #java #module #agp
https://habr.com/ru/articles/835402/
В крупных проектах, когда у нас есть возможность использовать модули без AGP, мы должны это делать ради времени билда и конфигурации.
К сожалению в 90% случаев мы не можем оставить модуль обычным JVM модулем из-за того что он ссылается на какие-то сущности из Android SDK или библиотеки, распространяемые в виде AAR артефактов.
Решение в том чтобы разрешить JVM модулям зависеть от Android SDK и AAR, при этом не подключая AGP.
#android #gradle #java #module #agp
https://habr.com/ru/articles/835402/
👍12😁7🤔2
В файле local.properties можно хранить, например, свои логин/пароль. Gradle может закинуть их в класс BuildConfig, чтобы мы могли использовать эти данные в приложении на экране логина, и не вводить каждый раз руками. Это будет работать только в локальной сборке.
#android #gradle
https://dev.to/kiolk/simple-way-to-store-secrets-in-android-project-345k
#android #gradle
https://dev.to/kiolk/simple-way-to-store-secrets-in-android-project-345k
DEV Community
Simple way to store secrets in Android Project.
Very often, we should store secrets that we need to build android application. One of the most common...
👍21👎5
Интересный способ избавиться от UseCase, которые просто прокидывают метод репозитория. Делаем такой UseCase интерфейсом и наследуем его в репозитории.
#android #kotlin #usecase #architecture
https://dladukedev.com/articles/042_avoid_useless_cases_part_2/
#android #kotlin #usecase #architecture
https://dladukedev.com/articles/042_avoid_useless_cases_part_2/
👎60🤨15🤔8👍6💩3😁1
Вышел Kotlin 2.0.20
- The data class copy function will have the same visibility as the constructor
- Static accessors for source sets from the default target hierarchy are now available in multiplatform projects
- Concurrent marking for Kotlin/Native has been made possible in the garbage collector
- The @ExperimentalWasmDsl annotation in Kotlin/Wasm has a new location
- Support has been added for Gradle versions 8.6–8.8
- A new option allows sharing JVM artifacts between Gradle projects as class files
- The Compose compiler has been updated
- Support for UUIDs has been added to the common Kotlin standard library
#kotlin
https://blog.jetbrains.com/kotlin/2024/08/kotlin-2-0-20-released/
- The data class copy function will have the same visibility as the constructor
- Static accessors for source sets from the default target hierarchy are now available in multiplatform projects
- Concurrent marking for Kotlin/Native has been made possible in the garbage collector
- The @ExperimentalWasmDsl annotation in Kotlin/Wasm has a new location
- Support has been added for Gradle versions 8.6–8.8
- A new option allows sharing JVM artifacts between Gradle projects as class files
- The Compose compiler has been updated
- Support for UUIDs has been added to the common Kotlin standard library
#kotlin
https://blog.jetbrains.com/kotlin/2024/08/kotlin-2-0-20-released/
The JetBrains Blog
Kotlin 2.0.20 Released | The Kotlin Blog
Kotlin 2.0.20 has been released! This version includes performance improvements and bug fixes for Kotlin 2.0.0, where we announced the Kotlin K2 compiler as Stable. Learn more!
🔥7👍3❤1
Сравнение Flutter и Kotlin Multiplatform:
- Flutter vs. KMP in a nutshell
- Flutter vs. KMP – Detailed comparison
- Flutter vs. KMP – Main differences
- Flutter vs. KMP: 4 key criteria to help you decide
- Developing with Flutter and KMP – Droids On Roids approach
- Summary
#flutter #kmp #multiplatform
https://www.thedroidsonroids.com/blog/flutter-vs-kotlin-multiplatform
- Flutter vs. KMP in a nutshell
- Flutter vs. KMP – Detailed comparison
- Flutter vs. KMP – Main differences
- Flutter vs. KMP: 4 key criteria to help you decide
- Developing with Flutter and KMP – Droids On Roids approach
- Summary
#flutter #kmp #multiplatform
https://www.thedroidsonroids.com/blog/flutter-vs-kotlin-multiplatform
Droids On Roids
Flutter vs. Kotlin Multiplatform: Key Factors to Consider for Your App | Blog
When to choose Flutter and when to choose KMP? Here is a complete Flutter vs. Kotlin Multiplatform guide to clear up your doubts! Click to read.
👍8👎4