Forwarded from Mobile Developer (Pavel Kachan)
КАРРИРОВАНИЕ В KOTLIN
https://keygenqt.com/blog/3
Еще помните парня, который сделал кмм приложение на AuroraOS?
Это его статья)
👉 Как выглядят функции двух и более аргументов под капотом
👉 Что такое каррирование
👉 Как и для чего это можно использовать (с примерами)
https://keygenqt.com/blog/3
Еще помните парня, который сделал кмм приложение на AuroraOS?
Это его статья)
👉 Как выглядят функции двух и более аргументов под капотом
👉 Что такое каррирование
👉 Как и для чего это можно использовать (с примерами)
Keygenqt
@keygenqt
Hello! My personal site. Come, I will always be glad!
👍16👎9🌚4
Руководство по настройке KotlinX Serialization для работы с sealed interface для десериализации JSON. Используется поддержка полиморфизма в библиотеке.
⚡29
Вышел Compose Multiplatform 1.3.0
👉 Обновление до последних версий Jetpack Compose
👉 Поддержка Kotlin 1.8
👉 Улучшения на Compose Desktop
🛠️ Исправление багов
👉 Обновление до последних версий Jetpack Compose
👉 Поддержка Kotlin 1.8
👉 Улучшения на Compose Desktop
🛠️ Исправление багов
👍23
Команда Kotlin в ближайшие полгода сосредоточится над улучшением опыта разработчиков сторонних библиотек, а именно:
👉 улучшение документации
👉 стабильный релиз Dokka
👉 руководства по Kotlin API для авторов библиотек
👉 улучшение документации
👉 стабильный релиз Dokka
👉 руководства по Kotlin API для авторов библиотек
👍24⚡1🔥1
Forwarded from Записки разработчицы (Anna Zharkova)
Аркадий Иванов опубликовал твит о выпуске первой релизной версии своего Decompose - библиотеки для общего UI под KMM:
https://github.com/arkivanov/Decompose/releases/tag/1.0.0
Основные фичи:
✅Возможность переиспользовать и тестировать компоненты (RIBs-like)
✅ Разделение UI и не-UI кода
✅Возможность подключать платформоспецифический UI
✅ Собственный DI
✅Мультиплатформенность
✅Поддержка сохранения состояния (Android/JVM/Apple)
✅Используется Compose Android/JVM/iOS/macOS/Web
И еще type-safe мультиплатформенная навигация в KMM
https://github.com/arkivanov/Decompose/releases/tag/1.0.0
Основные фичи:
✅Возможность переиспользовать и тестировать компоненты (RIBs-like)
✅ Разделение UI и не-UI кода
✅Возможность подключать платформоспецифический UI
✅ Собственный DI
✅Мультиплатформенность
✅Поддержка сохранения состояния (Android/JVM/Apple)
✅Используется Compose Android/JVM/iOS/macOS/Web
И еще type-safe мультиплатформенная навигация в KMM
GitHub
Release 1.0.0 · arkivanov/Decompose
Changes since 1.0.0-beta-04
Version updates (#311, #320):
Kotlin 1.8.0
JB Compose 1.3.0
Jetpack Compose compiler 1.4.0
Essenty 1.0.0
parcelize-darwin 0.1.3
Added defaultComponentContext exten...
Version updates (#311, #320):
Kotlin 1.8.0
JB Compose 1.3.0
Jetpack Compose compiler 1.4.0
Essenty 1.0.0
parcelize-darwin 0.1.3
Added defaultComponentContext exten...
👍26🔥12👎1
Завтра буду записывать интервью с командой Kotlin Multiplatofrom Mobile. накидывайте свои вопросы в комментариях
🔥72👍10❤🔥2🍾2
Вышла Kotlin 1.8.20-Beta
👉 Продолжат работать на K2 компилятором
👉 Kotlin Multiplatform теперь поддерживает WebAssembly. Все пока на уровне эксперимента
👉 Новая инкрементальная компиляция в JVM. теперь выключена по умолчанию
👉 Для удаления помечены часть таргетов в Kotlin/Native, а именно iosArm32, watchosX86, wasm32, mingwX86, linuxArm32Hfp, linuxMips32, linuxMipsel32 (подробности тут)
👉 Kotlin Multiplatform поддерживает Gradle composite builds
👉 Поддержка AutoCloseable из Java (экспериментально)
👉 Продолжат работать на K2 компилятором
👉 Kotlin Multiplatform теперь поддерживает WebAssembly. Все пока на уровне эксперимента
👉 Новая инкрементальная компиляция в JVM. теперь выключена по умолчанию
👉 Для удаления помечены часть таргетов в Kotlin/Native, а именно iosArm32, watchosX86, wasm32, mingwX86, linuxArm32Hfp, linuxMips32, linuxMipsel32 (подробности тут)
👉 Kotlin Multiplatform поддерживает Gradle composite builds
👉 Поддержка AutoCloseable из Java (экспериментально)
👍2
🔥 Объявили что с выходом K2 компилятора в stable статус состоится выход Kotlin 2.0. Kotlin 1.10 не планируется и следующим релизом после Kotlin 1.9 будет 2.0. Сменой мажорной версии авторы хотят показать значимость перехода на новый компилятор. Никаких breaking changes не планируется и весь код, написанный ранее останется работать в новой мажорной версии.
K2 компилятор исправит множество багов, откроет дорогу новым фичам и конечно же значимо ускорит работу IDE.
Превью новой версии можно попробовать в Kotlin 1.8.20
K2 компилятор исправит множество багов, откроет дорогу новым фичам и конечно же значимо ускорит работу IDE.
Превью новой версии можно попробовать в Kotlin 1.8.20
❤62🔥21👍1
Какой класс не имеет супертипа в Kotlin?
Anonymous Quiz
13%
Unit
41%
Any
32%
Nothing
13%
Нет правильного ответа
👍58💯1🍾1
В Kotlin заботятся о безопасности. Важным вехой является что любой из нас может собрать тот же самый бинарник Kotlin компилятора, что и выходит в релиз. Kotlin/Native пока еще не покрыт, но будет в ближайшем будущем. Эту фичу активно пропихивала Android команда из Google. Это важно чтобы цепочка инструментов сборки была надежной.
Инструкции и скрипты для сборки последней стабильной версии Kotlin
#security
Инструкции и скрипты для сборки последней стабильной версии Kotlin
#security
👍24👎1
Как тип у переменно a d коде fun a(): String { val a = return "" }? (Kotlin 1.8.0)
Final Results
38%
Код не будет компилироваться
25%
String
7%
Any
22%
Nothing
9%
Нет верного ответа
🤯55🥴23🔥6🤡6
Какой из синтаксисов объявления лямбды НЕвалидный в Kotlin?
data class B(val a: String, val b: String)
data class B(val a: String, val b: String)
Anonymous Quiz
8%
val f1: (B) -> Unit = { (a, _) -> Unit }
63%
val f2: (B) -> Unit = { a, b -> Unit }
6%
val f3: (B) -> Unit = { (a, b) -> Unit }
23%
val f4: (B) -> Unit = { (_, _) -> Unit }
👍55❤1👎1
Вебинары по Kotlin - это отличный способ прокачать свои навыки в Kotlin и изучить возможности различных инструментов разработчика! В ближайшие 2 недели пройдет несколько вебинаров:
❗ Advanced Kotlin Techniques for Spring Developers (14 февраля)
Все кто использует Spring и пишет на Kotlin смогут прокачать свои опыт использования фреймворка на следующий уровень!
👉 Регистрация
❗ Graceful Resource Handling Using Structured Concurrency in Kotlin (16 февраля)
Узнаете про использование Arrow Resource DSL чтобы ваши ресурсы не утекали по аналогии со structured concurrency в корутинах
👉 Регистрация
❗ Creative Coding With Kotlin and OPENRNDR (22 февраля)
Креативное программирование — это когда задача состоит в создании не функционального, а выразительного продукта. На вебинаре вы познакомитесь с библиотекой OPENRNDR и узнаете, как с помощью нее создавать потрясающие визуальные произведения искусства 🎨
👉 Регистрация
❗ Advanced Kotlin Techniques for Spring Developers (14 февраля)
Все кто использует Spring и пишет на Kotlin смогут прокачать свои опыт использования фреймворка на следующий уровень!
👉 Регистрация
❗ Graceful Resource Handling Using Structured Concurrency in Kotlin (16 февраля)
Узнаете про использование Arrow Resource DSL чтобы ваши ресурсы не утекали по аналогии со structured concurrency в корутинах
👉 Регистрация
❗ Creative Coding With Kotlin and OPENRNDR (22 февраля)
Креативное программирование — это когда задача состоит в создании не функционального, а выразительного продукта. На вебинаре вы познакомитесь с библиотекой OPENRNDR и узнаете, как с помощью нее создавать потрясающие визуальные произведения искусства 🎨
👉 Регистрация
👍10🔥5👎1
Опыт взаимодействия с KMM со стороны iOS-разработки (18 мин)
👉 с какими проблемами столкнулись
👉 их решение
👉 подходы
👉 как к этой технологии относятся iOS-разработчики.
#kmm #ios
👉 с какими проблемами столкнулись
👉 их решение
👉 подходы
👉 как к этой технологии относятся iOS-разработчики.
#kmm #ios
👍20🔥3👎1
Forwarded from Записки разработчицы (Anna Zharkova)
Алгоритм быстрых и масштабируемых каналов корутин замержен.
https://github.com/Kotlin/kotlinx.coroutines/issues/3621
Как описывают авторы, предыдущая реализация работала на конкурентном двусвязном списке. Это приводило к ряду проблем многопоточности, включая data races.
В статье можно ознакомиться с описанием алгоритма и обоснованием его корректности:
https://arxiv.org/abs/2211.04986
https://github.com/Kotlin/kotlinx.coroutines/issues/3621
Как описывают авторы, предыдущая реализация работала на конкурентном двусвязном списке. Это приводило к ряду проблем многопоточности, включая data races.
В статье можно ознакомиться с описанием алгоритма и обоснованием его корректности:
https://arxiv.org/abs/2211.04986
👍28👎1
Статья с освещением не самой просто темы - вариативность генериков в Kotlin. Освойте эту фичу, что лучше проектировать API и сделать его гибким
👍16🔥7
Forwarded from Android Broadcast (Кирилл Розов)
📺 Интервью с командой Kotlin Multiplatform Mobile (2 часа)
👉 Что произошло за 2022 год
👉 Чего ждать к KMM 1.0 Stable
👉 Compose iOS
👉 Kotlin IDE
👉 Экосистема Kotlin Multiplatform
#AndroidBroadcast #kotlin #kmm
👉 Что произошло за 2022 год
👉 Чего ждать к KMM 1.0 Stable
👉 Compose iOS
👉 Kotlin IDE
👉 Экосистема Kotlin Multiplatform
#AndroidBroadcast #kotlin #kmm
👍27🔥10👎1