Вышел 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!
Сравнение 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.
Вдохновившись обновлением Telegram без маркета приложений я захотел сделать на одном из своих пет-проектов что-то подобное. Первой мыслью было - найти этот код в исходниках Telegram, но т.к. скорее всего у них обновление скачивается с серверов, я решил не играть в лотерею и не тратить время на раскопки в Java-коде, потому что я хотел сделать так, чтобы можно было скачивать с GitHub-releases.
#android #release #build #update
https://habr.com/ru/articles/839008/
#android #release #build #update
https://habr.com/ru/articles/839008/
Хабр
Автообновление через GitHub releases с помощью Hilt и Retrofit в Android
Вдохновившись обновлением Telegram без маркета приложений я захотел сделать на одном из своих пет-проектов что-то подобное. Первой мыслью было - найти этот код в исходниках Telegram, но т.к. скорее...
Переход на технологии и инструменты новых версий может быть обусловлен разными причинами: от банального появления проблем при работе с устаревшими версиями до желания получать больше возможностей. При этом для многих команд, независимо от причин, апгрейд стека является задачей, скрывающей не только выгоды, но и сложности, которые приходится стойко преодолевать.
Меня зовут Богдан Мащенко. Я Android-разработчик в платформенной команде Одноклассников. В этой статье я расскажу о нашем опыте перехода на AGP (Android Gradle Plugin) и Gradle версий 8.*: что стало причиной перехода, как преодолевали трудности, и что мы смогли получить в результате.
#android #gradle #build
https://habr.com/ru/companies/vk/articles/838772/
Меня зовут Богдан Мащенко. Я Android-разработчик в платформенной команде Одноклассников. В этой статье я расскажу о нашем опыте перехода на AGP (Android Gradle Plugin) и Gradle версий 8.*: что стало причиной перехода, как преодолевали трудности, и что мы смогли получить в результате.
#android #gradle #build
https://habr.com/ru/companies/vk/articles/838772/
🚀 Как автоматизировать процесс разработки и сделать жизнь android-разработчика проще? Ответы на эти вопросы найдете на Podlodka Android Crew с 16 по 20 сентября!
Podlodka Crew — это онлайн-конференции для IT-специалистов, которые фокусируются на практической пользе. Сессии проходят утром и вечером, чтобы вы могли совмещать их с работой.
Вас ждут:
- Пришёл, увидел, наплагинил: Павел Стрельченко из HeadHunter расскажет, как разработка плагинов для IntelliJ IDEA может стать вашей скрытой суперсилой.
- Автоматизация экспорта токенов из Figma: Никита Яцкивский из Магнит поделится опытом автоматизации экспорта дизайнерских токенов в код, что значительно ускоряет работу над проектом.
- Генерация шаблонного кода с помощью Geminio: Евгений Мельцайкин из СКБ Контур расскажет, как избавиться от повторяющегося кода и сосредоточиться на важных задачах.
- GitHub Actions: Никита Куликов из Flipper Devices объяснит, почему GitHub Actions стал доминирующим CI/CD инструментом для open-source проектов и как настроить его за считанные минуты.
Подключайтесь к Podlodka Android Crew, чтобы получить самые актуальные знания и практические советы! Билеты со скидкой: https://podlodka.io/droidcrew
А промокод сообщества android_crew_12_K2pP4j даёт скидку еще в 500 руб🥳
#реклама
Podlodka Crew — это онлайн-конференции для IT-специалистов, которые фокусируются на практической пользе. Сессии проходят утром и вечером, чтобы вы могли совмещать их с работой.
Вас ждут:
- Пришёл, увидел, наплагинил: Павел Стрельченко из HeadHunter расскажет, как разработка плагинов для IntelliJ IDEA может стать вашей скрытой суперсилой.
- Автоматизация экспорта токенов из Figma: Никита Яцкивский из Магнит поделится опытом автоматизации экспорта дизайнерских токенов в код, что значительно ускоряет работу над проектом.
- Генерация шаблонного кода с помощью Geminio: Евгений Мельцайкин из СКБ Контур расскажет, как избавиться от повторяющегося кода и сосредоточиться на важных задачах.
- GitHub Actions: Никита Куликов из Flipper Devices объяснит, почему GitHub Actions стал доминирующим CI/CD инструментом для open-source проектов и как настроить его за считанные минуты.
Подключайтесь к Podlodka Android Crew, чтобы получить самые актуальные знания и практические советы! Билеты со скидкой: https://podlodka.io/droidcrew
А промокод сообщества android_crew_12_K2pP4j даёт скидку еще в 500 руб🥳
#реклама
Недавно состоялись сразу два крупных обновления. И IntelliJ IDEA и Amplicode зарелизились с новыми версиями 2024.2. Про Amplicode я уже рассказывал в другой статье, в этой расскажу про IntelliJ IDEA Community Edition.
- Быстрый старт
- Режим К2
- Новый интерфейс включен по умолчанию
- Превью результатов поиска в Search Everywhere
- Улучшенная работа с логами
- Улучшенный дебаггер для Kotlin
- Визуализация строковых переменных для JSON, XML и других форматов
- Улучшенная работа с Gradle
- Улучшения, связанные с VCS
- Инкрементальная синхронизация Maven-проектов
#kotiln #idea #jetbrains #intellij
https://habr.com/ru/companies/haulmont/articles/839454/
- Быстрый старт
- Режим К2
- Новый интерфейс включен по умолчанию
- Превью результатов поиска в Search Everywhere
- Улучшенная работа с логами
- Улучшенный дебаггер для Kotlin
- Визуализация строковых переменных для JSON, XML и других форматов
- Улучшенная работа с Gradle
- Улучшения, связанные с VCS
- Инкрементальная синхронизация Maven-проектов
#kotiln #idea #jetbrains #intellij
https://habr.com/ru/companies/haulmont/articles/839454/
Хабр
Что нового в IntelliJ IDEA 2024.2
Недавно состоялись сразу два крупных обновления. И IntelliJ IDEA и Amplicode зарелизились с новыми версиями 2024.2. Про Amplicode я уже рассказывал в другой статьей , в этой расскажу про IntelliJ...
При targetSdk=35 режим edge-to-edge будет включен по умолчанию. Статья дает несколько советов по работе с ним.
- Use material components to make handling insets easier
- Draw backgrounds edge-to-edge, and inset critical UI
- Handle display cutout and caption bar insets
- Don’t forget the last list item
- Don’t forget IMEs
- For backwards compatibility, use enableEdgeToEdge instead of setDecorFitsSystemWindows
- Background protect system bars only when necessary
- Use Scaffold’s PaddingValues
- Use high level WindowInset APIs
- Prefer ViewCompat.setOnApplyWindowInsetsListener over fitsSystemWindows=true
- Apply insets based on app bar height on bar layout
#android #insets #targetsdk #migration
https://medium.com/androiddevelopers/insets-handling-tips-for-android-15s-edge-to-edge-enforcement-872774e8839b
https://medium.com/androiddevelopers/preview-and-test-your-apps-edge-to-edge-ui-da645c905d78
- Use material components to make handling insets easier
- Draw backgrounds edge-to-edge, and inset critical UI
- Handle display cutout and caption bar insets
- Don’t forget the last list item
- Don’t forget IMEs
- For backwards compatibility, use enableEdgeToEdge instead of setDecorFitsSystemWindows
- Background protect system bars only when necessary
- Use Scaffold’s PaddingValues
- Use high level WindowInset APIs
- Prefer ViewCompat.setOnApplyWindowInsetsListener over fitsSystemWindows=true
- Apply insets based on app bar height on bar layout
#android #insets #targetsdk #migration
https://medium.com/androiddevelopers/insets-handling-tips-for-android-15s-edge-to-edge-enforcement-872774e8839b
https://medium.com/androiddevelopers/preview-and-test-your-apps-edge-to-edge-ui-da645c905d78
Jetpack Navigation 2.8.0 принес нам стабильную Type safe навигацию.
#android #navigation
https://medium.com/androiddevelopers/type-safe-navigation-for-compose-105325a97657
#android #navigation
https://medium.com/androiddevelopers/type-safe-navigation-for-compose-105325a97657
Список изменений в Android 15
- Improving your developer experience
- Improving typography and internationalization
- Camera and media improvements
- Improving the user experience
- Privacy and security enhancements
- Get your apps, libraries, tools, and game engines ready!
- App compatibility
#android #release
https://android-developers.googleblog.com/2024/09/android-15-is-released-to-aosp.html
- Improving your developer experience
- Improving typography and internationalization
- Camera and media improvements
- Improving the user experience
- Privacy and security enhancements
- Get your apps, libraries, tools, and game engines ready!
- App compatibility
#android #release
https://android-developers.googleblog.com/2024/09/android-15-is-released-to-aosp.html
Рассуждения на тему, где и в какой момент лучше загружать данные: LaunchedEffect или ViewModel.init()
#android #kotlin #compose #architecture
https://proandroiddev.com/loading-initial-data-in-launchedeffect-vs-viewmodel-f1747c20ce62
#android #kotlin #compose #architecture
https://proandroiddev.com/loading-initial-data-in-launchedeffect-vs-viewmodel-f1747c20ce62
В огромном приложении Android с Clean Architecture много рутинной работы, связанной с отображением объектов между различными слоями. Хорошим решением будет автоматизация этого процесса.
В этой статье рассматривается опыт использования библиотеки MapStruct, которая помогает mapp-ить объекты.
Библиотека очень гибка в настройке. И позволяет минимизировать написание шаблонного кода.
#android #architecture #mapping
https://habr.com/ru/articles/839362/
В этой статье рассматривается опыт использования библиотеки MapStruct, которая помогает mapp-ить объекты.
Библиотека очень гибка в настройке. И позволяет минимизировать написание шаблонного кода.
#android #architecture #mapping
https://habr.com/ru/articles/839362/
Хабр
Mapping объектов с помощью MapStruct
В огромном приложении Android с Clean Architecture много рутинной работы, связанной с отображением объектов между различными слоями. Хорошим решением будет автоматизация этого процесса. В этой статье...
Ускоряем Android-приложения с помощью Baseline Profiles
В этой статье я расскажу, что такое Baseline Profiles, как он ускоряет запуск программы и каким приложениям он принесет больше пользы. В качестве примера возьму наш эксперимент, который ускорил время запуска приложения на 15%. Также расскажу, как мы автоматизировали добавление профилей в каждый релиз.
#android #build #performance
https://habr.com/ru/companies/avito/articles/842218/
В этой статье я расскажу, что такое Baseline Profiles, как он ускоряет запуск программы и каким приложениям он принесет больше пользы. В качестве примера возьму наш эксперимент, который ускорил время запуска приложения на 15%. Также расскажу, как мы автоматизировали добавление профилей в каждый релиз.
#android #build #performance
https://habr.com/ru/companies/avito/articles/842218/
Новый урок по Compose
Продолжаем тему Stability на примере более сложных типов: коллекции, state holder, лямбды
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Продолжаем тему Stability на примере более сложных типов: коллекции, state holder, лямбды
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Разработчик из команды Compose рассказывает, как они оптимизировали свой Kotlin код.
#android #compose #kotlin #performance
https://www.youtube.com/watch?v=WAbaEE8qRdw
#android #compose #kotlin #performance
https://www.youtube.com/watch?v=WAbaEE8qRdw
YouTube
Going fast with Kotlin | Andrei Shikov
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
Kotlin is leaning on JVM a lot, making most Java features accessible and easy to use. Sometimes, however, this results in curiously unexpected results during execution if…
Kotlin is leaning on JVM a lot, making most Java features accessible and easy to use. Sometimes, however, this results in curiously unexpected results during execution if…
В Android блокируют установку приложений из сторонних источников. Почему это важно?
Разработчики Android-приложений теперь способны блокировать установку своего софта со сторонних источников. Т. е. создатель какой-то программы может разрешить ее установку лишь из Google Play. Запретить можно даже давно привычную многим установку из APK-файлов. А это может довольно сильно повлиять на баланс сил в экосистеме Android-приложений.
#android #store
https://habr.com/ru/companies/selectel/articles/843400/
Разработчики Android-приложений теперь способны блокировать установку своего софта со сторонних источников. Т. е. создатель какой-то программы может разрешить ее установку лишь из Google Play. Запретить можно даже давно привычную многим установку из APK-файлов. А это может довольно сильно повлиять на баланс сил в экосистеме Android-приложений.
#android #store
https://habr.com/ru/companies/selectel/articles/843400/
Хабр
В Android блокируют установку приложений из сторонних источников. Почему это важно?
Источник: androidauthority.com Сразу скажу, что это не централизованное блокирование со стороны самой корпорации Google. Нет, компания просто разрешила самим разработчикам ПО закрывать возможность...
IntelliJ IDEA 2024.3 EAP: Новые Возможности и Улучшения
Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2024.3. Среди нововведений улучшения для java и kotlin, прокаченный AI Assistant, а также улучшенный UX.
#intellij #androidstudio
https://habr.com/ru/companies/spring_aio/articles/842854/
Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2024.3. Среди нововведений улучшения для java и kotlin, прокаченный AI Assistant, а также улучшенный UX.
#intellij #androidstudio
https://habr.com/ru/companies/spring_aio/articles/842854/
Хабр
IntelliJ IDEA 2024.3 EAP: Новые Возможности и Улучшения
Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2024.3. Среди нововведений улучшения для java и kotlin, прокаченный AI Assistant,...
Romain Guy рассказывает (часто переходя на байткод), как удается оптимизировать Compose.
#android #kotlin #compose #bytecode
https://www.youtube.com/watch?v=5cxw_fdpnoA
#android #kotlin #compose #bytecode
https://www.youtube.com/watch?v=5cxw_fdpnoA
YouTube
Practical Optimizations
In this session we will look at a series of optimizations that were done in Jetpack Compose to learn about how different types of optimizations can affect performance, including code flow/algorithms, new data structures, low-level bytecode optimizations,…