Nullability в Java и Kotlin
Команда Kotlin опубликовала новый гайд в документации, который подробно объясняет различия в работе с nullability в Java и Kotlin на примере частых операций.
Команда Kotlin опубликовала новый гайд в документации, который подробно объясняет различия в работе с nullability в Java и Kotlin на примере частых операций.
KMM вышел в Beta
Сегодня команда Kotlin официально объявила про переход Kotlin Multiplatform Mobile из Alpha в Beta статус. Вот почему это важно:
- Можно спокойно тащить в прод. До стабильного релиза больше не ожидается фундаментальных изменений, которые могут что-то сломать в вашем проекте, только багфиксы и улучшение UX.
- Android выпустили первые официальные мультиплатформенные Jetpack библиотеки: Collections и DataStore.
📹Детальное видео с анонсом и юзкейсами новых пользователей KMM
Сегодня команда Kotlin официально объявила про переход Kotlin Multiplatform Mobile из Alpha в Beta статус. Вот почему это важно:
- Можно спокойно тащить в прод. До стабильного релиза больше не ожидается фундаментальных изменений, которые могут что-то сломать в вашем проекте, только багфиксы и улучшение UX.
- Android выпустили первые официальные мультиплатформенные Jetpack библиотеки: Collections и DataStore.
📹Детальное видео с анонсом и юзкейсами новых пользователей KMM
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
- Оптимизация перфоманса при работе с изображениями
Релиз kotest 5.5.0
Kotest – популярный мультиплатформенный тестовый фреймворк. На днях вышла его новая версия:
- Новые матчеры:
- Улучшенна поддержка Arrow
Kotest – популярный мультиплатформенный тестовый фреймворк. На днях вышла его новая версия:
- Новые матчеры:
shouldBeCloseTo
, shouldMatch
, shouldMatchAll
, shouldMatchAny
- Поддержка тестов корутин в Kotlin/Native- Улучшенна поддержка Arrow
Новый rangeUntil оператор в Kotlin
В Kotlin 1.7.20 под флагом доступен новый оператор ..<, с помощью которого можно определить рендж, не включающий правую границу. Стабильная версия оператора подъедет где-то в районе Kotlin 1.9.
В Kotlin 1.7.20 под флагом доступен новый оператор ..<, с помощью которого можно определить рендж, не включающий правую границу. Стабильная версия оператора подъедет где-то в районе Kotlin 1.9.
YouTube
NEW OPERATOR in Kotlin (and true open-ended ranges)
The rangeUntil operator, or is a new way to create open-ended ranges in Kotlin. You might think of this new operator as just an alias for the long-existing “until” function in Kotlin, but that would mean missing out on some powerful new things that weren’t…
Выпуск подкаста «Запуск Завтра» про историю Kotlin с Андреем Бреславом
Если у вас есть свободные 40 минут, то очень рекомендую потратить их на этот подкаст. Андрей Бреслав, создатель Kotlin, очень бодро рассказывает про раннюю историю его разработки и то, как язык в итоге появился на Android.
Если у вас есть свободные 40 минут, то очень рекомендую потратить их на этот подкаст. Андрей Бреслав, создатель Kotlin, очень бодро рассказывает про раннюю историю его разработки и то, как язык в итоге появился на Android.
Миграция на Gradle 8.0
- В Gradle 8.0 задепрекейтят Transform API, который очень сильно влиял на время билда
- Вместо него предлагается использовать новые Artifacts API и Instrumentation API
- Artifacts API дает доступ к файлам и директориям, которые создаются в процессе сборки
- Instrumentation API дает доступ к анализу и изменениям скомпилированных классов
- Проверьте, что ваши плагины готовы к переезду на новые API, иначе не сможете мигрировать приложение на новый Gradle
- В Gradle 8.0 задепрекейтят Transform API, который очень сильно влиял на время билда
- Вместо него предлагается использовать новые Artifacts API и Instrumentation API
- Artifacts API дает доступ к файлам и директориям, которые создаются в процессе сборки
- Instrumentation API дает доступ к анализу и изменениям скомпилированных классов
- Проверьте, что ваши плагины готовы к переезду на новые API, иначе не сможете мигрировать приложение на новый Gradle
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.
Серия статей про Kotlin Multiplatform от Premise
Команда Premise, работающая с KMM уже полтора года, опубликовала серию статей про свой опыт с упором на сценарий интеграции в существующие приложения:
🤔Детальный разбор того, как они используют KMM: локальное окружение, CI/CD, обучение команды, эксперименты
🧱Структура и настройка проекта
🚰CI pipeline на GitHub Actions
Команда Premise, работающая с KMM уже полтора года, опубликовала серию статей про свой опыт с упором на сценарий интеграции в существующие приложения:
🤔Детальный разбор того, как они используют KMM: локальное окружение, CI/CD, обучение команды, эксперименты
🧱Структура и настройка проекта
🚰CI pipeline на GitHub Actions
Подробный разбор контекстных ресиверов
В Kotlin 1.6.20 появился прототип новой крупной языковой фичи – контекстные ресиверы. Ее основная задача – заменить собой extension functions в тех случаях, когда их не хватает.
Marcin Moskala написал самую подробную статью про фичу, что я видел, с деталями про кейсы использования и ограничения.
В Kotlin 1.6.20 появился прототип новой крупной языковой фичи – контекстные ресиверы. Ее основная задача – заменить собой extension functions в тех случаях, когда их не хватает.
Marcin Moskala написал самую подробную статью про фичу, что я видел, с деталями про кейсы использования и ограничения.
JSON Hero – супер мощный визуализатор JSON в браузере
JSON Hero – сайт, который рендерит JSON файлы в удобном для чтения представлении. Например, сразу подгружает изображения и url preview, показывает дату сразу во всех форматах, проводит валидацию файла и делает многое другое.
JSON Hero – сайт, который рендерит JSON файлы в удобном для чтения представлении. Например, сразу подгружает изображения и url preview, показывает дату сразу во всех форматах, проводит валидацию файла и делает многое другое.
Data Objects в Kotlin 1.7.20
На этой неделе в канале много материалов про новые языковые фичи в Kotlin. Держите еще одно видео – про Data Objects, прототип которых появился в версии 1.7.20.
На этой неделе в канале много материалов про новые языковые фичи в Kotlin. Держите еще одно видео – про Data Objects, прототип которых появился в версии 1.7.20.
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…
Сравнение производительности Moshi и kotlinx-serialization
- Производительность Moshi и Serialization практически одинаковы
- Версия Moshi, работающая с помощью рефлексии, самая медленная, ее надо избегать
- Интеграция Serialization с Okio хуже, чем в Moshi, и ухудшает перфоманс декодирования
- Производительность Moshi и Serialization практически одинаковы
- Версия Moshi, работающая с помощью рефлексии, самая медленная, ее надо избегать
- Интеграция Serialization с Okio хуже, чем в Moshi, и ухудшает перфоманс декодирования
Подробный гайд по тестированию in-app subscriptions
Ребята из RevenueCat подготовили большой гайд про то, как верифицировать работу всех сценариев работы с подписками.
Ребята из RevenueCat подготовили большой гайд про то, как верифицировать работу всех сценариев работы с подписками.
Как с помощью Kover сгенерировать бейдж с code coverage
- Kover – Gradle плагин, оценивающий процент покрытия Kotlin кода тестами
- В статье разбирается, как правильно сконфигурировать Gradle таску и GitHub Action, чтобы добавить в README проекта бейдж с code coverage
- Kover – Gradle плагин, оценивающий процент покрытия Kotlin кода тестами
- В статье разбирается, как правильно сконфигурировать Gradle таску и GitHub Action, чтобы добавить в README проекта бейдж с code coverage
This media is not supported in your browser
VIEW IN TELEGRAM
Новый фотопикер в Android
- В Android 13 задепрекейтили READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE permissions.
- Вместо этого предлагается использовать системный фотопикер, который позволяет выбрать, к каким файлам дать доступ приложению.
- В отдельных случаях можно задать более гранулярные разрешения для конкретных типов файлов.
- В Android 13 задепрекейтили READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE permissions.
- Вместо этого предлагается использовать системный фотопикер, который позволяет выбрать, к каким файлам дать доступ приложению.
- В отдельных случаях можно задать более гранулярные разрешения для конкретных типов файлов.
Обработка разовых событий ViewModel’и в Compose
- Часто логика приложения предусматривает события, который могут произойти и должны быть обработаны только один раз.
- Исторически под такое событие создавался SingleLiveEvent, который обзервился нужным компонентом.
- Автор статьи разбирает более чистый способ решения задачи, соответствующий гайдам Now in Android.
- Часто логика приложения предусматривает события, который могут произойти и должны быть обработаны только один раз.
- Исторически под такое событие создавался SingleLiveEvent, который обзервился нужным компонентом.
- Автор статьи разбирает более чистый способ решения задачи, соответствующий гайдам Now in Android.
Google переезжает с Java на Kotlin для бэкенда
Важная новость для всех, кто следит за развитием Котлина за пределами Android. Google рассказали, что выбрали Kotlin как замену для Java для своих внутренних сервисов. В рассказе много интересных данных из внутренних рисерчей:
- Больше 1000 человек в Google пишут код на Kotlin
- Всего внутри больше 11млн LoC на Kotlin
- За последний год количество Kotlin кода выросло в два раза
Важная новость для всех, кто следит за развитием Котлина за пределами Android. Google рассказали, что выбрали Kotlin как замену для Java для своих внутренних сервисов. В рассказе много интересных данных из внутренних рисерчей:
- Больше 1000 человек в Google пишут код на Kotlin
- Всего внутри больше 11млн LoC на Kotlin
- За последний год количество Kotlin кода выросло в два раза
YouTube
Google's Journey from Java to Kotlin for Server Side Programming by James Ward , Brad Hawkes , John
Kotlin is now a recommended programming language for server-side JVM usage at Google, while still providing access to a large existing Java ecosystem. With over 11 million lines of Kotlin code at Google (across server and Android), we've done a number of…
Снова про functional core, imperative shell
Автор разбирает основную идею парадигмы «functional core, imperative shell», сводя архитектуру проекта к трем компонентам – UI, Reducer и CommandHandler. Статья работает как хорошая вводная для оригинального доклада. А детали про то, как парадигма может быть применена к Android проекту, есть тут.
Автор разбирает основную идею парадигмы «functional core, imperative shell», сводя архитектуру проекта к трем компонентам – UI, Reducer и CommandHandler. Статья работает как хорошая вводная для оригинального доклада. А детали про то, как парадигма может быть применена к Android проекту, есть тут.