о KType/KClass)
И ужаснулся.. я обнаружил там.... Protobuf. Почему его используют?
Потому что это самый универсальный на данный момент формат сериализации со схемой.
А зачем оно в рефлексии ? Метадату извлекать ?
Насколько я понимаю, вопрос был почему метадата протобафом сериализуется
Мм js/jvm/native и один формат?
Предполагается ли ее использовать вне котлина/рефлексии/метаданных? (Придумал извратиться: скомпилять котлин в wasm, Настроить какой нить бридж в котлин из wasmtime и доставать метаданные растом)
WASM Компилятор будет в скором времени в котлин. Плюс есть старый компилятор через LLVM, но он не поддерживается.
А что не так с LLVM?
я думаю идея в том, чтобы не городить свой рантайм, как сейчас есть у K/N с LLVM там в K/WASM идёт плотная интеграция с Wasm GC proposal и interop с JS и всем остальным будет проще в будущем через отдельный backend, а не через LLVM можно ещё в чатике @kotlin_js узнать больше инфы, там вроде разработчики k/js и k/wasm одни и те же)
Меня не сильно интересует браузерный wasm :) Только server-side, только хардкор Но это звучит хорошо
а я вроде нигде и не сказал про браузер :)
Interop с js и котлин js.. Али кто-то на котлине пишет node.js? :)
не знаю пишут ли, но это возможно) вон, у меня в рсокет-котлин даже есть рабочий tcp nodejs server транспорт) просто экосистема самого k/js слабо развита пока что, и упор больше на браузер, да
Меня грустит экосистема самого котлина. Все либо js либо jvm.
Это не хардкор, а "не понятно зачем". Не сказать еще хужей
Кто-то пишет. Только не понятно, зачем
почему же? ktor умеет с 2.0 в K/N сервер (rsocket-kotlin тоже умеет) новая модель памяти - скоро будет by default перфоманс K/N улучшают потиху сейчас по мне самая большая проблема это сложности в распространении артефактов, которые зависят на нативные либы, типа того же openssl, curl и чего угодно другого
Да нативные либы это боль. Хоть статикой заворачивай...
Pure kotlin! Common! Mpp!
можно конечно статически линковать, как в компоузе со skia, но выход ли это?) вот будет partial linking будет чуть лучше с этим, хотя бы вроде можно будет отловить в рантайме, что нет какой-то динамической либы - но опять же, фиг знает как оно будет работать и когда оно будет а делать как с JVM - возможность сделать один артефакт с апи, а 2-ой с либой нативной внутри - вроде как нельзя пока что нормально
Не понял, почти все центральные либы мультиплатформа. А что такое pure kotlin? выполняться-то на чем?
так а чего не хватает то?)
Да, выше тред по скада 🌚😁 если вопрос про nodejs, а не котлин + нода
Юнит тестов :3 (kotest не центральная либа) Какого нибудь общего интеропа(что бы меньше писать expected/actual). Рефлексии (часть интероспекции на reflect, сами рефлексии только на jvm) Чтото ещё было.. не помню
Pure kotlin - выполнять на любой из поддерживаемых платформ. Накатал common и работает :) (Идеальный мир... А потом нужно написать либу, которая работает с COM- только винда.. и также фигня как с питоном получается..)
Как вы себе рефлексию в нативе представляете?
С генерацией костылей во время компиляции
https://github.com/JetBrains-Research/reflekt
1. мне в kotlin.test не хватает только параметизированных тестах - в котест вообще всё есть мне кажется из коробки, зачем ей быть центральной не понимаю - просто у людей есть выбор, не думаю что это плохо 2. а интероп с чем? с нативным кодом? не всегда лучший выход, да и мне кажется что это просто никому сильно не нужно - сделать вроде не супер сложно (я собираюсь что-то такое делать, но не знаю, когда руки дойдут) 3. уже написали про reflekt
На данном этапе это не поможет сделать что нибудь di на подобии javax.inject(jsr-310) с инджектом в конструктор :( в common
Поможет. Даже KSP поможет. но если вы сами это себе не доделаете, никто за вас не доделает. Пока.
pure kotlin мне кажется никогда не будет и в этом его сила - в интеропе с уже существующим кодом то, что интероп сейчас вне JVM иногда хромает как раз дело времени со временем и dukat для js подтянут и cinterop / commonizer будут лучше а потом и ещё что-нибудь может появится проблема в том, что из-за того, что kotlin подходит везде, желаний у пользователей много, а ресурсы ограничены - вот и приходится в JB приоритизировать - а приоритизация всегда кого-то в чём-то обделят :)
koin ksp plugin уже вроде такое умеет да и видел уже ещё 2 или 3 проекта, которые через compiler plugins БЕЗ РЕФЛЕКСИИ вовсе это делают)
Использовать котлин как встраиваемый язык... С "нативной песочницей" и когда wasi будет
Что бы прям само инстансы создавало и клало ? Ну такое себе, мне вон котлиниkoin/kodein подход больше нравится
Эффект утёнка ... спринг
Обсуждают сегодня