Kotlin Broadcast


Гео и язык канала: Беларусь, Русский
Категория: Технологии


Новости и фичи Kotlin, а также Kotlin Multiplatform

Обсуждение @android_broadcast_talks
YouTubе канал: https://youtube.com/androidBroadcast
iOS разработка @ios_broadcast
Новости Android @android_broadcast
Реклама и прочее @android_broadcast_bot


Гео и язык канала
Беларусь, Русский
Категория
Технологии
Статистика
Фильтр публикаций


Вы встретили Kotlin волшебника и он предлагает сделать вам выбор
Опрос
  •   Ускорить работу IDE с Kotlin (без скорости компиляции)
  •   Ускорить работу компилятора (но писать код в IDE точно лучше не станет)
  •   Заплачу от безысходности
  •   Смотрю результаты
963 голосов


Вышел Detekt 1.22.0
🎉 16 новых правил
🎉 2 новых набора правил
🔥 Detekt Marketplace - сборник правил от сторонних разработчик. Можете делиться там своими
👉 Поддержка JVM toolchain
👉 Улучшение работы с выводом типов и управлением конфигурацией
🗑️ Удалена чсть правил, а другие стали depracated. Руководство по миграции здесь
👉 Требуется Gradle 6.7.1 и выше
👉 Исправление багов


В Kotlin блоге вышли результаты опроса разработчиков, кто использует Kotlin. Краткие результаты:
👉 Самим языком все довольны
👉 Инструменты для сборки печаль (2/3 пользователей недовольны)
👉 Скорость работы IDEA и Android Studio с Kotlin огорчает (каждый второй недоволен)
👉 Стандартными библиотеками довольно большинство разработчиков

Команда рассказывает что сделал много усилий по ускорению сборки и работы IDE в Kotlin 1.7, K2 компилятор позволит решить еще ряд проблем, ну и в целом скорость сборки и IDE - задача с высоком приоритетом для разработчиков языка

Вы заметили за последние 2 года улучшения в скорости работы Kotlin?


Репост из: Android Broadcast
❗ В Kotlin 1.8 будут полностью отключены Kotlin Android Extensions. Они включали в себя синтетики и генерацию parcelable. Первый заменяем на View Binding, а второй вынесли в отдельный плагин

Полное руководство по миграции найдете тут


Kotlin Coroutines use cases for Data/Adapters Layer

Использование корутин в Data слое: адаптеры для callback подходов, библиотеки с поддержкой из коробки и блокирующие функции. Ну и как же без Flow

#ocorutines


How to test intermediate steps in suspending functions (6 мин)

Руководство как можно управлять выполнением suspend функций в тестах на основе нового API для тестов из KotlinX Coroutines 1.5

#coroutines #testing


5 ways to deal with KMM errors (4 мин)

Что может пойти не так при работе с KMM рассказывает Леша Гладков и дает совет
👉 Используйте несколько IDE. Переключайтесь между IDEA и Android Studio
👉 Компиляция кода зачастую помогает убрать красноту в IDE
👉 Версии библиотеки должны уметь работа с версий Kotlin
👉 Используйте новую модель памяти Kotlin/Native. Для этого нужен Kotlin 1.7.20 и новее
👉 Ранние версии IDE лучше работают с KMM плагином
👉 Сбросить кэш и перезапустить IDE тоже работает


Ну вот и подробности новинок в версии Kotlin 1.8.0:
👉 Удаляют старый backend JVM компилятора. Не понял значит ли это стабилизацию K2, так как явно про него не говорят
👉 Поддержка bytecode Java 19
👉 Поддержка XCode 14
👉 Поддержка Gradle 7.3
👉 Новая структура source set для Android в KMM (включается флагом)


Опубликовали первую бету Kotlin 1.8.0. Пока там всякие обновления поддержки новых тулов и багфикс. Ждем анонса где расскажут больше


Announcing Multiplatform Paging

Cash App сделали мультиплатформенную версию AndroidX Paging. Сделана поддержка iOS и Android. Исходники библиотеки найдете здесь


Properties should represent state, not behavior

В Kotlin property - это не аналог Java поля. В Kotlin property это специальный метод, который может выполнять логику, а не просто отдавать значение. Автор делится тем когда стоит выбирать свойство, а когда использовать функции в Kotlin.




Вышел Kotlin 1.7.21 - это багфикс в компиляторе и тулинге


Вышел Koin 3.3.0, который сконцеyтрировался на улучшении работы с ViewModel

👉 Рефакторинг работы с ViewModel на основе AndroidX Lifecycle 2.5
👉 Новый способ inject SavedStateHandle в ViewModel
👉 Заменили sharedViewModel() на activityViewModel()
👉 Работа с ViewModel из Koin в Jetpack Compose


Репост из: Kotlin Multiplatform Mobile Russia
https://www.youtube.com/watch?v=Rk83ptXATEw

Презентация opensource проекта с использованием Kotlin Multiplatform
https://github.com/keygenqt/kmm-GitHubViewer


Репост из: Android Broadcast
Сборник лучших практик по использованию Gradle, который содержит банальщину вроде "используйте самую свежую стабильную версию" до управления зависимостями, ленивой инициализации и кэширования

#gradle


Какой код из этого не скомпилируется? (Kotlin 1.7.20 без экспериментальных фичей)
Опрос
  •   val value by lazy { computeValue() }
  •   var value by lazy { computeValue() }
  •   val value by Delegates.notNull()
  •   var value by Delegates.notNull()
  •   Все варианты работаю
1218 голосов


Репост из: Mobile Developer
Всем привет, вот и долгожданная информация по курсу Kotlin Multiplatform

Я сделал видео и стрим, где ответил на самые популярные вопросы по курсу, так что рекомендую с ними ознакомиться

TL;DR
🔥 Курс доступен сразу и целиком
🔥 Цена 5000 рублей
🔥 Подходит разработчиком с опытом от полугода и выше как iOS, так и Android

Также я хотел бы рассказать краткий состав курса:
👉 Создание проекта и настройка зависимостей
👉 Настройка ядра проекта
👉 Запросы с сервера и кэширование
👉 Верстка Android (клиент)
👉 Настройка iOS через Xcode
👉 Верстка iOS (клиент)
👉 Верстка Desktop (админка)

В проекте есть многомодульность, навигация, архитектура, мультиплатформенность, работа с плагинами градла и так далее

Если вас это заинтересовало, то вот инструкция как приобрести этот курс. Там есть варианты как для тех, кто из России, так и для тех кто не из России, а так же для юр. лиц.

Приятного просмотра!
P.S. У кого не открывается инструкция попробуйте VPN (да-да в такое время живем)


Дизайн с учетом читаемости кода

Kotlin - язык с кучей возможностей и синтаксическим сахаром. Одни и те же вещи сделать можно множеством способов. Какой правильный? Краткость - это лучший вариант?

Из своего опыта могу сказать, что читабельность важнее. Лучше сделать больше строчек и выделить методы/классы/интерфейсы, чтобы разобраться в коде было проще. Короткие конструкции языка зачастую используют сложные операторы и фичи, которые поймут не все. Даже самому со временем может быть сложно понять этот код.

Что вы думаете на этот счет? Делитесь своим мнением в комментариях

4.6k 1 54 22 73

Вышел Realm Kotlin 1.4.0
👉 Kotlin 1.7.20
👉 Миграция на новую модель памяти Kotlin/Native
👉 library-sync теперь поддерживает Apple Silicon
👉 Исправление багов

Показано 20 последних публикаций.