Kotlin JVM - курс для начинающих (бесплатно). Вряд ли кому-то из вас пригодится, но если у вас есть знакомые, кто хочет изучить язык - хорошая точка старта.
Требования для старта курса: базовые знания из школьной программы по информатике и математике
Это не реклама, а авторская работа одного из подписчиков канала - Алексея Охотниченко @aleksey_hunter
Требования для старта курса: базовые знания из школьной программы по информатике и математике
Это не реклама, а авторская работа одного из подписчиков канала - Алексея Охотниченко @aleksey_hunter
👍35🔥6👎2🤔1
Разбор зачем в Kotlin нужны Context Receiver на примере Jetpack Compose. Позволит ограничить где могут вызываться модификаторы и разгрузит автокомплит
👍29⚡4🔥4👎2
Опыт IceRock по внедрению KMM в существующие проекты. Ребята за 4 года реализовали 20 мобильных проектов на KMP и разработали свой набор библиотек - moko.
#kmm
#kmm
🔥31👍9👎2❤🔥1
Разбор того, как устроены под капотом функции высшего порядка в Kotlin. Фактически все параметры с типом функции преобразуются в Function* тип. Как раз чтобы создавать таких объектом меньше в Kotlin и сделали inline fun
👍28👎2😱2
На сайте Kotlin Conf 2023 стали доступны спикеры этого года и их доклады, правда не все (
Кто-то из вас в этом году поедет туда? Пишите в комментариях, буду радоваться за вас
Кто-то из вас в этом году поедет туда? Пишите в комментариях, буду радоваться за вас
👍16🤡9👎2😁2
Автор Koin рассказал про планы по развитию либы:
👉 Релизы каждые 6 месяцев. Хочет синхронизироваться с релизами Kotlin
🔥 Сейчас фокус на KMM Compose API
🔥 Развитие Koin Annotations
👉 Улучшение работы Koin под капотом
👉 Улучшение API для тестов
👉 Больше фичей с Ktor
👉 Релизы каждые 6 месяцев. Хочет синхронизироваться с релизами Kotlin
🔥 Сейчас фокус на KMM Compose API
🔥 Развитие Koin Annotations
👉 Улучшение работы Koin под капотом
👉 Улучшение API для тестов
👉 Больше фичей с Ktor
👍44🔥6❤2⚡1
В Java 19 появился Project Loom - легковесные (виртуальные) потоки, некий аналог корутин из Kotlin. Автор статьи устроил эксперимент - в качестве CoroutineDispatcher он взял те, что запускают корутину на виртуальных потоках.
В рамках опыта запускается множество корутин с вызовом Thread.sleep(1000), что останавливает выполнение на 1 секунду и сравнивает работы стандарных CoroutineDispatcher с Loom.
Итог - виртуальные потоки позволят без проблем вызывать блокирующий код в неблокирюущем корутин коде вместо ограничений стандартных Dispatcher. Android такого не видать )
#coroutines
В рамках опыта запускается множество корутин с вызовом Thread.sleep(1000), что останавливает выполнение на 1 секунду и сравнивает работы стандарных CoroutineDispatcher с Loom.
Итог - виртуальные потоки позволят без проблем вызывать блокирующий код в неблокирюущем корутин коде вместо ограничений стандартных Dispatcher. Android такого не видать )
#coroutines
😭36👍17🤡10👎4
Инструкция как настроить окружение в Kotlin Multiplatform Mobile в Windows и macOS
👉 установка необходимого софта
👉 Плагины IDE
👉 Kotlin Multiplatform Wizard в IDE
👉 Обзор cгенерированного проекта
👉 Управление зависимостями
#kmm #howto
👉 установка необходимого софта
👉 Плагины IDE
👉 Kotlin Multiplatform Wizard в IDE
👉 Обзор cгенерированного проекта
👉 Управление зависимостями
#kmm #howto
👍26🍾5👎4
Обзор возможностей for (ну а вдруг вы что упустили)
👀19👍13👎5🌚1
Forwarded from Android Broadcast (Кирилл Розов)
Какими площадками с контентом (любого, не только по разработке) вы пользуетесь?
Anonymous Poll
90%
Telegram (каналы и группы)
90%
YouTube
4%
Дзен
2%
RuTube
15%
VK (читаю группы, смотрю видео)
9%
TikTok
8%
Twitch
8%
Другие (делитесь в комментах)
3%
Не участвую в опросе
👎11👍8
В каком из этих мест нельзя объявить extention функцию?
Anonymous Quiz
7%
fun A.b() { ... }
7%
fun b(a: A) { ... }
25%
companion object { ... }
35%
inline fun <reified A> b(a: () -> A) { ... }
26%
Нет правильного ответа
🤔57👎13👍7🤨5
Вышел Kotlin Dataframe 0.9.1
Библиотека для соединения статической типизации Kotlin c динамической природой данных
👉 Поддержка генерации дата схем на основе OpenAPI 3.0 схем
👉 Новые опции при чтении JSON
👉 Улучшена поддержка Apache Arrow files
🛠️ Исправление багов
Библиотека для соединения статической типизации Kotlin c динамической природой данных
👉 Поддержка генерации дата схем на основе OpenAPI 3.0 схем
👉 Новые опции при чтении JSON
👉 Улучшена поддержка Apache Arrow files
🛠️ Исправление багов
🤔14👍4❤3
К релизу готовится kotlinx.serialization 1.5.0
👉 Kotlin 1.8.0
👉 Возможность указании стратегии для всех свойств при конвертации JSON
👉 Новое API
👉 Стабилизация функций
❗ Старое API для полиморфизма теперь помечено как deprecated
👉 ProGuard правила добавлены в JAR сборку
👉 Улучшение скорости работы
🛠️ Исправление багов
👉 Kotlin 1.8.0
👉 Возможность указании стратегии для всех свойств при конвертации JSON
👉 Новое API
JsonUnquotedLiteral
, которое позволяет выводить в JSON строки без кавычек👉 Стабилизация функций
serializer
, serializerOrNull
и SerializersModule.serializer
, SerializersModule.serializerOrNull
❗ Старое API для полиморфизма теперь помечено как deprecated
👉 ProGuard правила добавлены в JAR сборку
👉 Улучшение скорости работы
🛠️ Исправление багов
👍34⚡5🤔2
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