Описание подхода, проблем и решений при миграции с Java на Kotlin
#kotlin #migration #java
https://medium.com/androiddevelopers/migrating-the-aosp-quicksearchbox-app-to-kotlin-1264346619ec
#kotlin #migration #java
https://medium.com/androiddevelopers/migrating-the-aosp-quicksearchbox-app-to-kotlin-1264346619ec
Medium
Migrating the AOSP QuickSearchBox App to Kotlin
Over the course of 6 weeks, over 11,000 lines of Java code within the QuickSearchBox app were converted to Kotlin to showcase best…
👍1💩1
Статья про Inline классы в Kotlin. Они позволяют создавать удобные обертки для примитивов.
#kotlin #inline #value #class
https://medium.com/the-kotlin-primer/inline-value-classes-773093aece23
#kotlin #inline #value #class
https://medium.com/the-kotlin-primer/inline-value-classes-773093aece23
Medium
Inline (Value) Classes
An introduction to inline (also called value) classes, how they’re connected to Project Valhalla, their properties & limitations, and how…
❤6👍4👎1💩1
Релиз Kotlin 1.7.20
- The new Kotlin K2 compiler supports all-open, SAM with receiver, Lombok, and other compiler plugins
- We introduced the preview of the ..< operator for creating open-ended ranges
- The new Kotlin/Native memory manager is now enabled by default
- We introduced a new experimental feature for JVM: inline classes with a generic underlying type
#kotlin
https://blog.jetbrains.com/kotlin/2022/09/kotlin-1-7-20-released/#performance
- The new Kotlin K2 compiler supports all-open, SAM with receiver, Lombok, and other compiler plugins
- We introduced the preview of the ..< operator for creating open-ended ranges
- The new Kotlin/Native memory manager is now enabled by default
- We introduced a new experimental feature for JVM: inline classes with a generic underlying type
#kotlin
https://blog.jetbrains.com/kotlin/2022/09/kotlin-1-7-20-released/#performance
The JetBrains Blog
Kotlin 1.7.20 Released | The Kotlin Blog
Kotlin 1.7.20 has been released! Highlights include: K2 support for several new plugins; preview of the ..< operator for open-ended ranges; K/N memory manager enabled by default; inline classes with generic underlying types (experimental). Learn more!
🎉13😱1💩1
Несколько нововведений, на которые надо обратить внимание при миграции на Android 13
#android #sdk #version #migration
https://infinum.com/blog/migrating-your-app-to-android-13/
#android #sdk #version #migration
https://infinum.com/blog/migrating-your-app-to-android-13/
Infinum
Things to Keep in Mind When Migrating Your App to Android 13
Your app should work as expected out of the box (for the most part), but Android 13 provides a couple of new features to enhance it.
👍4🔥4
Новички в Android-разработке часто страдают от отсутствия опыта реальной работы: на курсах они разбирали "игрушечные" примеры, навыки работы в софтовой компании отсутствуют, умения взаимодействовать с коллегами нет. Всё это без опыта работы не получить. Замкнутый круг?
А вот и нет! Ребята из Apanta придумали симулятор мобильного разработчика.
Вместо скучных вебинаров – тренажеры, игры и кейсы из реальной жизни мобильной студии со сценариями, где вы сами принимаете решения. Учись, играя!
Ребята сделали группу в телеграме, где делятся подробностями проекта, а еще раздают промокоды на бесплатные уровни.
#реклама
А вот и нет! Ребята из Apanta придумали симулятор мобильного разработчика.
Вместо скучных вебинаров – тренажеры, игры и кейсы из реальной жизни мобильной студии со сценариями, где вы сами принимаете решения. Учись, играя!
Ребята сделали группу в телеграме, где делятся подробностями проекта, а еще раздают промокоды на бесплатные уровни.
#реклама
💩16👍9👏2🤔2🤮1
Обновления по курсам StartAndroid
Kotlin Coroutines
Обновлен Урок 31 Тестирование.
Вместо устаревших runBlockingTest и TestCoroutineDispatcher, рассказываю про runTest и StandardTestDispatcher. О том, как надо пинать scheduler, чтобы он запускал корутины. И про advance* методы по перемотке виртуального времени.
Dagger/Hilt
По мультимодульности вышла серия из 10 уроков. Они не входят в курс и находятся в общем доступе. Материал предназначен для тех, у кого нет опыта работы с даггером в мультимодульном проекте.
По мультимодульности в Hilt вышел отдельный небольшой Урок 21. В нем я на примере показываю, что Hilt использует "магию", чтобы видеть объекты из всех модулей.
Compose
Официально начинаю писать этот курс.
Надеюсь, что где-нить в декабре уже буду постить первые уроки.
Kotlin Coroutines
Обновлен Урок 31 Тестирование.
Вместо устаревших runBlockingTest и TestCoroutineDispatcher, рассказываю про runTest и StandardTestDispatcher. О том, как надо пинать scheduler, чтобы он запускал корутины. И про advance* методы по перемотке виртуального времени.
Dagger/Hilt
По мультимодульности вышла серия из 10 уроков. Они не входят в курс и находятся в общем доступе. Материал предназначен для тех, у кого нет опыта работы с даггером в мультимодульном проекте.
По мультимодульности в Hilt вышел отдельный небольшой Урок 21. В нем я на примере показываю, что Hilt использует "магию", чтобы видеть объекты из всех модулей.
Compose
Официально начинаю писать этот курс.
Надеюсь, что где-нить в декабре уже буду постить первые уроки.
👍75🔥48🎉8🤮1🙏1
Видео с DroidCon New York 2022
- Exploring dynamic feature modules
- The evolution of android graphics
- Mobile application performance done the right way
- Functional programming in kotlin for androiddevs
- Optimize your app for large screens
- Building responsive uis for tablets, foldables, and other devices
- Snapshot testing (and more!) with paparazzi
- ...
#droidcon #video #conference
https://www.droidcon.com/content/?filter_category=video&filter_post_event_tag=droidcon-new-york
- Exploring dynamic feature modules
- The evolution of android graphics
- Mobile application performance done the right way
- Functional programming in kotlin for androiddevs
- Optimize your app for large screens
- Building responsive uis for tablets, foldables, and other devices
- Snapshot testing (and more!) with paparazzi
- ...
#droidcon #video #conference
https://www.droidcon.com/content/?filter_category=video&filter_post_event_tag=droidcon-new-york
droidcon
Content
The premier Android developer knowledge base with daily blogs and videos from the global community.
👍9❤1
Несколько идей для шаблонов, которые можно добавить в студию для удобства написания часто повторяющихся фрагментов кода.
#androidstudio #template
https://levelup.gitconnected.com/5-android-studio-live-templates-to-code-faster-9a0330cd256c
#androidstudio #template
https://levelup.gitconnected.com/5-android-studio-live-templates-to-code-faster-9a0330cd256c
Medium
5 Android Studio Live Templates To Code Faster
Use these custom shortcuts to save time and avoid writing the same thing over and over
👍8
В Android 13 появился новый Android photo picker, который позволяет пользователю выбрать медиа файлы без каких-либо пермишенов.
В androidx.activity 1.6 для этого пикера был добавлен ActivityResultContract. Он дает возможность указать тип выбираемого медиа и лимит на количество.
#android #image #media
https://medium.com/androiddevelopers/permissionless-is-the-future-of-storage-on-android-3fbceeb3d70a
В androidx.activity 1.6 для этого пикера был добавлен ActivityResultContract. Он дает возможность указать тип выбираемого медиа и лимит на количество.
#android #image #media
https://medium.com/androiddevelopers/permissionless-is-the-future-of-storage-on-android-3fbceeb3d70a
Medium
Permissionless is the future of Storage on Android
Whether it’s to change a profile avatar, share vacation pictures, or add an attachment to an email, selecting and sharing media files are…
👍20🔥5💩1
Сравнение производительности двух популярных инструментов для преобразования объектов в JSON и обратно.
#kotlin #json #moshi #serialization
https://bladecoder.medium.com/kotlin-json-benchmark-on-android-2022-moshi-vs-kotlin-serialization-18436c0596c3
#kotlin #json #moshi #serialization
https://bladecoder.medium.com/kotlin-json-benchmark-on-android-2022-moshi-vs-kotlin-serialization-18436c0596c3
Medium
Kotlin JSON Benchmark on Android (2022): Moshi vs Kotlin Serialization
When it comes to automatic serialization and deserialization of Kotlin classes using the JSON format, the two main libraries compatible…
👍6👎2🥱1
Android Gradle plugin 8.0 содержит в себе серьезные изменения в API. Перед обновлением необходимо убедиться, что все используемые вашим проектом Gradle плагины совместимы с этими изменениями.
#android #gradle #plugin
https://android-developers.googleblog.com/2022/10/prepare-your-android-project-for-agp8-changes.html
#android #gradle #plugin
https://android-developers.googleblog.com/2022/10/prepare-your-android-project-for-agp8-changes.html
Android Developers Blog
Prepare your Android Project for Android Gradle plugin 8.0 API changes
To improve build speed and provide stable APIs, the Transform APIs will be removed in Android Gradle plugin (AGP) version 8.0.
👍6
Чемпионат по программированию Yandex Cup 2022
Чемпионат стартует 1 ноября и пройдет в два этапа: квалификация и финал. Победители разделят 6,2 млн рублей, а лучшие студенты в каждом направлении получат еще по 100 000 рублей.
В соревновании будет шесть направлений:
• мобильная разработка (Android, iOS, Flutter),
• бэкенд,
• алгоритмы,
• аналитика,
• фронтенд,
• машинное обучение
Участие в Чемпионате — это возможность посоревноваться с талантливыми программистам, окунуться в атмосферное комьюнити и выиграть денежный приз.
Регистрация открыта до 7 ноября: https://clck.ru/32Q9BY
Присоединяйтесь!
#реклама
Чемпионат стартует 1 ноября и пройдет в два этапа: квалификация и финал. Победители разделят 6,2 млн рублей, а лучшие студенты в каждом направлении получат еще по 100 000 рублей.
В соревновании будет шесть направлений:
• мобильная разработка (Android, iOS, Flutter),
• бэкенд,
• алгоритмы,
• аналитика,
• фронтенд,
• машинное обучение
Участие в Чемпионате — это возможность посоревноваться с талантливыми программистам, окунуться в атмосферное комьюнити и выиграть денежный приз.
Регистрация открыта до 7 ноября: https://clck.ru/32Q9BY
Присоединяйтесь!
#реклама
👍19🤮13🔥3😁2
Object в sealed class обычно имеет не очень читабельную реализацию toString(). Это можно исправить с помощью data object.
#kotlin #sealed #data #class
https://www.youtube.com/watch?v=ovAqcwFhEGc
#kotlin #sealed #data #class
https://www.youtube.com/watch?v=ovAqcwFhEGc
YouTube
Data objects in Kotlin: pretty-print your objects!
Kotlin 1.7.20 comes with a new experimental feature for object declarations that especially improves work with sealed classes. This new feature is called data objects. Adding the “data” modifier to your object declarations ensures they look nice and tidy…
👍9
Сегодня вечером стартует первая часть Android Dev Summit ‘22
Называется она - Modern Android Development
Подробный список докладов.
Трансляция на YouTube.
#android #conference #video
https://android-developers.googleblog.com/2022/10/android-dev-summit-22-heres-how-to-tune.html
Называется она - Modern Android Development
Подробный список докладов.
Трансляция на YouTube.
#android #conference #video
https://android-developers.googleblog.com/2022/10/android-dev-summit-22-heres-how-to-tune.html
🔥10👍1
Плейлист видео с Android Dev Summit '22:
- Android Dev Summit ‘22: The Keynote!
- Top 3 picks from Modern Android Development at ADS ‘22
- Reimagining designer-developer handoff: Introducing Relay
- More performance tips for Jetpack Compose
- Building a scalable, modularized, testable app from scratch
- 5 quick animations to make your Compose app stand out
- Styling text in Compose
- Write your first Compose UI test
- Create offline-first apps
- Collecting flows in a lifecycle-aware manner
- By layer or feature? Why not both? Guide to Android app modularization
- Accurately measure app performance with profileable builds
- Address Firebase Crashlytics reports faster from Android Studio
- Where to hoist that state in Compose?
- Practical room migrations
- Material You in Compose apps
- Test at scale with Gradle managed devices
- Type safe, multi-module best practices with Navigation Compose
- From Views to Compose: Where can I start?
- What's new in Android Build
- 5 Android Studio features you don't want to miss
- 5 ways Compose makes UI testing better
- State of the art of Compose tooling
- State holders and state production in the UI Layer
- Making apps blazing fast with Baseline Profiles
- Modern Android Development #AskAndroid
- Android Dev Story: Lyft reduced their code for UI components by as much as 60% using Jetpack Compose
- Android Developer Story: ZEPETO plans to migrate 80% of the app’s UI to Jetpack Compose
#android #video #conference
https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_L3n1j4ajHjJ6QccFUvW1u
- Android Dev Summit ‘22: The Keynote!
- Top 3 picks from Modern Android Development at ADS ‘22
- Reimagining designer-developer handoff: Introducing Relay
- More performance tips for Jetpack Compose
- Building a scalable, modularized, testable app from scratch
- 5 quick animations to make your Compose app stand out
- Styling text in Compose
- Write your first Compose UI test
- Create offline-first apps
- Collecting flows in a lifecycle-aware manner
- By layer or feature? Why not both? Guide to Android app modularization
- Accurately measure app performance with profileable builds
- Address Firebase Crashlytics reports faster from Android Studio
- Where to hoist that state in Compose?
- Practical room migrations
- Material You in Compose apps
- Test at scale with Gradle managed devices
- Type safe, multi-module best practices with Navigation Compose
- From Views to Compose: Where can I start?
- What's new in Android Build
- 5 Android Studio features you don't want to miss
- 5 ways Compose makes UI testing better
- State of the art of Compose tooling
- State holders and state production in the UI Layer
- Making apps blazing fast with Baseline Profiles
- Modern Android Development #AskAndroid
- Android Dev Story: Lyft reduced their code for UI components by as much as 60% using Jetpack Compose
- Android Developer Story: ZEPETO plans to migrate 80% of the app’s UI to Jetpack Compose
#android #video #conference
https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_L3n1j4ajHjJ6QccFUvW1u
👍10
Материал для новичков. Объяснение с картинками принципа работы популярных операторов коллекций: map*, zip*, associate*, flat*, и бонусом - joinToString.
#kotlin #collections
https://blog.appcircle.io/article/transforming-kotlin-collections-functions-with-examples
#kotlin #collections
https://blog.appcircle.io/article/transforming-kotlin-collections-functions-with-examples
Appcircle Blog
Transforming Kotlin Collections - Functions with Examples - Appcircle Blog
Whether you're mapping the API response model or sorting, filtering, and manipulating Kotlin collections; these functions are very useful.
👍15🔥5👏2😱1💩1
Стремительное развитие и повсеместное распространение Jetpack Compose уже ни у кого не оставляют сомнений, что именно за этим будущее Android разработки.
А для того, чтобы быть в курсе последних новостей из мира Compose, подпишись на канал Mobile Compose — один из крупнейших ресурсов в Telegram, целиком посвящённый данной технологии.
Здесь вы найдёте:
▫️Последние новости о Compose
▫️Свежие тематические статьи и видеодоклады
▫️Регулярные дайджесты по основным изменениям последних релизов библиотек фреймворка
Подпишись, чтобы не пропустить 👉 @mobile_compose
#реклама
А для того, чтобы быть в курсе последних новостей из мира Compose, подпишись на канал Mobile Compose — один из крупнейших ресурсов в Telegram, целиком посвящённый данной технологии.
Здесь вы найдёте:
▫️Последние новости о Compose
▫️Свежие тематические статьи и видеодоклады
▫️Регулярные дайджесты по основным изменениям последних релизов библиотек фреймворка
Подпишись, чтобы не пропустить 👉 @mobile_compose
#реклама
👍6🔥2🤨1😐1