#Coroutines
Coroutines Job Structures
Связь между coroutine и CoroutineScope осуществляется через Job. Эти отношения определяют, как библиотека будет отменять выполнение coroutine.
В статье разбирается несколько примеров, демонстрирующих работы как отношения между Job влияют на поведение отмены coroutine.
Coroutines Job Structures
Связь между coroutine и CoroutineScope осуществляется через Job. Эти отношения определяют, как библиотека будет отменять выполнение coroutine.
В статье разбирается несколько примеров, демонстрирующих работы как отношения между Job влияют на поведение отмены coroutine.
#Compose #Ktor
Composing in the wild (8 минут чтения)
Пример нестандартного использования Compose на backend. Механизм на основе которого построено решение может быть использован не только для решения задачи декларативного UI, но и для эффективного построения и поддержки древоподобных структур данных.
В статье разбирается пример использования Compose для построения DOM, а именно HTML и CSS и отправки этого на клиент.
Composing in the wild (8 минут чтения)
Пример нестандартного использования Compose на backend. Механизм на основе которого построено решение может быть использован не только для решения задачи декларативного UI, но и для эффективного построения и поддержки древоподобных структур данных.
В статье разбирается пример использования Compose для построения DOM, а именно HTML и CSS и отправки этого на клиент.
#Multiplatform #iOS
Варианты настройки iosMain sourceSet'а в Kotlin Multiplatform Mobile
Организация sourceSet для iOS в KMP проектах с учетом различных архитектур процессоров и как в этом помогает утилита Commonizer из Kotlin 1.4
Варианты настройки iosMain sourceSet'а в Kotlin Multiplatform Mobile
Организация sourceSet для iOS в KMP проектах с учетом различных архитектур процессоров и как в этом помогает утилита Commonizer из Kotlin 1.4
#Coroutines
7 Gotchas When Explore Kotlin Coroutine
Coroutine - это подход в асинхронном программировании, который был непривычен для меня, Android разработчика. В своё время я совершил много ошибок, пока осознавал правильный способ использования этого подхода. В статье приводятся популярные ошибки:
👉 Неверное использование runBlocking
👉 Отмена исполнения Coroutine
👉 Особенности работы из-за structured concurrency
👉 Неверная работа с CoroutineScope
7 Gotchas When Explore Kotlin Coroutine
Coroutine - это подход в асинхронном программировании, который был непривычен для меня, Android разработчика. В своё время я совершил много ошибок, пока осознавал правильный способ использования этого подхода. В статье приводятся популярные ошибки:
👉 Неверное использование runBlocking
👉 Отмена исполнения Coroutine
👉 Особенности работы из-за structured concurrency
👉 Неверная работа с CoroutineScope
#AndroidBroadcast
📺 Планы Android Broadcast 2021 (21 мин)
Рассказал как остался без работы, что планирую делать дальше и об амбициозных планах на 2021 по развитию Android Broadcast.
📺 Планы Android Broadcast 2021 (21 мин)
Рассказал как остался без работы, что планирую делать дальше и об амбициозных планах на 2021 по развитию Android Broadcast.
Higher order functions, how, why and what not to do.
Разбор разлиных аспектов высокоуровневых функций в Kotlin
Разбор разлиных аспектов высокоуровневых функций в Kotlin
Forwarded from Android Broadcast
#AndroidBroadcast
За 2 зайцами: нужно ли уметь разрабатывать под Android и iOS
Сегодня в 19.00 (GMT+3) соберёмся, чтобы обсудить стоит ли разрабатывать под две мобильные платформы или сконцентрироваться на одной. Не обойдем стороной и трансформацию нативных разработчиков в кроссплатформенные
Гость - Алексей Гладков, автор канала Mobile Developer, технический архитектор Леруа Мерлен, барабанщик, прогеймер
За 2 зайцами: нужно ли уметь разрабатывать под Android и iOS
Сегодня в 19.00 (GMT+3) соберёмся, чтобы обсудить стоит ли разрабатывать под две мобильные платформы или сконцентрироваться на одной. Не обойдем стороной и трансформацию нативных разработчиков в кроссплатформенные
Гость - Алексей Гладков, автор канала Mobile Developer, технический архитектор Леруа Мерлен, барабанщик, прогеймер
#Kotlin
Kotlin 1.4.30-RC
Готовится к выходу минорный релиз Kotlin, который привнёс:
🔥 JVM IR компилятор бэкенд перешёл в Beta
🔥 JVM IR бэкенд будет включен по умолчанию в 1.5
🔥 Превью sealed interface, которые появятся в 1.5
👉 Минорные улучшения
👉 Улучшения в IDE
👉 Исправление багов
Kotlin 1.4.30-RC
Готовится к выходу минорный релиз Kotlin, который привнёс:
🔥 JVM IR компилятор бэкенд перешёл в Beta
🔥 JVM IR бэкенд будет включен по умолчанию в 1.5
🔥 Превью sealed interface, которые появятся в 1.5
👉 Минорные улучшения
👉 Улучшения в IDE
👉 Исправление багов
#Kotlin #Multiplatform
Результаты первого опроса Kotlin Multiplatform (EN)
Прошёл первый опрос по Kotlin Multiplatform и JetBrains делится его результатами.
Портрет пользователя KMP:
👉 Преимущественно с опытом в Android
👉 5+ лет опыта в разработке
👉 Используется в основном для шаринга кода между iOS и Android
Больше информации в статье
Результаты первого опроса Kotlin Multiplatform (EN)
Прошёл первый опрос по Kotlin Multiplatform и JetBrains делится его результатами.
Портрет пользователя KMP:
👉 Преимущественно с опытом в Android
👉 5+ лет опыта в разработке
👉 Используется в основном для шаринга кода между iOS и Android
Больше информации в статье
#Kotlin #Roadmap #Coroutine #KMP
Обновление Kotlin Roadmap
Обновили состояние Kotlin Roadmap. Что готово:
✅ Compiler core: Новый компилятор теперь собирает себя сам
✅ Kotlin/Native: Производительность работы: улучшено время аллокации объектов
✅ KMM plugin. Исправление основных багов
✅ KMP: KMM plugin: Запуск общих тестов на Android устройствах (частично)
✅ kotlinx-coroutines 1.4
Также были изменение приоритеты и добавлены новые, например:
❌ В старом JVM backend не будут фикситься баги, все силы на новые
❌ Многопоточные Coroutine для Kotlin/Native
❌ Улучшение управление зависимостями на iOS
Обновление Kotlin Roadmap
Обновили состояние Kotlin Roadmap. Что готово:
✅ Compiler core: Новый компилятор теперь собирает себя сам
✅ Kotlin/Native: Производительность работы: улучшено время аллокации объектов
✅ KMM plugin. Исправление основных багов
✅ KMP: KMM plugin: Запуск общих тестов на Android устройствах (частично)
✅ kotlinx-coroutines 1.4
Также были изменение приоритеты и добавлены новые, например:
❌ В старом JVM backend не будут фикситься баги, все силы на новые
❌ Многопоточные Coroutine для Kotlin/Native
❌ Улучшение управление зависимостями на iOS
#AndroidBroadcast #Multiplatfrom #Livecoding
🔴 Превращаем Android приложение в Kotlin Multiplatform
Понедельник, 25 января, 10:00 GMT+3
В прямом эфире переведём приложение из Android в Kotlin Multiplatform для поддержки Android и iOS одновременно.
Эксперт - Анна Жаркова, Mobile Lead Developer/Usetech
Разработчик с опытом более 7, пишет нативно под IOS (Swift/Objective-C), Android (Kotlin/Java) и кросс-платформу. Интересуется Kotlin Multiplatform. Помимо этого преподаёт в Otus на курсах по iOS. В свободное время изучает немецкий и китайский языки, увлекается живописью
🔴 Превращаем Android приложение в Kotlin Multiplatform
Понедельник, 25 января, 10:00 GMT+3
В прямом эфире переведём приложение из Android в Kotlin Multiplatform для поддержки Android и iOS одновременно.
Эксперт - Анна Жаркова, Mobile Lead Developer/Usetech
Разработчик с опытом более 7, пишет нативно под IOS (Swift/Objective-C), Android (Kotlin/Java) и кросс-платформу. Интересуется Kotlin Multiplatform. Помимо этого преподаёт в Otus на курсах по iOS. В свободное время изучает немецкий и китайский языки, увлекается живописью
#Kotlin #stdlib
Kotlin Standard Library Safari. Strings (7 минут)
Новый подкаст с обзором различных API из стандартной Kotlin библиотеки. В первом эпизоде рассматривается API класс String
Информация будет полезна новичкам, а также тем кто не бороздит API, а надеется на его понимание на лету в IDE
Kotlin Standard Library Safari. Strings (7 минут)
Новый подкаст с обзором различных API из стандартной Kotlin библиотеки. В первом эпизоде рассматривается API класс String
Информация будет полезна новичкам, а также тем кто не бороздит API, а надеется на его понимание на лету в IDE
#Multiplatform #Mobile #Multithreading
Kotlin Multiplatform. Practical multithreading
Серий статей о работе с KMM и особенности многопоточного программирования
Kotlin Multiplatform. Practical multithreading
Серий статей о работе с KMM и особенности многопоточного программирования
Bad Kotlin Extensions
Extension - одна из самых популярных возможностей языка Kotlin, но множество разработчиков используют её слишком часто и даже там где лучше использовать обычную функцию.
Автор разбирает примеры удачных и неудачных расширений, а также выводит рекомендации какие функции надо делать расширениями, а какие лучше оставлять как есть. Главное отличие - ваше расширение действительно добавляет новый функционал, глобальный для типа, либо код внутри функции очень специфичен для вашего приложения и неочевиден по смыслу другим разработчиком.
Extension - одна из самых популярных возможностей языка Kotlin, но множество разработчиков используют её слишком часто и даже там где лучше использовать обычную функцию.
Автор разбирает примеры удачных и неудачных расширений, а также выводит рекомендации какие функции надо делать расширениями, а какие лучше оставлять как есть. Главное отличие - ваше расширение действительно добавляет новый функционал, глобальный для типа, либо код внутри функции очень специфичен для вашего приложения и неочевиден по смыслу другим разработчиком.
Philips Case Study: Building Connectivity with Kotlin Multiplatform
Philips рассказывает о своём опыте использовать Kotlin Multiplatform Mobile для создания SDK под Android и IOS
Philips рассказывает о своём опыте использовать Kotlin Multiplatform Mobile для создания SDK под Android и IOS
Forwarded from Android Broadcast
#AndroidBroadcast #Kotlin #Multiplatform
MOKO - готовый фреймворк для Android + iOS приложений на основе Kotlin Mobile Multiplatform
Когда: понедельник, 1 февраля, 10:00 (GMT+3)
Опыт компании IceRock в разработке мобильных приложений (нескольких десятков) с использованием Kotlin Multiplatform. Результат этого опыта - MOKO
Гость выпуска - Алексей Михайлов, CTO в IceRock Development
Технический директор компании аутсорс разработки, в прошлом разработчик под мобильные платформы Android и iOS. В студенчестве создал soProject для S.T.A.L.K.E.R. :)
MOKO - готовый фреймворк для Android + iOS приложений на основе Kotlin Mobile Multiplatform
Когда: понедельник, 1 февраля, 10:00 (GMT+3)
Опыт компании IceRock в разработке мобильных приложений (нескольких десятков) с использованием Kotlin Multiplatform. Результат этого опыта - MOKO
Гость выпуска - Алексей Михайлов, CTO в IceRock Development
Технический директор компании аутсорс разработки, в прошлом разработчик под мобильные платформы Android и iOS. В студенчестве создал soProject для S.T.A.L.K.E.R. :)
Into the Sunset on May 1st: Bintray, JCenter, GoCenter, and ChartCenter
JFrog закрывает кучу своих сервисов, включая Bintray. Практически все современные библиотеки заливались на этот сервис, так что у авторов много работы, ведь в конце февраля опубликовать новые не получится. Теперь Maven Central ?
JFrog закрывает кучу своих сервисов, включая Bintray. Практически все современные библиотеки заливались на этот сервис, так что у авторов много работы, ведь в конце февраля опубликовать новые не получится. Теперь Maven Central ?
Вышел Kotlin 1.4.30
Вышла новая версия языка Kotlin, которая включает:
👉 Backend нового IR компилятор на JVM достиг Beta. В версии 1.5.0 он станет основным. Старый компилятор больше не поддерживается
👉 Sealed интерфейсы
👉 Поддержка JVM record. Подробности
👉 Sealed классы теперь можно объявлять не только в одном Kotlin файле, но и в рамках одного пакета одного модуля
👉 inline классы теперь становятся value классами. В будущем
👉 В inline классах теперь можно использовать init блок
👉 Добавлена поддержка Gradle Configuration Cache
👉 Новое API String.uppercase() и String.lowercase() не требующиепередачи локали
Изменения в Kotlin/Native:
👉 Ускорение компиляции
👉 Поддержка Apple watchOS 64-bit симулятора
👉 Поддержка XCode 12.2
Вышла новая версия языка Kotlin, которая включает:
👉 Backend нового IR компилятор на JVM достиг Beta. В версии 1.5.0 он станет основным. Старый компилятор больше не поддерживается
👉 Sealed интерфейсы
👉 Поддержка JVM record. Подробности
👉 Sealed классы теперь можно объявлять не только в одном Kotlin файле, но и в рамках одного пакета одного модуля
👉 inline классы теперь становятся value классами. В будущем
inline class
будет невозможно использовать и останется только value class
👉 В inline классах теперь можно использовать init блок
👉 Добавлена поддержка Gradle Configuration Cache
👉 Новое API String.uppercase() и String.lowercase() не требующиепередачи локали
Изменения в Kotlin/Native:
👉 Ускорение компиляции
👉 Поддержка Apple watchOS 64-bit симулятора
👉 Поддержка XCode 12.2
Forwarded from Android Broadcast
#Coroutines #UnderTheHood
Bridging the gap between coroutines, JVM threads, and concurrency problems
Хотите узнать как работают Coroutine на JVM? Как они связаны c Java потоками? Какую роль в этом выполняет CoroutineDispatcher? В статье найдете ответы простым языком с отсылкой в исходники
Bridging the gap between coroutines, JVM threads, and concurrency problems
Хотите узнать как работают Coroutine на JVM? Как они связаны c Java потоками? Какую роль в этом выполняет CoroutineDispatcher? В статье найдете ответы простым языком с отсылкой в исходники
#KotlinX #Serialization
К выходу готовится kotlinx.serialization 1.1.0
Представили первую RC следующей версии KotlinX Serialization. В новой версии появится:
👉 Экспериментальная поддержка inline классов (только новый IR компилятор). Подробности
👉 Поддержка сериализации unsigned типов:
👉 Улучшения API
👉 Исправление багов
👉 Улучшение производительности
Для работы новой версии библиотеки вам надо обновиться до Kotlin 1.4.30 или новее. Также перед финальным релизом 1.1.0 могут быть внесены изменения.
К выходу готовится kotlinx.serialization 1.1.0
Представили первую RC следующей версии KotlinX Serialization. В новой версии появится:
👉 Экспериментальная поддержка inline классов (только новый IR компилятор). Подробности
👉 Поддержка сериализации unsigned типов:
UInt
, ULong
, UByte
, и UShort
. Подробности👉 Улучшения API
👉 Исправление багов
👉 Улучшение производительности
Для работы новой версии библиотеки вам надо обновиться до Kotlin 1.4.30 или новее. Также перед финальным релизом 1.1.0 могут быть внесены изменения.