#coroutines
📺 Kotlin Coroutines: Important Answers from The Kotlin Team (7 мин)
Рассказ про что нас ждёт в Coroutines:
👉 Поддержка Project Loom
👉 Улучшение тестирования кода с Coroutine - Coroutines Testing Framework в 1.6
👉 Улучшения Flow
👉 Coroutine в Kotlin/Native с новой моделью памяти
📺 Kotlin Coroutines: Important Answers from The Kotlin Team (7 мин)
Рассказ про что нас ждёт в Coroutines:
👉 Поддержка Project Loom
👉 Улучшение тестирования кода с Coroutine - Coroutines Testing Framework в 1.6
👉 Улучшения Flow
👉 Coroutine в Kotlin/Native с новой моделью памяти
Вышел Kotlin 1.5.30
🏗️ sealed when - ошибка компилятора, если пропустите значение enum или возможный подкласс sealed класс (будет в 1.6, но тестировать можно уже сейчас)
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Поддержка использовать suspend функций в качестве супертипа
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Улучшение работы с рекурсивными Generic типами
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Изменения в требованиях к использованию opt-in аннотации
👉 Поддержка создания экземпляра класса-аннотации в Kotlin/JVM
👉 Убраны ограничения выведения типа в build функциях (например buildList)
👉 Улучшения работы с nullablity - теперь можно выбирать будет ли у вас ошибка или предупреждение от компилятора
👉 Kotlin Multiplatform: Новые настройки публикации Android артефактов
👉 Поддержка Apple Silicon в Kotlin/Native
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Интероп с Swift 5.5 async/await
👉 JS IR compiler backend в Beta
👉 Gradle: поддержка Java toolchain
👉 Улучшения Duration & Regex API
🏗️ sealed when - ошибка компилятора, если пропустите значение enum или возможный подкласс sealed класс (будет в 1.6, но тестировать можно уже сейчас)
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Поддержка использовать suspend функций в качестве супертипа
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Улучшение работы с рекурсивными Generic типами
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Изменения в требованиях к использованию opt-in аннотации
👉 Поддержка создания экземпляра класса-аннотации в Kotlin/JVM
👉 Убраны ограничения выведения типа в build функциях (например buildList)
👉 Улучшения работы с nullablity - теперь можно выбирать будет ли у вас ошибка или предупреждение от компилятора
👉 Kotlin Multiplatform: Новые настройки публикации Android артефактов
👉 Поддержка Apple Silicon в Kotlin/Native
🏗️ [ЭКСПЕРЕМЕНТАЛЬНАЯ] Интероп с Swift 5.5 async/await
👉 JS IR compiler backend в Beta
👉 Gradle: поддержка Java toolchain
👉 Улучшения Duration & Regex API
#coroutines
Safe delay in Android Views: goodbye Handlers, Hello Coroutines!
Использование Handler для отложенных операций в Android - небезопасно. Они не имеют связи с жизненным циклом и могут приводить к утечкам памяти.
На замену автор предлагает использовать Kotlin Coroutines + Coroutine Scope из Android. Поддерживаю 2 руками
Safe delay in Android Views: goodbye Handlers, Hello Coroutines!
Использование Handler для отложенных операций в Android - небезопасно. Они не имеют связи с жизненным циклом и могут приводить к утечкам памяти.
На замену автор предлагает использовать Kotlin Coroutines + Coroutine Scope из Android. Поддерживаю 2 руками
#вакансия
Mercury Development — компания из топ-8 Android-разработчиков США по версии Clutch. Один из самых интересных проектов в Меркури сейчас — американский фитнес-стартап, который разрабатывает мультифункциональный тренажер c ИИ под капотом. В команду, которая создает для тренажера мобильное приложение, нужны Android-разработчики из этих городов: Самара, Краснодар, Саратов, Тольятти.
Главное — опыт командной разработки приложений на Android от года, понимание жизненного цикла основных компонентов платформы, знание SQL и английский на уровне чтения технической документации.
Вот контакты, где можно узнать подробности и откликнуться:
✉️ job@mercdev.com
💬@Kate_Rinna
А тут о том, кто они такие и чем занимаются. Например, Меркури помогли разработать первые фитнес-трекеры для Fitbit — корпорации, которую недавно купил Google, софт для световых панелей, которые засветились в клипе Coldplay, мобильное приложение для Бургер Кинга и много чего еще крутого.
Mercury Development — компания из топ-8 Android-разработчиков США по версии Clutch. Один из самых интересных проектов в Меркури сейчас — американский фитнес-стартап, который разрабатывает мультифункциональный тренажер c ИИ под капотом. В команду, которая создает для тренажера мобильное приложение, нужны Android-разработчики из этих городов: Самара, Краснодар, Саратов, Тольятти.
Главное — опыт командной разработки приложений на Android от года, понимание жизненного цикла основных компонентов платформы, знание SQL и английский на уровне чтения технической документации.
Вот контакты, где можно узнать подробности и откликнуться:
✉️ job@mercdev.com
💬@Kate_Rinna
А тут о том, кто они такие и чем занимаются. Например, Меркури помогли разработать первые фитнес-трекеры для Fitbit — корпорации, которую недавно купил Google, софт для световых панелей, которые засветились в клипе Coldplay, мобильное приложение для Бургер Кинга и много чего еще крутого.
#DSL
Effective Kotlin Item 35: Consider defining a DSL for complex object creation
Руководство по созданию собственного DSL для описания создания сложных объектов или вложенных структур
Effective Kotlin Item 35: Consider defining a DSL for complex object creation
Руководство по созданию собственного DSL для описания создания сложных объектов или вложенных структур
#native
Try the New Kotlin/Native Memory Manager Development Preview
Стала доступна новая модель управления памяти в Kotlin/Native. Пока это лишь ранняя стадия, но она призвана решить ряд текущих сложностей, а именно теперь:
👉 Убраны ограничения на использование объектов из нескольких потоков
👉 Concurrent примитивы без дополнительного менеджмента со стороны разработчиков
👉 Больше не надо вызывать
Всё это пока только в работе и новая модель памяти станет общедоступной в Kotlin 1.6
🔗 Руководство как попробовать новую модель управлением памятью
🔗 Обновленный пример с K/N Concyrrency
Все новые изменения - это большой шаг для решения многих сложностей, которые не даёт массовости для Kotlin под iOS и KMM
Try the New Kotlin/Native Memory Manager Development Preview
Стала доступна новая модель управления памяти в Kotlin/Native. Пока это лишь ранняя стадия, но она призвана решить ряд текущих сложностей, а именно теперь:
👉 Убраны ограничения на использование объектов из нескольких потоков
👉 Concurrent примитивы без дополнительного менеджмента со стороны разработчиков
👉 Больше не надо вызывать
freeze()
, за исключением AtomicReference
Всё это пока только в работе и новая модель памяти станет общедоступной в Kotlin 1.6
🔗 Руководство как попробовать новую модель управлением памятью
🔗 Обновленный пример с K/N Concyrrency
Все новые изменения - это большой шаг для решения многих сложностей, которые не даёт массовости для Kotlin под iOS и KMM
#coroutines
Coroutine builders
Разбор того как можно создать Coroutine (launch, async, runBlocking), какую роль в этом играет structured concurrency и CoroutineScope
Coroutine builders
Разбор того как можно создать Coroutine (launch, async, runBlocking), какую роль в этом играет structured concurrency и CoroutineScope
lateinit хорошее решение в Kotlin?
Anonymous Poll
21%
Хорошее
45%
Необходимое зло
21%
Плохое, не стоит его использовать
3%
Что это?
10%
Не участвую в опросе
#AndroidBroadcast #kotlin #lateinit
lateinit - это зло и «костыль» Kotlin
Я всегда плохо высказывался о lateinit. Он принёс много боли мне и разработчикам в моей команде. Пора показать почему и на что его заменить, а когда это не получится. Конечно же расскажу при чём тут Dagger 2.
Видео сделано при поддержке Avito.Tech
💰 Поддержи проект на Boosty или Patreon, чтобы получать контент на канале регулярно
lateinit - это зло и «костыль» Kotlin
Я всегда плохо высказывался о lateinit. Он принёс много боли мне и разработчикам в моей команде. Пора показать почему и на что его заменить, а когда это не получится. Конечно же расскажу при чём тут Dagger 2.
Видео сделано при поддержке Avito.Tech
💰 Поддержи проект на Boosty или Patreon, чтобы получать контент на канале регулярно
#coroutines
Coroutines under the hood
Разбор работы Coroutine под капотом, ведь как-то это магия должна работать на JVM 1.6
Coroutines under the hood
Разбор работы Coroutine под капотом, ведь как-то это магия должна работать на JVM 1.6
#serialization #kotlinx
Kotlinx.Serialization 1.3.0-RC
👉 Экспериментальная версия сериализации с и в IO потоки
👉 Возможность отдельно управлять сериализацией свойств в значение по умолчанию
👉 Возможность пропускать сериализацию свойств, значение который
👉 Возможность использовать classDiscriminator отдельно для каждой иерархии
👉 Поддержка Java 9 модулей
👉 Поддержка Apple Silicon
🔨 Исправление багов и минорные улучшения
Kotlinx.Serialization 1.3.0-RC
👉 Экспериментальная версия сериализации с и в IO потоки
👉 Возможность отдельно управлять сериализацией свойств в значение по умолчанию
👉 Возможность пропускать сериализацию свойств, значение который
null
👉 Возможность использовать classDiscriminator отдельно для каждой иерархии
👉 Поддержка Java 9 модулей
👉 Поддержка Apple Silicon
🔨 Исправление багов и минорные улучшения
#coroutines
What is CoroutineContext and how does it work?
Неотъемлемой частью любой Coroutine является CoroutineContext, которые содержит различные элементы, влияющие на работу Coroutine. В статье рассказывают про них подробнее, но и официальная документация хороша
What is CoroutineContext and how does it work?
Неотъемлемой частью любой Coroutine является CoroutineContext, которые содержит различные элементы, влияющие на работу Coroutine. В статье рассказывают про них подробнее, но и официальная документация хороша
#kapt #ksp
Accelerated Kotlin build times with Kotlin Symbol Processing 1.0
Kotlin Symbol Processing - замена KAPT, которая быстрее и поддерживает не только JVM, но и Kotlin/JS и Kotlin/Native. Moshi и Room уже поддерживают KSP, очень жду когда Dagger подтянется
Accelerated Kotlin build times with Kotlin Symbol Processing 1.0
Kotlin Symbol Processing - замена KAPT, которая быстрее и поддерживает не только JVM, но и Kotlin/JS и Kotlin/Native. Moshi и Room уже поддерживают KSP, очень жду когда Dagger подтянется
#js
Introducing the Kotlin/JS Inspection Pack: IR Migration Help, Quick-Fixes, and More
Новый плагин для Kotlin/JS - Kotlin/JS Inspection Pack, который содержит проверки и исправления для Koltin/JS
Introducing the Kotlin/JS Inspection Pack: IR Migration Help, Quick-Fixes, and More
Новый плагин для Kotlin/JS - Kotlin/JS Inspection Pack, который содержит проверки и исправления для Koltin/JS
#ios #kmm
Build iOS apps using the Kotlin Multiplatform framework
Писать на Kotlin под Android просто, но вот с переходом на KMM и поддержкой iOS появляются новые вызовы. В статье автор разбирает как использовать общую часть на KMP в нативном iOS приложении
Build iOS apps using the Kotlin Multiplatform framework
Писать на Kotlin под Android просто, но вот с переходом на KMM и поддержкой iOS появляются новые вызовы. В статье автор разбирает как использовать общую часть на KMP в нативном iOS приложении
#опрос
Команда Kotlin работает над улучшением опыта авторов библиотек, и они хотят знать больше о реальных вариантах использования. Если вы работали над собственной библиотекой или планируете ее создать, поделитесь своим мнением, приняв участие в этом опросе.
Команда Kotlin работает над улучшением опыта авторов библиотек, и они хотят знать больше о реальных вариантах использования. Если вы работали над собственной библиотекой или планируете ее создать, поделитесь своим мнением, приняв участие в этом опросе.
#coroutines
Coroutines built-in support vs library
Kotlin Coroutines не являются полностью частью языка, а лишь имеют минимальную поддержку и большинство API являются часть библиотеки KotlinX Coroutines. В статье проводится сравнение
Coroutines built-in support vs library
Kotlin Coroutines не являются полностью частью языка, а лишь имеют минимальную поддержку и большинство API являются часть библиотеки KotlinX Coroutines. В статье проводится сравнение
#appcode #ios #kmm
CocoaPods Support in the Kotlin Multiplatform Mobile Plugin for AppCode
Всё просто - теперь можно использовать Pod зависимости в shared модулях
CocoaPods Support in the Kotlin Multiplatform Mobile Plugin for AppCode
Всё просто - теперь можно использовать Pod зависимости в shared модулях
#kmm
Sample the World of KMM
Если вам интересно изучать KMM или хотите посмотреть как это делают другие, то примеры - это хороший способ узнать путь других разработчиков. В статье рассказывается про примеры:
👉 D-KMP
👉 multiplatform-redux-sample
👉 people-in-space
👉 KMM production пример - RSS читалка
👉 Kamp-Kit
Sample the World of KMM
Если вам интересно изучать KMM или хотите посмотреть как это делают другие, то примеры - это хороший способ узнать путь других разработчиков. В статье рассказывается про примеры:
👉 D-KMP
👉 multiplatform-redux-sample
👉 people-in-space
👉 KMM production пример - RSS читалка
👉 Kamp-Kit
Всем привет. Хотел вам напомнить про несколько важных аспектов Android Broadcast.
👉 Есть чат для общения, где мы обсуждаем различные вопросы по Android разработке @android_broadcast_talks
👉 Android Broadcast - это некоммерческий проект. Весь контент, который я делаю бесплатен. Живёт проект за счёт рекламы и донатов. Я буду рад, если вы будете поддерживать проект регулярно, что позволит отказываться от рекламы. Сейчас у проекта 164 донатера, хотя ежемесячно контентом пользуются порядка 20 тыс человек. Даже минимальный донат (80 рос. руб. или 1$) - это уже много для меня. Сделать это можно на Boosty (лучше) или Patreon. Также можно сделать произвольный одноразовый взнос здесь.
👉 Один из вариантов поддержки - покупка мерча через androidbroadcaststore.by. Там есть классные майки и другой мерч.
Спасибо вам большое, ваша поддержка очень важна для будущего проекта, его развития и существования
👉 Есть чат для общения, где мы обсуждаем различные вопросы по Android разработке @android_broadcast_talks
👉 Android Broadcast - это некоммерческий проект. Весь контент, который я делаю бесплатен. Живёт проект за счёт рекламы и донатов. Я буду рад, если вы будете поддерживать проект регулярно, что позволит отказываться от рекламы. Сейчас у проекта 164 донатера, хотя ежемесячно контентом пользуются порядка 20 тыс человек. Даже минимальный донат (80 рос. руб. или 1$) - это уже много для меня. Сделать это можно на Boosty (лучше) или Patreon. Также можно сделать произвольный одноразовый взнос здесь.
👉 Один из вариантов поддержки - покупка мерча через androidbroadcaststore.by. Там есть классные майки и другой мерч.
Спасибо вам большое, ваша поддержка очень важна для будущего проекта, его развития и существования