Forwarded from Android Broadcast (Кирилл Розов)
#AndroidBroadcast
Ищу экспертов для новых интервью (формат простого разговора) по нетипичной Android разработке:
👉 Разработчики карт (2ГИС, Яндекс Карты, Maps.Me и др)
👉 Создание лаунчера для Android
👉 Опыт распространения и поддержки собственного приложения в Google Play с достойным заработком
👉 Разработчики фото/видео редакторов на Android
👉 Разработчики приложений в котором нужно коммуницировать с устройствами по Bluetooth
👉 Разработчики приложений камеры
Если у вас есть другой интересный опыт в разработке, которым интересно поделиться - обязательно пишите
Откликнуться можно @ab_manager или на почту
Ищу экспертов для новых интервью (формат простого разговора) по нетипичной Android разработке:
👉 Разработчики карт (2ГИС, Яндекс Карты, Maps.Me и др)
👉 Создание лаунчера для Android
👉 Опыт распространения и поддержки собственного приложения в Google Play с достойным заработком
👉 Разработчики фото/видео редакторов на Android
👉 Разработчики приложений в котором нужно коммуницировать с устройствами по Bluetooth
👉 Разработчики приложений камеры
Если у вас есть другой интересный опыт в разработке, которым интересно поделиться - обязательно пишите
Откликнуться можно @ab_manager или на почту
[email protected]
👍15👎6❤1🔥1
Вышeл MVIKotlin 3.0
👉 Kotlin DSL для Store (экспериментальное API)
👉 Интеграция библиотеки Essenty
👉 Отложенная инициализация Store и возможность ее выполнения в фоновом потоке
👉 Поддержка Apple Silicon
👉 Time Travel клиент для десктопа и улучшение протокола
👉 Расширение Chrome DevTools для Time Travel (экспериментальное API)
👉 Улучшение API
👉 Исправление багов
👉 Kotlin DSL для Store (экспериментальное API)
👉 Интеграция библиотеки Essenty
👉 Отложенная инициализация Store и возможность ее выполнения в фоновом потоке
👉 Поддержка Apple Silicon
👉 Time Travel клиент для десктопа и улучшение протокола
👉 Расширение Chrome DevTools для Time Travel (экспериментальное API)
👉 Улучшение API
👉 Исправление багов
🎉25👎9
Вышел Detekt 1.21.0
👉 Новые правила (6 штук)
👉 ~30 правил стали стабильными и включены по умолчанию
👉 Поддержка отчетов в Markdown
👉 Возможность документирования каждого значения в правилах
👉 Улучшения проверки concurrency сценариев
👉 Мелкие улучшения
👉 Исправления багов
Новые правила
👉 NullableBooleanCheck
👉 CouldBeSequence
👉 UnnecessaryBackticks
👉 ForbiddenSuppress
👉 MaxChainedCallsOnSameLine
👉 CascadingCallWrapping
👉 Новые правила (6 штук)
👉 ~30 правил стали стабильными и включены по умолчанию
👉 Поддержка отчетов в Markdown
👉 Возможность документирования каждого значения в правилах
👉 Улучшения проверки concurrency сценариев
👉 Мелкие улучшения
👉 Исправления багов
Новые правила
👉 NullableBooleanCheck
👉 CouldBeSequence
👉 UnnecessaryBackticks
👉 ForbiddenSuppress
👉 MaxChainedCallsOnSameLine
👉 CascadingCallWrapping
🔥14👍4👎3🥰1
A New Approach to Incremental Compilation in Kotlin
В Kotlin 1.7.0 улучшили инкрементальную компиляцию при изменений в проекте между модулями
Значительную улучшения ожидаются если вы используете Gradle build cache или часто делаете изменения в не Kotlin модулях.
Для включения надо добавить
В Kotlin 1.7.0 улучшили инкрементальную компиляцию при изменений в проекте между модулями
Значительную улучшения ожидаются если вы используете Gradle build cache или часто делаете изменения в не Kotlin модулях.
Для включения надо добавить
kotlin.incremental.useClasspathSnapshot=true
в gradle.properties👍12👎3
Collection processing in Kotlin: Folding and reducing
Разборов операторов fold и reduce для коллекций
Разборов операторов fold и reduce для коллекций
👍8👎1
My Experience After Using Kotlin Multiplatform in Production Apps for a Year (6 мин)
История успещного использования KMM в продакшен приложении для Android и iOS на протяжении год. В статье автор описывает основные преимущества, которые получили разработчики, а также советов на основе опыта.
#kmm #story
История успещного использования KMM в продакшен приложении для Android и iOS на протяжении год. В статье автор описывает основные преимущества, которые получили разработчики, а также советов на основе опыта.
#kmm #story
👍12👎1
Вышла kotlinx.serialization 1.4.0-RC
👉 Поддержка Kotlin 1.7.10
👉 Поддержка Okio
👉 Стабильная поддержка inline классов и unsigned чисел
👉 Часть иерархии SerializationException стала публичной
👉 Аннотация
👉 Документация переехала с Github pages на kotlinlang.org
👉 Различные улучшения и исправления багов
👉 Поддержка Kotlin 1.7.10
👉 Поддержка Okio
👉 Стабильная поддержка inline классов и unsigned чисел
👉 Часть иерархии SerializationException стала публичной
👉 Аннотация
@MetaSerializable
, которая дает пользовательским аннотациям такое же поведение при компиляции как и аннотация @Serializable
👉 Документация переехала с Github pages на kotlinlang.org
👉 Различные улучшения и исправления багов
👍28👎1
📺 Синхронизация между корутинами || Курс по корутинам #6 (6 мин)
Продолжаем курс по корутинам. В новом уроке разбираемся как синхронизировать доступ к общим данным из нескольких корутин.
Весь курс, который сделан при поддержке компании Revolut, можно найти здесь
#AndroidBroadcast #курс #coroutines
Продолжаем курс по корутинам. В новом уроке разбираемся как синхронизировать доступ к общим данным из нескольких корутин.
Весь курс, который сделан при поддержке компании Revolut, можно найти здесь
#AndroidBroadcast #курс #coroutines
👍32👎6
📺 Kotlin Coroutines Flow. StateFlow. SharedFlow || Курс по корутинам #7 (20 мин)
Разбираемся схолодными потоками данных в корутинах - Flow, SharedFlow и StateFlow, а также особенностями их работы. В видео вас жду лайвкодинги (как вы и просили) ну а дальше будут отдельные видео по этой теме.
Весь курс сделан при поддержке компании Revolut. Все ролики можно найти здесь
#AndroidBroadcast #курс #coroutines
Разбираемся с
Весь курс сделан при поддержке компании Revolut. Все ролики можно найти здесь
#AndroidBroadcast #курс #coroutines
🔥25👍7👎4❤1
Forwarded from Android Broadcast (Кирилл Розов)
📺 Корутины в Android. Специальные API || Курс по корутинам #8 (8 мин)
Собираем все полученные знания, чтобы узнать как их адаптировать к Android разработке и какие специальные API сделали в Jetpack
Весь курс, который сделан при поддержке компании Revolut, можно найти здесь
#AndroidBroadcast #курс #coroutines
Собираем все полученные знания, чтобы узнать как их адаптировать к Android разработке и какие специальные API сделали в Jetpack
Весь курс, который сделан при поддержке компании Revolut, можно найти здесь
#AndroidBroadcast #курс #coroutines
👍28👎5🔥4
Вышел Multik 0.2
Библиотека для работы с многомерными массивами в Kotlin стала мультиплатформенной, обзавелась поддержкой Android, а на macOS теперь работает с Apple Silicon
Библиотека для работы с многомерными массивами в Kotlin стала мультиплатформенной, обзавелась поддержкой Android, а на macOS теперь работает с Apple Silicon
👍14👎1
Вышел Kotlin 1.7.20-Beta
💪 Добавлена поддержка популярных плагинов компилятора только уже для нового компилятора - K2. kapt нет и не думаю что вообще появится (используйте ksp)
🎉 [Experimental] Новый оператор ..< для создания открытых range (не смог нормально перевести)
🔥 Новая модель памяти Kotlin/Native включена по умолчанию
🎉 [Experimental, JVM] Inline классы c generic типом
💪 Добавлена поддержка популярных плагинов компилятора только уже для нового компилятора - K2. kapt нет и не думаю что вообще появится (используйте ksp)
🎉 [Experimental] Новый оператор ..< для создания открытых range (не смог нормально перевести)
🔥 Новая модель памяти Kotlin/Native включена по умолчанию
🎉 [Experimental, JVM] Inline классы c generic типом
👍23👎2
Не видел толкового курса по Kotlin на русском. Вот появился один. По годноте уже судить вам, я язык выучил ) Пишите в комментариях мнение
👎17👍10
В официальной документации по Kotlin обновили руководство по тому как начать с Kotlin Multiplatform Mobile. Говорят что стало лучше и актуально
#kmm
#kmm
👍18👎1
Function references
В Kotlin есть возможность передавать функци по ссылке, вместо создания лямбд. Изучите и сможете сделать свои цепочки вызовов короче
В Kotlin есть возможность передавать функци по ссылке, вместо создания лямбд. Изучите и сможете сделать свои цепочки вызовов короче
👎15👍12🔥2
Strings, Please! Eliminating Data Leaks Caused by Kotlin Assertions
В статье рассказывает про то как Kotlin генерит доп вызовы для выбрасывания исключений в Runtime, когда вы нарушаете Null Safety в Kotlin. Проблема в том что туда вставляются имена вызываемого кода, а при обфускации так и остаются оригинальными строками, что дает злоумышленникам проще разобраться в вашем коде.
Чтобы избавиться от этих проверок, используйте код на скриншотах, но только в релизных сборках. Для дебага проверки нужны.
Я уже давно предлагал и лаже описал способ как их выкосить с помощью конфига ProGuard/R8 (читайте здесь)
В статье рассказывает про то как Kotlin генерит доп вызовы для выбрасывания исключений в Runtime, когда вы нарушаете Null Safety в Kotlin. Проблема в том что туда вставляются имена вызываемого кода, а при обфускации так и остаются оригинальными строками, что дает злоумышленникам проще разобраться в вашем коде.
Чтобы избавиться от этих проверок, используйте код на скриншотах, но только в релизных сборках. Для дебага проверки нужны.
Я уже давно предлагал и лаже описал способ как их выкосить с помощью конфига ProGuard/R8 (читайте здесь)
👍36👎3
This media is not supported in your browser
VIEW IN TELEGRAM
Mutekt - плагин для Kotlin компилятора, который генерирует мутабельные модельки из немутабельных классов
🤔34👎22👍1
Магия Dispatcher'ов и как сделать свой Main
Разбор работы CoroutineDispatcher в корутинах, а главное как работает Dispatchers.Main в Android
#coroutines #android
Разбор работы CoroutineDispatcher в корутинах, а главное как работает Dispatchers.Main в Android
#coroutines #android
👍28👎3
По какой причине вы не используете ранние (EAP) сборки Kotlin? Это же помогает делать язык лучше
Final Results
56%
Предпочитаю стабильную версию
11%
Несовместимость с библиотеками/инструментами
10%
Не знаю как участвовать
8%
Не знаю где узнать про старт EAP
2%
Не пишу на Kotlin или код вовсе
11%
Не участвую в опросе
2%
Другая причина (делитесь в комментариях)
👎3👍1
Function types
Разбор функциональных типов в Kotlin:
👉 Как объявляются
👉 Примеры использования
👉 Именованные аргументы
👉 Алиасы
👉 Функциональный тип - это интерфейс
Разбор функциональных типов в Kotlin:
👉 Как объявляются
👉 Примеры использования
👉 Именованные аргументы
👉 Алиасы
👉 Функциональный тип - это интерфейс
👍26👎2