Записки разработчицы
1.89K subscribers
370 photos
23 videos
4 files
1.08K links
Разговоры об IT, о разработке. О мобилках нативных и кроссплатформенных.
Личный аккаунт @azharkova
Download Telegram
#kotlin Вышел пререлиз Kotlin 1.7.0 RC
https://github.com/JetBrains/kotlin/releases/tag/v1.7.0-RC

В новой версии устранены проблемы работы Kotlin Native с 32-битными системами, в том числе с новой моделью памяти, улучшена работа IR компилятора. Стабилизирована работа KAPT в инкрементальной компиляции повторного запуска Unit-тестов.

Продолжаем ожидать выход Beta версии Kotlin Multiplatform (он ближе, чем вы думаете))
#kotlin #kmm Goog news! Опубликован roadmap обновления Kotlin Multiplatform:

https://blog.jetbrains.com/kotlin/2022/05/kotlin-multiplatform-mobile-beta-roadmap-update/

Основные тезисы:
1. Запуск бета-версии перенесен на осень. В новой версии разрабатываемая модель управления памятью будет включена по умолчанию.
2. С версии 1.6.20 новая модель памяти достигла уровня стабильности альфа. Утечки памяти устранены (leak-free), и для этого не нужны специальные аннотации и инструкции. https://github.com/JetBrains/kotlin/blob/master/kotlin-native/NEW_MM.md
Подробнее расскажу примерно в пт)

3. Версия 1.7.0 Kotlin принесла улучшения не только управления памятью и производительностью, многочисленные оптимизации, но и долгожданные обновления сборщика мусора.
Подробнее здесь (https://youtrack.jetbrains.com/issue/KT-49520/Promote-new-memory-manager-to-Alpha)

4. Вышел инструмент командной строки KDoctor для настройки среды разработки (https://github.com/Kotlin/kdoctor)
5. Новый экспериментальный DSL упрощает вывод бинарника Kotlin Native.
6. Улучшен UX для работы с нативными библиотеками
7. Вышел инструмент Xcode-Kotlin от Touchlab, который позволяет делать отладку приложения в Xcode:
https://github.com/touchlab/xcode-kotlin
8. Новая версия MOKO MVVM: https://medium.com/icerock/how-to-use-kotlin-multiplatform-viewmodel-in-swiftui-and-jetpack-compose-8158e98c091d
👍1🔥1
Forwarded from Android Broadcast (Кирилл Розов)
📺 Интервью с командой Kotlin Multiplatform Mobile (2 часа)
👉 Что произошло за 2022 год
👉 Чего ждать к KMM 1.0 Stable
👉 Compose iOS
👉 Kotlin IDE
👉 Экосистема Kotlin Multiplatform

#AndroidBroadcast #kotlin #kmm
7
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Вышел Kotlin 1.8.20
👉 Улучшения в K2 компиляторе
👉 Новая инкрементальная компиляция в JVM включена по умолчанию
👉 Поддержка WebAssembly. Новый экспериментальный таргет - Kotlin/Wasm
👉 Часть таргетов Kotlin/Native помечены как deprecated и будут удалены в 1.9.20
👉 Экспериментальная поддержка AutoClosable и Base64 кодировки в стандартной библиотеке

Превью фичи следующей версии языка (включаются спец. флагами)
🎉 Современная замена получения всех значений Enum
🎉 data object
🎉 Дополнительные конструкторы в inline классах

📺 Видео версия обзора новинок (13 мин)

#kotlin @kotlin_broadcast
Forwarded from Kotlin Multiplatform (Aleksey Mikhailov)
Если еще не подключились к KotlinConf 2023 - то уже пора :)
#kotlin #kmm Буквально только что команда JetBrains опубликовали обновленный роадмап:

https://kotlinlang.org/docs/roadmap.html

Ключевыми приоритетами названы выпуск Kotlin 2.0 со стабильным компилятором K2. Также планируется выпустить плагин для IntelijIdea на K2.
Относительно Kotlin Multiplatform - стабилизация и вывод готового релиза. Некоторые части функционала Kotlin/Native (те же worker для нативной многопоточки) помечены deprecated и постепенно будут удаляться из API.

В общем, работа кипит
👍3
Media is too big
VIEW IN TELEGRAM
🌩 Миграция с kapt на ksp 🌩

В новом выпуске "Охэхэнных историй" делимся нашим опытом отказа от kapt в пользу ksp для обработки аннотаций и ускорения скорости сборки в большом проекте.

Спойлер: было много боли, но у нас получилось ускорить сборку на 10%.

Внутри:

➡️ Что такое ksp
➡️ Почему мы решились на переход
➡️ Как проводили исследование
➡️ Что из этого получилось


👓 СМОТРЕТЬ

#Android
#Kotlin #KSP #KAPT
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤔2
Forwarded from Android Broadcast (Кирилл Розов)
Вышел Gradle 8.4
👉 Поддержка Java 21
👉 Увеличена скорость компиляции Java на Windows
👉 Описание конфигураций по ролям: consumable , resolvable и Dependency Scope
🛠️ Исправление багов

Улучшения Kotlin DSL
👉 Kotlin 1.9.10
👉 Оператор = стал стабильным. Пригодится для Property
👉 В Kotlin DSL зашили ссылки на исходный код

#gradle
#kotlin Ничто невечно под Луной, включая планы разработчиков Kotlin. Буквально летом в их роадмапе пункт прямого интеропа Kotlin-Swift не значился приоритетным. Вернее, в связанных issue явно было написано, что ресурсов нет, поэтому задача далеко не первой очереди и отложена. Теперь же ситуация изменилась:
https://blog.jetbrains.com/kotlin/2023/11/kotlin-multiplatform-development-roadmap-for-2024/:
"The main initiative in this area is a direct Kotlin-to-Swift export. It will eliminate the Objective-C bottleneck, allowing for broader Swift language support and more natural exporting of APIs."

Также обратим внимание на: "introducing support for exporting your framework with SwiftPM"
🔥20
Forwarded from Android Broadcast (Кирилл Broadcast)
Показали первую превью KSP2 . Основные фичи:
👉 Использует K2 компилятор (нужно включать K2 компилятор в Kotlin)
👉 Новый отдельный генератор кода, который дает больше свободы и фичей по сравнению с текущим плагином Kotlin компилятора

Чтобы попробовать вам надо использовать KSP 1.0.14 или выше. Затем в gradle.properties добавить
ksp.useKSP2=true


В новой версии есть изменения в поведении API

#ksp #k2 #kotlin
👍4🔥1
#kotlin Решила закрепить свои материалы в виде серии статей или курса (может, с публикацией через Boosty). Хочется узнать ваше мнение, что было бы интереснее:
1. Плагины Kotlin 🤩
2. KSP 🍸
3. Kotlin Multiplatform👽
4 SwiftUI 🙈

Накидайте реакции и заходите в комментарии
🤩9👍54
#kotlin JB опубликовали гайд по миграции на компилятор K2. Версия полностью пригодна для работы и с мультиплатформой:
https://kotlinlang.org/docs/k2-compiler-guide.html#language-feature-improvements

Из интересных изменений по KMP:
1. Разный уровень видимости для API expect/actual. Expect - internal и видим только внутри модуля common кода.
2. Разделение общего и платформенного кода во время компиляции.

По остальным улучшением (не только мультиплатформа):
- улучшенный смарт-каст (например, параметров типа функций)
- не только свойства, но и интерфейсы функционального типа
5
Forwarded from Compose Broadcast
‼️ Jetpack Compose компилятор переехал в Kotlin репозиторий

Точнее это случится с релизом Kotlin 2.0. Это значит что вместе с релизом новой версии Kotlin сразу будет релизится Compose компилятор и не придется ждать обновлений из Jetpack.

❗️ Теперь версия Compose компилятора теперь будет такая же как у Kotlin. Артефакт androidx.compose.compiler:compiler заменят на org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable

📦 Новый Compose Compiler Gradle плагин (раньше был частью Android Gradle Plugin) позволит быстро настроить фреймворк в вашем проекте. Пример миграции тут

Больше подробностей в обновленной документации

#compose #kotlin #k2

Больше про Compose в @compose_broadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
Forwarded from Kotlin Adept Notes (Alex Panov)
В публичный доступ опубликовали воркшоп от Павла Стрельченко по созданию плагинов для любых IDE от JetBrains 👩‍💻

Очень рекомендую глянуть воркшоп, даже если вы не собираетесь разрабатывать плагины, ведь из воркшопа можно вынести много всего полезного, а именно:

💡 Подчерпнуть идеи для плагинов и автоматизаций
🔮 Понять как мыслить при работе с незнакомым кодом
🐞 Увидеть как эффективно работать с дебаггером
✏️ Услышать полезные советы и многое другое

Приятного просмотра

#Plugins #Kotlin #IDE
@kotlin_adept
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3
🏝🎉 Вышел Kotlin 2.1.0

👉 Новые фичи языка (разберу отдельно в @kotlin_broadcast, но ничего такого)
👉 Улучшения K2 компилятора, что также повлияло и на kapt (который deprecated)
👉 KMP Базовая поддержка Swift Export, стабильный Gradle для опций компилятора и много чего ещё
👉 В Kotlin/Native улучшили поддержку iosArm64
👉 Поддержка новых версий Gradle и Android Gradle Plugin

Ждем багфиксы в 2.1.10 и потом обновляемся. За разборами с большими подробностями идите в @kotlin_broadcast

#kotlin #gradle #k2 #kmp #swift
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
📊 Автогенерация тестов для Kotlin в IntelliJ IDEA: сравнение AI-инструментов

Для многих разработчиков тестирование остается нелюбимой частью работы. На недавних конференциях Joker и Heisenbug более 400 разработчиков поделились мнением о применении AI-инструментов для тестирования.

В статье рассказывается о полученной информации, а также о существующих AI-инструментах для автоматической генерации тестов, включая их плюсы и минусы.

👉 Читать статью
#новость #kotlin
👍51👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
‼️🏝 KMP Разработчики не обновляйте XCode до 16.3

В Kotlin 2.1.20 несовместим со свежей версий XCode, поддержка будет в Kotlin 2.1.21. Отложите обновление!

#kotlin #kmp #xcode
Please open Telegram to view this post
VIEW IN TELEGRAM
👌5
🏝 Ускорение работы Kotlin/Native 🚀

В Kotlin 2.1.20 добавили экспериментальную новый проход inline оптимизации, который по тестам JetBrains ускоряет работу кода в runtime на 9.5%

Чтобы попробовать надо передать компилятору опцию
-Xbinary=preCodegenInlineThreshold=40


#kotlin #native #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1