Недавно состоялись сразу два крупных обновления. И 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...
👍4
При 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
👍14❤1
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
👍34👎3
Список изменений в 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
👍5🔥1😢1
Рассуждения на тему, где и в какой момент лучше загружать данные: 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
🔥13👍4🤔1
В огромном приложении 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 много рутинной работы, связанной с отображением объектов между различными слоями. Хорошим решением будет автоматизация этого процесса. В этой статье...
👎12🤔8👍2❤1
Ускоряем 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/
👍10🔥4👏1
Новый урок по 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
👍32💩1
Разработчик из команды 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…
👍10😁1
В 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. Нет, компания просто разрешила самим разработчикам ПО закрывать возможность...
👎22👍10😱5👾3🤷3
🔥30👌4👍3😁1
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,...
👍4❤3
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,…
❤12👍5👎1
Новый урок по Compose
Небольшой урок в завершение темы Stability. Выясняем, что означает restartable, и разбираемся, какие изменения несет нам Strong Skipping Mode, который будет включен по умолчанию, начиная с Kotlin 2.0.20.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
Небольшой урок в завершение темы Stability. Выясняем, что означает restartable, и разбираемся, какие изменения несет нам Strong Skipping Mode, который будет включен по умолчанию, начиная с Kotlin 2.0.20.
#android #course #compose
https://startandroid.ru/ru/courses/compose.html
👍21❤12👎2😡1
Вторая часть статьи про начальную загрузку данных в ViewModel. Отвечает на самые распространенные вопросы, возникшие после первой части.
1. What if you want to pass arguments when loading initial data
2. What if you want to refresh?
3. Why are ViewModel.init side-effects potentially problematic?
4. How to prevent re-emitting flow from WhileSubscribed(5_000)
#android #viewmodel #architecture #bestpractice
https://proandroiddev.com/loading-initial-data-part-2-clear-all-your-doubts-0f621bfd06a0
1. What if you want to pass arguments when loading initial data
2. What if you want to refresh?
3. Why are ViewModel.init side-effects potentially problematic?
4. How to prevent re-emitting flow from WhileSubscribed(5_000)
#android #viewmodel #architecture #bestpractice
https://proandroiddev.com/loading-initial-data-part-2-clear-all-your-doubts-0f621bfd06a0
Medium
Click Me Load More Initial Data on Android Part 2: Clear All Your Doubts
When a user enters a screen, the default data should be fetched by triggering the business logic, whether from the network or local…
👍12🎉3👎1
Manuel Vivo рассказывает основы построения UI слоя приложения
#android #architecture #ui
https://www.droidcon.com/2023/11/15/peeling-back-the-layers-unmasking-the-ui-nknown/
#android #architecture #ui
https://www.droidcon.com/2023/11/15/peeling-back-the-layers-unmasking-the-ui-nknown/
droidcon
Peeling Back the Layers: Unmasking the UI-nknown!
How much do you know about the UI layer and its best practices? What's the preferred way to produce UiState? How to consume it? Should you use MVVM or MVI?
🥱5👍2🔥1😁1
В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании новых библиотек, другие, напротив, заменены более логичными и понятными конструкциями. В этой статье я постараюсь перечислить всё, что смог заметить сам при изучении исходников Android'а.
#android #java
https://habr.com/ru/companies/ruvds/articles/838330/
#android #java
https://habr.com/ru/companies/ruvds/articles/838330/
Хабр
Интересные приёмы, взятые из исходников Android
Интересные приёмы, взятые из исходников Android В процессе чтения исходников Android SDK я замечал интересные механики и приёмы написания кода, какие-то из них до сих пор используются при создании...
👍21
Краткий обзор Jetpack Media3 Transformer API, которое позволяет обрабатывать изображения, аудио и видео.
#android #media
https://www.youtube.com/watch?v=7vmiYP4vNUE
#android #media
https://www.youtube.com/watch?v=7vmiYP4vNUE
YouTube
Complement your media editing pipeline with Jetpack Media3
In this video, Developer Relations Engineer Nevin Mital will start with a quick overview of Jetpack Media3, then we’ll dive specifically into the APIs offered by Transformer, and lastly, Nevin will describe how you could incrementally start including Transformer…
👍8