Вышел Kotlin 1.9.0
👉 Kotlin K2 комплиятор в Beta для JVM (Compose и KSP пока еще не поддерживают его). Теперь работает kapt с K2
👉 Новое свойство
👉 Стабильные data object
👉 Поддержка secondary constructor в inline value классах
👉 Превью нового механизма выделения памяти для объектов в Kotlin/Native
👉 Улучшения в Kotlin Multiplatform для работы с Android
#kotlin
👉 Kotlin K2 комплиятор в Beta для JVM (Compose и KSP пока еще не поддерживают его). Теперь работает kapt с K2
👉 Новое свойство
entries
для enum class на замену values()
. Лучше скорость работы и современный синтаксис. Подробности тут👉 Стабильные data object
👉 Поддержка secondary constructor в inline value классах
👉 Превью нового механизма выделения памяти для объектов в Kotlin/Native
👉 Улучшения в Kotlin Multiplatform для работы с Android
#kotlin
👍40👎4❤3🤔1
В Gradle 8.2 для Kotlin DSL появилась возможность задавать свойства Gradle Property через оператор = вместо использования функций с именами
#gradle
#gradle
🔥46👎6👏2
JetBrains опубликовала материалы курса по Kotlin для тех кто хочет учить этому языку других. Аналогичные материалы используют по всему миру в университетах! 11 лекций от базиса языка до корутин и тестирования
#kotlin
#kotlin
👍85❤5👎4😭2
CashApp (бывшие Square) выпустили beta версию библиотеки Redwood для построения реактивного Android, iOS и Web UI с помощью Kotlin. Идея заключается в описании в Kotlin common коде элементов дизайн системы и последующей их реализации в платформенном модуле и все это потом собирается через мультиплатформенный Compose
#compose #jakewharton #kmm
#compose #jakewharton #kmm
👍38👎13🔥4🤔2
Уже обновились на Kotlin 1.9?
Anonymous Poll
9%
Да
10%
Жду 1.9.10
17%
Исследуем возможность
16%
Не могу
24%
Не вижу смысла
4%
Другой ответ
20%
Не участвую в опросе
❤🔥4👎3
Используете lateinit в коже приложений (не тесты)?
Anonymous Poll
52%
Да
40%
Нет
8%
Не участвую в опросе
👎8
Kotlin Multiplatform Broadcast
Используете lateinit в коже приложений (не тесты)?
Ярый противник lateinit - это про меня! Стрельнуть в ногу с lateinit можно легко. Смотрите видео на тему https://youtu.be/0nXXUzMyF8c
👍47👎12
📺 Как собрать iOS-фреймворк из исходных файлов на Kotlin (24 мин)
Вячеслав рассказал, как собрать iOS-фреймворк из исходных файлов на Kotlin. Обсудил, какие типы фреймворков можно сгенерировать и чем они отличаются, а также рассмотрел, как фреймворк подключается в Xcode проект.
00:00 Вступление
01:38 Kotlin Multiplatform Mobile
02:36 Особенности KMM
04:11 Магические процессы фреймворка
10:40 Gradle
15:36 Universal Framework
17:19 XCFramework
22:22 Плагин для Android Studio
22:23 KDoctor
24:11 Заключение
#kmm #ios
Вячеслав рассказал, как собрать iOS-фреймворк из исходных файлов на Kotlin. Обсудил, какие типы фреймворков можно сгенерировать и чем они отличаются, а также рассмотрел, как фреймворк подключается в Xcode проект.
00:00 Вступление
01:38 Kotlin Multiplatform Mobile
02:36 Особенности KMM
04:11 Магические процессы фреймворка
10:40 Gradle
15:36 Universal Framework
17:19 XCFramework
22:22 Плагин для Android Studio
22:23 KDoctor
24:11 Заключение
#kmm #ios
👍22👎3
Kotlin Contracts - фича языка, которая позволяет описывать различные гарантии для вызовов методов и соответсвенно код пишется надежнее, а компилятор делает проверки строже, а выводы типов лучше!
👍56😐4👎1
Во всю идет разработка следующей версии (3.0) популярной библиотеки - Coil. Самое важное - появится поддержка Compose Multiplatform (Android, iOS, Web, Desktop). До релиза ещё не скоро, но занимается этим CashApp (бывшая Square)
Coil - библиотека для загрузки изображений, которая полностью сделана на Kotlin Coroutines. Версии 2.X работают только на Android
Источник новости тут
#kmp #compose
Coil - библиотека для загрузки изображений, которая полностью сделана на Kotlin Coroutines. Версии 2.X работают только на Android
Источник новости тут
#kmp #compose
👍30🔥6👎1🎉1
Kotlin Coroutines требуют собственного подхода при работе с параллельными операциями. Например, вместо использования synchronised из Java надо использовать Mutex или делать синхронизацию через Channel.
В статье (17 мин) автор освещает Concurrent API Java и почему его не стоит использовать с корутинами в Kotlin или только в отдельных операциях
#coroutines #java
В статье (17 мин) автор освещает Concurrent API Java и почему его не стоит использовать с корутинами в Kotlin или только в отдельных операциях
#coroutines #java
👍38👎3
Статья (EN, 4 мин) про разные сценарии использования sealed class и sealed interface с примерами. Иногда спрашивал такое на собесах и часть людей не отвечала
👍29⚡7👎4
Сделали расшифровку доклада Лёши Гладкова про актуально состояние Kotlin Multiplatform https://habr.com/ru/companies/usetech/articles/747926/
Мой совет - стоит, а вот с Compose Multiplatform для iOS осторожно. Пока там все очень сыро, хоть активно развивается JetBrains
Мой совет - стоит, а вот с Compose Multiplatform для iOS осторожно. Пока там все очень сыро, хоть активно развивается JetBrains
Хабр
The State of Kotlin Multiplatform
Алексей Гладков Mobile Developer В мае 2023 года команда ГК Юзтех организовала в Томске Usetech Meetup «Тренды мобильной разработки», где своим опытом поделились эксперты российского ИТ-рынка. По...
👎14❤🔥10👍6
При необходимости получить значение в пределах какого-то диапазона разработчики используют функцию min и max, но в стандартной библиотеки Kotlin есть варианты изящнее:
👉 Number.coerceAtLeast(minValue: Number) - получить значений, но не меньше чем minValue
👉 Number.coerceAtMost(maxValue: Number) - получить значений, но не больше чем maxValue
👉 Number.coerceAtRange(minValue: Number, maxValue; Number) - получить значений, но не больше чем maxValue и не меньше чем minValue
coerce в переводе с английского значит "принуждать", "заставлять"
Функции работают со всеми числами и Comparable типами
👉 Number.coerceAtLeast(minValue: Number) - получить значений, но не меньше чем minValue
👉 Number.coerceAtMost(maxValue: Number) - получить значений, но не больше чем maxValue
👉 Number.coerceAtRange(minValue: Number, maxValue; Number) - получить значений, но не больше чем maxValue и не меньше чем minValue
coerce в переводе с английского значит "принуждать", "заставлять"
Функции работают со всеми числами и Comparable типами
👍70👎6❤1
👍4👎1
🔴 Kotlin Multiplatform Tech Talk
Когда: 27 Июля 17:00 (GMT+3)
👉 Возможности переиспользования кода с Kotlin Multiplaftorm
Спикеры: Константин Погребняк и Алексей Лобыня, IceRock
👉 Q&A сессия с JetBrains посвященная Kotlin Multiplatform.
Спикеры: Константин Цховребов и Pamella Hill
Вопросы можно задать в чате и по ссылке (на русском или английском). Подробности мероприятия тут
Когда: 27 Июля 17:00 (GMT+3)
👉 Возможности переиспользования кода с Kotlin Multiplaftorm
Спикеры: Константин Погребняк и Алексей Лобыня, IceRock
👉 Q&A сессия с JetBrains посвященная Kotlin Multiplatform.
Спикеры: Константин Цховребов и Pamella Hill
Вопросы можно задать в чате и по ссылке (на русском или английском). Подробности мероприятия тут
👍15🔥4👎1
Серия статей (4 части) про написание Kotlin кода в мультиплатформе, чтобы его было удобно вызывать из Swift кода.
#native #objc #swift
#native #objc #swift
👍10👎2
В рамках Kotlin Conf 2023 была анонсирована программа поддержки проектов для Kotlin Multipaltform от сообщества. В первом раунде был выбраны проекты:
👉 Coil – загрузка изображений с поддержкой Compose Multiplatform
👉 Store – KMM библиотека для кэширования запросов и меньше ожидания показа данных из сети
👉 Http4k – много полезного для HTTP на Kotlin
👉 KMP-NativeCoroutines – библиотека для использования Kotlin Coroutines из Swift кода в KMP приложениях
👉 Lyricist – библиотека для интернационализации и локализации мультиплатформенных приложения на Compose
Каждый автор получит 6000$ для дальнейшей разработки и расширения проекта
Источник новости
#kmp #compose
👉 Coil – загрузка изображений с поддержкой Compose Multiplatform
👉 Store – KMM библиотека для кэширования запросов и меньше ожидания показа данных из сети
👉 Http4k – много полезного для HTTP на Kotlin
👉 KMP-NativeCoroutines – библиотека для использования Kotlin Coroutines из Swift кода в KMP приложениях
👉 Lyricist – библиотека для интернационализации и локализации мультиплатформенных приложения на Compose
Каждый автор получит 6000$ для дальнейшей разработки и расширения проекта
Источник новости
#kmp #compose
🔥55⚡6👍4👌3