https://kotlinlang.org logo
#russian
Title
# russian
l

lewik

11/10/2019, 8:40 PM
Тогда уж... почему бы и бек не писать на TS... (плачет) Правда тут ни спринга, ничего.
a

aleksey.tomin

11/11/2019, 3:01 AM
Немного заныриваю в бэк на JS (nodejs). Нафиг нафиг- лучше 2 языка.
1
l

lewik

11/11/2019, 5:52 AM
TS так себе, да? После котлина.
a

aleksey.tomin

11/11/2019, 8:09 AM
У меня даже TS нет.
l

lewik

11/11/2019, 8:09 AM
TS конечно дает типы... но не так как котлин
a

aleksey.tomin

11/11/2019, 8:16 AM
Ну вот я день багу искал- передавал mododb драйверу id- строку вместо id- объекта из одной строки. “Объект не найден” и всё. И стектрейс больше и страшнее спрингового 🙂 В общем- JS это свой мир, мне там страшно 🙂
l

lewik

11/11/2019, 8:28 AM
Я даже в ts передавал вместо строкового id объект (забыл вытащить свойство их него). Почему ts это пустил - не знаю. Искал полдня.
Но, у котлина тулинга на фронте 0. Сторонние библиотеки подключать - только ручками.
Взяли JB этот... реакт зачем то... такая сложная и не понятная штука. Взяли бы лучше vue.
a

altavir

11/11/2019, 12:00 PM
под vue же вроде кто-то напилил байндинги. Нет?
Я кстати пришел к выводу, что все это фигня, написал на чистом K-JS, работает на ура. У меня правда все очень простенькое в смысле GUI
l

lewik

11/17/2019, 7:39 AM
@altavir Не нашел я байндингов
a

altavir

11/17/2019, 7:39 AM
Точно где-то в фиде было...
Вот сходу в гугле нашел две: https://github.com/nosix/vue-kotlin https://github.com/SorenV/kotlin-vue
Последнее довольно новенькое
l

lewik

11/17/2019, 7:41 AM
https://github.com/nosix/vue-kotlin Я списывался с ним, он забросил
a

altavir

11/17/2019, 7:41 AM
Заметно. Но второе новенькое
a

altavir

11/17/2019, 7:44 AM
И чего? Я не знаю куда смотреть. Я же говорю, сам от фреймворков отказался
l

lewik

11/17/2019, 7:50 AM
Не, это не то. По сравнению с тулингом для однофайловых компоненотов тут пусто. Классы не прокликиваются, доступен только css. padding и прочее набирают ручками. Emmet нету. Такое себе.
a

altavir

11/17/2019, 7:52 AM
А кто кстати мешает делать смесь. Пишешь себе весь гуй на vue, а общение с серваком на Kotlin-JS. Все же стыкуется хорошо
l

lewik

11/17/2019, 7:54 AM
Там тоже свои минусы. "База" то будет в vuex state. И для работы котлина придется к ней обращаться или передавать ее объекты. И чего... каждый раз конвертить в дата классы?
Все листы и мапы из котлина так же надо будет конвертить для vue, просто так их не передашь
Наверно, таки надо глянуть реакт. Может таких проблем нет (хотя наверняка есть другие). И потом посмотреть как jb работает с реактом
a

altavir

11/17/2019, 8:41 AM
Ну конвертить тебе не надо. Достаточно правильно интерпретировать или вовсе сделать expecr/actual
l

lewik

11/17/2019, 8:41 AM
ну тогда я не получу все эти copy
a

altavir

11/17/2019, 8:42 AM
почему? Тебе надо клоны на фронте или на беке?
l

lewik

11/17/2019, 8:42 AM
copy, я опечатался
a

altavir

11/17/2019, 8:42 AM
ну я понял
l

lewik

11/17/2019, 8:43 AM
Ну, вообще можно и без этого. Но как то не привычно будет. А когда мне надо будет что то поменять - пилить копи ручками?
a

altavir

11/17/2019, 8:44 AM
Надо API посмотреть, что берет твой вуй. Может там вообще ничего заменять не надо.
l

lewik

11/17/2019, 8:45 AM
все что в store попадет - обмазывается set get для реактивности. Все внутренности мап и листов будут облеплены этим
a

altavir

11/17/2019, 8:46 AM
Ну так тогда он сам в любом случае конвертит, без этого не обойтись
l

lewik

11/17/2019, 8:47 AM
Память сильно растет и сам сайт тормозит. Приходится совать массивы и {} вместо мап
a

altavir

11/17/2019, 8:48 AM
Надо посмотреть, как именно он это делает. Если бы у тебя не было котлина, как бы ты это делал?
l

lewik

11/17/2019, 8:48 AM
просто совал бы [] и {}
a

altavir

11/17/2019, 8:49 AM
то есть вместо мапы был бы js-ный объект. А кто мешает его и генерить при десериализации?
l

lewik

11/17/2019, 8:50 AM
никто. Но если я хочу котлин на фронте - мне что, сериализовывать-десериализовывать при передаче в state?)
a

altavir

11/17/2019, 8:50 AM
Нет. Откуда ты мапу получаешь?
l

lewik

11/17/2019, 8:51 AM
Из логики в котлине на фронте. Там удобно Map и List
a

altavir

11/17/2019, 8:52 AM
а. Тут куча вариантов. Во-первых можно обвязать dynamic такими расширениями, чтобы он вел себя как мапа снаружи. Можно даже сделать инлайн с динамиком внутри, который будет реализовывать интерфейс мапы (если это уже не сделано).
Я делал такую обвязку для своих древесных структур, тоже для перформанса. Но для мапы еще проще
Если хочешь, можем с тобой по быстрому замутить либу со всякими DynamicMap, DynamicList
6 Views