TouchLab представили KMMBridge - набор Gradle инструментов для помощи в публикации и использования pre-build KMM Xcode Framework бинарников
👉 Документация
👉 Исходный код на GitHub
#kmm #gradle
👉 Документация
👉 Исходный код на GitHub
#kmm #gradle
🔥5🤔2
В статье рассказывается подход как можно с помощью sealed классов отказаться от null. Как вам?
🤯32👍8😁6❤1
data - непустой List из строк. Какой код не сработает?
Anonymous Poll
25%
data.map(::Value)
7%
data.map(::toValue)
7%
data.map(Utils::toValue)
40%
data.map(Util::toValue)
21%
Все варианты рабочие
🤔10👍7👌3🤯1
Kotlin Multiplatform Broadcast
data - непустой List из строк. Какой код не сработает?
Правильный ответ data.map (Util::toValue) . Код для задания был постом выше перед опросом. Подробности в комментариях
🎉33🔥9👍5🤯4
В data object в отличие от object будет переопределены:
Final Results
6%
toString() + equals()
10%
equals() + hashCode()
48%
toString() + equals() + hasCode()
37%
toString()
👍28🤯12🔥2
Kotlin Multiplatform Broadcast
В data object в отличие от object будет переопределены:
Правильный ответ - toString() . Подробности и обсуждение в комментариях
Важно - это фича в экспериментальном статусе и будет введена в Kotlin 1.8
Важно - это фича в экспериментальном статусе и будет введена в Kotlin 1.8
👍4🤔3
Вышел Realm Kotlin 1.4.0
👉 Kotlin 1.7.20
👉 Миграция на новую модель памяти Kotlin/Native
👉 library-sync теперь поддерживает Apple Silicon
👉 Исправление багов
👉 Kotlin 1.7.20
👉 Миграция на новую модель памяти Kotlin/Native
👉 library-sync теперь поддерживает Apple Silicon
👉 Исправление багов
👍14🤔2
Дизайн с учетом читаемости кода
Kotlin - язык с кучей возможностей и синтаксическим сахаром. Одни и те же вещи сделать можно множеством способов. Какой правильный? Краткость - это лучший вариант?
Из своего опыта могу сказать, что читабельность важнее. Лучше сделать больше строчек и выделить методы/классы/интерфейсы, чтобы разобраться в коде было проще. Короткие конструкции языка зачастую используют сложные операторы и фичи, которые поймут не все. Даже самому со временем может быть сложно понять этот код.
Что вы думаете на этот счет? Делитесь своим мнением в комментариях
Kotlin - язык с кучей возможностей и синтаксическим сахаром. Одни и те же вещи сделать можно множеством способов. Какой правильный? Краткость - это лучший вариант?
Из своего опыта могу сказать, что читабельность важнее. Лучше сделать больше строчек и выделить методы/классы/интерфейсы, чтобы разобраться в коде было проще. Короткие конструкции языка зачастую используют сложные операторы и фичи, которые поймут не все. Даже самому со временем может быть сложно понять этот код.
Что вы думаете на этот счет? Делитесь своим мнением в комментариях
👍77😁1
Forwarded from Mobile Developer (Алексей Гладков)
Всем привет, вот и долгожданная информация по курсу Kotlin Multiplatform
Я сделал видео и стрим, где ответил на самые популярные вопросы по курсу, так что рекомендую с ними ознакомиться
TL;DR
🔥 Курс доступен сразу и целиком
🔥 Цена 5000 рублей
🔥 Подходит разработчиком с опытом от полугода и выше как iOS, так и Android
Также я хотел бы рассказать краткий состав курса:
👉 Создание проекта и настройка зависимостей
👉 Настройка ядра проекта
👉 Запросы с сервера и кэширование
👉 Верстка Android (клиент)
👉 Настройка iOS через Xcode
👉 Верстка iOS (клиент)
👉 Верстка Desktop (админка)
В проекте есть многомодульность, навигация, архитектура, мультиплатформенность, работа с плагинами градла и так далее
Если вас это заинтересовало, то вот инструкция как приобрести этот курс. Там есть варианты как для тех, кто из России, так и для тех кто не из России, а так же для юр. лиц.
Приятного просмотра!
P.S. У кого не открывается инструкция попробуйте VPN (да-да в такое время живем)
Я сделал видео и стрим, где ответил на самые популярные вопросы по курсу, так что рекомендую с ними ознакомиться
TL;DR
🔥 Курс доступен сразу и целиком
🔥 Цена 5000 рублей
🔥 Подходит разработчиком с опытом от полугода и выше как iOS, так и Android
Также я хотел бы рассказать краткий состав курса:
👉 Создание проекта и настройка зависимостей
👉 Настройка ядра проекта
👉 Запросы с сервера и кэширование
👉 Верстка Android (клиент)
👉 Настройка iOS через Xcode
👉 Верстка iOS (клиент)
👉 Верстка Desktop (админка)
В проекте есть многомодульность, навигация, архитектура, мультиплатформенность, работа с плагинами градла и так далее
Если вас это заинтересовало, то вот инструкция как приобрести этот курс. Там есть варианты как для тех, кто из России, так и для тех кто не из России, а так же для юр. лиц.
Приятного просмотра!
P.S. У кого не открывается инструкция попробуйте VPN (да-да в такое время живем)
❤27👍5🤔5🔥4
Какой код из этого не скомпилируется? (Kotlin 1.7.20 без экспериментальных фичей)
Anonymous Quiz
10%
val value by lazy { computeValue() }
41%
var value by lazy { computeValue() }
13%
val value by Delegates.notNull<Any>()
13%
var value by Delegates.notNull<Any>()
24%
Все варианты работаю
👍24🔥8
Forwarded from Android Broadcast (Кирилл Розов)
Сборник лучших практик по использованию Gradle, который содержит банальщину вроде "используйте самую свежую стабильную версию" до управления зависимостями, ленивой инициализации и кэширования
#gradle
#gradle
👍15
Forwarded from Kotlin Multiplatform (Kostya)
https://www.youtube.com/watch?v=Rk83ptXATEw
Презентация opensource проекта с использованием Kotlin Multiplatform
https://github.com/keygenqt/kmm-GitHubViewer
Презентация opensource проекта с использованием Kotlin Multiplatform
https://github.com/keygenqt/kmm-GitHubViewer
👍25🤔4
Вышел Koin 3.3.0, который сконцеyтрировался на улучшении работы с ViewModel
👉 Рефакторинг работы с ViewModel на основе AndroidX Lifecycle 2.5
👉 Новый способ inject SavedStateHandle в ViewModel
👉 Заменили sharedViewModel() на activityViewModel()
👉 Работа с ViewModel из Koin в Jetpack Compose
👉 Рефакторинг работы с ViewModel на основе AndroidX Lifecycle 2.5
👉 Новый способ inject SavedStateHandle в ViewModel
👉 Заменили sharedViewModel() на activityViewModel()
👉 Работа с ViewModel из Koin в Jetpack Compose
👍28🔥6🎉4🤔1
Вышел Kotlin 1.7.21 - это багфикс в компиляторе и тулинге
👍29🤔1
Рад что знаком с Аней и эксперты из РУ сообщества выступают на больших каналах технологих. Так держать!
https://www.youtube.com/watch?v=JtUJc4WYObo
https://www.youtube.com/watch?v=JtUJc4WYObo
YouTube
Dependency Injection in Kotlin Multiplatform Mobile projects | KMM Beta
To organize an effective code base, it is really important to connect and configure the relations between the app’s components correctly. The easiest and most common approach is the Dependency Injection pattern. With Kotlin Multiplatform projects, finding…
👍32❤5🔥3😁3
Properties should represent state, not behavior
В Kotlin property - это не аналог Java поля. В Kotlin property это специальный метод, который может выполнять логику, а не просто отдавать значение. Автор делится тем когда стоит выбирать свойство, а когда использовать функции в Kotlin.
В Kotlin property - это не аналог Java поля. В Kotlin property это специальный метод, который может выполнять логику, а не просто отдавать значение. Автор делится тем когда стоит выбирать свойство, а когда использовать функции в Kotlin.
👍8🤔2
Announcing Multiplatform Paging
Cash App сделали мультиплатформенную версию AndroidX Paging. Сделана поддержка iOS и Android. Исходники библиотеки найдете здесь
Cash App сделали мультиплатформенную версию AndroidX Paging. Сделана поддержка iOS и Android. Исходники библиотеки найдете здесь
👍18🤔1
Опубликовали первую бету Kotlin 1.8.0. Пока там всякие обновления поддержки новых тулов и багфикс. Ждем анонса где расскажут больше
GitHub
Release Kotlin 1.8.0-Beta · JetBrains/kotlin
1.8.0-Beta
Android
KT-53013 Increase AGP compile version in KGP to 4.1.3
KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder
Backend. Native. Debug
KT-53561...
Android
KT-53013 Increase AGP compile version in KGP to 4.1.3
KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder
Backend. Native. Debug
KT-53561...
🔥23🤔2👍1
Ну вот и подробности новинок в версии Kotlin 1.8.0:
👉 Удаляют старый backend JVM компилятора. Не понял значит ли это стабилизацию K2, так как явно про него не говорят
👉 Поддержка bytecode Java 19
👉 Поддержка XCode 14
👉 Поддержка Gradle 7.3
👉 Новая структура source set для Android в KMM (включается флагом)
👉 Удаляют старый backend JVM компилятора. Не понял значит ли это стабилизацию K2, так как явно про него не говорят
👉 Поддержка bytecode Java 19
👉 Поддержка XCode 14
👉 Поддержка Gradle 7.3
👉 Новая структура source set для Android в KMM (включается флагом)
👍15🔥3