Forwarded from Android Broadcast (Кирилл Розов)
В этом году @android_broadcast номинировали на премию Highload++ "за вклад в сообщество".
Прошу вас поддержать мой проект голосом и показать сплоченность мобильного сообщества. Голосование проходит тут
Пост уже был, но голосование запустили с начала и теперь можно отдать не один голос, а три!
Прошу вас поддержать мой проект голосом и показать сплоченность мобильного сообщества. Голосование проходит тут
Пост уже был, но голосование запустили с начала и теперь можно отдать не один голос, а три!
👍32👎14
Яндекс открыла свой DI на Kotlin - Scout
Что важно знать
👉 Нет кодогенерации
👉 Много сходств в API с Koin, но и много улучшений
👉 Есть поддержка reusable по аналогии с Dagger
👉 Убрали квалификаторы в пользу создания классов оберток
👉 Есть поддержка мультибайдинга
👉 Есть защита от переопределяния фабрик для одного и того же типа
👉 Поддержка scope
👉 Есть API для валидации графа (тут бы интеграция во время компиляции не помешала бы)
👉 Показали бенчмарки и рассказали про оптимизации
🔗 Статья с обзором библиотеки (23 мин)
🔗 Исходный код на GitHub
🔗 Пример использования
#di
Что важно знать
👉 Нет кодогенерации
👉 Много сходств в API с Koin, но и много улучшений
👉 Есть поддержка reusable по аналогии с Dagger
👉 Убрали квалификаторы в пользу создания классов оберток
👉 Есть поддержка мультибайдинга
👉 Есть защита от переопределяния фабрик для одного и того же типа
👉 Поддержка scope
👉 Есть API для валидации графа (тут бы интеграция во время компиляции не помешала бы)
👉 Показали бенчмарки и рассказали про оптимизации
🔗 Статья с обзором библиотеки (23 мин)
🔗 Исходный код на GitHub
🔗 Пример использования
#di
👍69👎32
КВИЗ #21. В каком месте в коде не получится использовать делегаты переменных/свойств?
Anonymous Quiz
4%
В свойстве класса
16%
В переменной внутри тела метода класса
17%
В корне kt файла (top level property)
35%
В интерфейсе
27%
Все описанные выше случаи возможны
👍38👎22
Быть в авангарде в разработке — жизненная необходимость. Поэтому многие проекты уже переходят на Jetpack Compose, а самые смелые и продвинутые даже выпускают приложения на KMP. Дринкит (проект ДоДо) тоже активно мигрирует на Jetpack Compose (без KMP).
На основе этого опыта рассказывают про DI, а именно Kodein, в статье (2 часть, 10 мин). Первая часть тут (11 мин)
#di #android #compose #kmp
На основе этого опыта рассказывают про DI, а именно Kodein, в статье (2 часть, 10 мин). Первая часть тут (11 мин)
#di #android #compose #kmp
👎11👍10
Forwarded from Mobile Developer (Алексей Гладков)
KMP Coroutines to Swift Async/Await [EN]
https://akjaw.com/async-await-coroutines-in-swift-using-kmp-nativecoroutines/
Невероятно огромная статья по тому как использовать корутины из кмп через async/await механизм в Swift. Очень полезно для SwiftUI
👉 Настройка ViewModel
👉 Что такое @NativeCoroutines
👉 Работа с Flow
👉 Обработка ошибок и отмен
👉 и многое другое...
Приятного чтения
Статья must read 🔥
https://akjaw.com/async-await-coroutines-in-swift-using-kmp-nativecoroutines/
Невероятно огромная статья по тому как использовать корутины из кмп через async/await механизм в Swift. Очень полезно для SwiftUI
👉 Настройка ViewModel
👉 Что такое @NativeCoroutines
👉 Работа с Flow
👉 Обработка ошибок и отмен
👉 и многое другое...
Приятного чтения
Статья must read 🔥
AKJAW
Async / Await Coroutines in Swift from Kotlin Multiplatform using KMP-NativeCoroutines
This is a write-up for a talk I gave at Droidcon Berlin 2023, the video version can be found here:
Calling Kotlin Multiplatform Coroutines from Swift with the help of KMP-NativeCoroutines - droidconThe official way of using Coroutines from Swift is awkward…
Calling Kotlin Multiplatform Coroutines from Swift with the help of KMP-NativeCoroutines - droidconThe official way of using Coroutines from Swift is awkward…
👍16
Слышали уже про KSP? Убийца KAPT и значительное ускорение кодогенерации. Если нет, то по тихому читайте статью (EN, 5 мин) и оставайтесь в тренде обсуждений в комментариях
🔗 Альтернативная ссылка
📺 Много на эту тему поговорили в интервью (1 час) на канале с автором легкой альтернативы Dagger
🔗 Альтернативная ссылка
📺 Много на эту тему поговорили в интервью (1 час) на канале с автором легкой альтернативы Dagger
👍5
Включение проверки Koin графа во время компиляции проекта с помощью KSP плагина возможно. Инструкция тут
👍38👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
X (formerly Twitter)
Roman Elizarov (@relizarov) on X
I am heartbroken to share the news that I’ll be leaving JetBrains next week for personal reasons. Working on Kotlin was the best job I’ve had. The greatest asset that Kotlin has is you, the Kotlin community. Interacting with you was the highlight of my life…
👎48👍18
Опубликовали доклад по KMP 🏝 с Mobius Весна 2023
📺 Android-Driven KMM (46 мин)
📺 KMM + 🎨 Composable Architecture в Умной Камере (26 мин)
📺 Как мы Kotlin Multiplatform внедряли (46 мин)
📺 Android-Driven KMM (46 мин)
📺 KMM + 🎨 Composable Architecture в Умной Камере (26 мин)
📺 Как мы Kotlin Multiplatform внедряли (46 мин)
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Константин Семочкин — Android-Driven KMM
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
Константин расскажет о том, как они в Дзене внедряют КММ с минимальным участием со стороны iOS и почему так сложилось. Он опишет особенности работы с кодом КММ как библиотеки. Спикер постарается упростить…
— —
Константин расскажет о том, как они в Дзене внедряют КММ с минимальным участием со стороны iOS и почему так сложилось. Он опишет особенности работы с кодом КММ как библиотеки. Спикер постарается упростить…
👍17👎2
Kermit - KMP библиотека для логирования. Поддержка тестов, разные реализации логера на платформах и много гибкости.
👉 Исходный код на GitHub
#kmp #touchlab
👉 Исходный код на GitHub
#kmp #touchlab
👍13👎1
Статья по использованию ссылок на методы и свойства в Kotlin коде
👍7👎1
Хотите проверить свои навыки рефакторинга в Kotlin? Вот вам задачка, там сразу и тесты есть. Делитесь своей функцией getBestForScholarship() в комментариях (как картинку присылайте)
👎25👍18
В @compose_broadcast вы можете узнать больше про Compose Multiplatform и лучшие практики. Также там сейчас происходит розыгрыш 2 билетов на Mobius
👍15👎8
История (12 мин) того как разработчик исследовал скорость работы Sequence и оптимизировал работу отдельных операторов на 15-20% (будет в Kotlin 2.0). Рассказывать будут про операторы distinct (enum тормозил скорость) и flatten (nullable свойство добавляло if в скомпилированном коде)
#performance
#performance
👍29
Не используйте runBlocking() в корутинах (точнее делайте это очень осознанно и осторожно) ❗️ Вот история (EN, 7 мин, ссылка без VPN) разработчика с примером почему не стоит
#coroutines
#coroutines
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27👎9
👍15👎2