#Multiplatform #Mobile #HowTo
📺 Как создать Kotlin Multiplatform Mobile проект (28 мин)
Демонстрация создания Kotlin Mobile Multiplatform проекта в Android Studio при помощи KMM плагина. Добавляются необходимые зависимости и прочая базовая настройка.
📺 Как создать Kotlin Multiplatform Mobile проект (28 мин)
Демонстрация создания Kotlin Mobile Multiplatform проекта в Android Studio при помощи KMM плагина. Добавляются необходимые зависимости и прочая базовая настройка.
#Coroutines
Вышла новая версия kotlinx.coroutines 1.4.3 в которой произошли минорные улучшения и исправление багов
Вышла новая версия kotlinx.coroutines 1.4.3 в которой произошли минорные улучшения и исправление багов
Вышла первая превью следующей версии Kotlin - 1.5.0
Первая превью не отметилась множеством нововведений, но вот краткий список:
👉 Конкатенация строка с помощью invokedynamic для JVM target 9+
👉 Поддержка Java records
👉 JVM target 1.6 теперь Deprecated
👉 Поддержка suspend функций в функциональных интерфейсах
👉 Возможность объявлять protected конструкторы в sealed классах
👉 Немного улучшений в IDE
👉 Улучшение производительность
👉 Исправление багов
Первая превью не отметилась множеством нововведений, но вот краткий список:
👉 Конкатенация строка с помощью invokedynamic для JVM target 9+
👉 Поддержка Java records
👉 JVM target 1.6 теперь Deprecated
👉 Поддержка suspend функций в функциональных интерфейсах
👉 Возможность объявлять protected конструкторы в sealed классах
👉 Немного улучшений в IDE
👉 Улучшение производительность
👉 Исправление багов
#Coroutines #Flow
My MutableStateFlow Didn’t Emit!
Успели столкнуться с ситуацией, когда MutableStateFlow ничего не эмитет? Это может происходить, потому что StateFlow предварительно проверяет на то что новое и старое значение отличаются с помощью equals
My MutableStateFlow Didn’t Emit!
Успели столкнуться с ситуацией, когда MutableStateFlow ничего не эмитет? Это может происходить, потому что StateFlow предварительно проверяет на то что новое и старое значение отличаются с помощью equals
Влияние data-классов на вес приложения - это эксперимент в котором оценивается вес в байтах на размер приложения от одной из самых популярных фичей Kotlin - data class.
В статье автор уделил много внимания написанию плагина компилятора для автоматизации теста, но всетаки результат был показан. На тысячах классов результат распакованного DEX - около примерно 1.5 мегабайта ~ 4% размера приложения (таблицу смотрите в статье).
Теперь прежде чем писать ключевое слово data у класса, задумайтесь так ли вам нужен этот функционал вам.
В статье автор уделил много внимания написанию плагина компилятора для автоматизации теста, но всетаки результат был показан. На тысячах классов результат распакованного DEX - около примерно 1.5 мегабайта ~ 4% размера приложения (таблицу смотрите в статье).
Теперь прежде чем писать ключевое слово data у класса, задумайтесь так ли вам нужен этот функционал вам.
Reaction — обработка результатов методов в Kotlin
Демонстрация способа передачи между результата выполнения операции между слоями архитектуры
Демонстрация способа передачи между результата выполнения операции между слоями архитектуры
#Flow #Coroutines
The Best Way to Collect a Flow in Kotlin – launchIn
Flow имеет несколько способов как запустить сбор данных из цепочки, но автор рекомендуется
The Best Way to Collect a Flow in Kotlin – launchIn
Flow имеет несколько способов как запустить сбор данных из цепочки, но автор рекомендуется
Flow.launchIn(CoroutineScope)
.Вышел Detekt 1.16.0 в котором как всегда обновили Kotlin до последней версии, исправили баги и завели пару новых проверок.
Kotlin Best Practices
Богат своими возможностями язык Kotlin, что повышает случаи его использования, которые приведут к нечитаемому коду и возникновению ошибок из-за этого. В статье разбирают что стоит делать и нет:
❌ Объявление класса в одну строчку
❌ Вложенный return
❌ Анонимный параметр it в лямбдах
❌ Цепочки безопасных вызовов
❌ Использовать !!
❌ Использование Util классов
✅ Используйте замыкающие запятые, например после последнего параметра метода
✅ SAM
✅ Изучайте стандартную библиотеку
✅ Согласуйте code style
Богат своими возможностями язык Kotlin, что повышает случаи его использования, которые приведут к нечитаемому коду и возникновению ошибок из-за этого. В статье разбирают что стоит делать и нет:
❌ Объявление класса в одну строчку
❌ Вложенный return
❌ Анонимный параметр it в лямбдах
❌ Цепочки безопасных вызовов
?.
❌ Использовать !!
❌ Использование Util классов
✅ Используйте замыкающие запятые, например после последнего параметра метода
✅ SAM
✅ Изучайте стандартную библиотеку
✅ Согласуйте code style
Kotlin. Лямбда vs Ссылка на функцию - сравнение и показ наглядных примеров
Compiling Kotlin in Runtime
Не всегда компиляции кода во время сборки нам достаточно чтобы реализовать все идеи. Почему бы тогда нам ни иметь возможность компилировать наш Kotlin код во время работы приложения? Например, скрипты или какой-то пользовательский код. В статье автор разбирает как это можно сделать
Не всегда компиляции кода во время сборки нам достаточно чтобы реализовать все идеи. Почему бы тогда нам ни иметь возможность компилировать наш Kotlin код во время работы приложения? Например, скрипты или какой-то пользовательский код. В статье автор разбирает как это можно сделать
Android Parcelable: There's a better way
Расширение для Kotlinx Serialization, которое позволит сереализовать Parcelable из Android
Расширение для Kotlinx Serialization, которое позволит сереализовать Parcelable из Android
Большой разговор с новым Kotlin Project Lead Романом Елизаровым
Разговор с Романом Елизаровым о его новой роли и команде Kotlin и дизайне языка. Можно узнать, например, такие вещи:
👉 Как принимаются решения, ломающие обратную совместимость?
👉 Чем философия Kotlin отличается от C# и почему?
👉 Насколько приоритетна производительность?
👉 Чем корутины в Kotlin отличаются от Project Loom в Java?
👉 Какой тренд влияет на языки прямо сейчас?
Разговор с Романом Елизаровым о его новой роли и команде Kotlin и дизайне языка. Можно узнать, например, такие вещи:
👉 Как принимаются решения, ломающие обратную совместимость?
👉 Чем философия Kotlin отличается от C# и почему?
👉 Насколько приоритетна производительность?
👉 Чем корутины в Kotlin отличаются от Project Loom в Java?
👉 Какой тренд влияет на языки прямо сейчас?
#Coroutines #Flow #Тестирование
Unit Testing Kotlin Flow
Еще раз про тестирование (Unit тесты) горячих и холодных Flow и какие опасности вам могут поджидать
Unit Testing Kotlin Flow
Еще раз про тестирование (Unit тесты) горячих и холодных Flow и какие опасности вам могут поджидать
#AndroidBroadcast
Как научиться программированию? Зачем мне кого-то обучать? Как устроиться на первую работу? На все эти вопросы буду отвечать сегодня во время прямого эфир.
Стартуем в 19.00 (GMT+3)
Как научиться программированию? Зачем мне кого-то обучать? Как устроиться на первую работу? На все эти вопросы буду отвечать сегодня во время прямого эфир.
Стартуем в 19.00 (GMT+3)
#Coroutines
Are you handling exceptions in Kotlin coroutines properly?
Сложности обработки исключений при вызове Coroutine и как с этим справляться. Описать коротко не получится, надо читать статью всем
Are you handling exceptions in Kotlin coroutines properly?
Сложности обработки исключений при вызове Coroutine и как с этим справляться. Описать коротко не получится, надо читать статью всем
#Coroutines
The Fairest Kotlin Coroutines Operator
Особенности работы оператора combine в SharedFlow в однопоточном режиме
The Fairest Kotlin Coroutines Operator
Особенности работы оператора combine в SharedFlow в однопоточном режиме