Size: a a a

Kotlin Community

2019 November 01

DS

Dmitry Sapronov in Kotlin Community
По теме. Я правильно понимаю, что в экосистеме котлин (нейтив) нет какого-либо рест сервера и надо юзать существующие на сях, плюсах и прочем?
источник

AL

Alexander Levin in Kotlin Community
Dmitry Sapronov
По теме. Я правильно понимаю, что в экосистеме котлин (нейтив) нет какого-либо рест сервера и надо юзать существующие на сях, плюсах и прочем?
Насколько знаю, с нуля написанных вроде нету.

Ktor всё собирается не только клиент, но и сервер сделать (https://github.com/ktorio/ktor/issues/571). Ну и находится такой враппер: https://github.com/KwangIO/kwang

Так что пока скорее да. В своих примерах JB пока с нуля собирает :)
источник

AO

Alexey Otts in Kotlin Community
Dmitry Sapronov
Ну js не разрабатывался как фуллстек. Его просто начали так использовать. А про джавку забыл совсем. Да
Изначально скорее всего ничего не разрабатывалось так, однако мы имеем то что имеем, туда же haskell , idris, scala, dart ну и куча нативных языков которые умеют компилироваться во всё подряд
источник

DS

Dmitry Sapronov in Kotlin Community
Alexander Levin
Насколько знаю, с нуля написанных вроде нету.

Ktor всё собирается не только клиент, но и сервер сделать (https://github.com/ktorio/ktor/issues/571). Ну и находится такой враппер: https://github.com/KwangIO/kwang

Так что пока скорее да. В своих примерах JB пока с нуля собирает :)
Пасиба!
источник

I

Igor in Kotlin Community
Ребят есть такой вопрос, часто вижу в примерах и коде что-то вроде               fun <T> getFlow(): Flow<T> фактически функция идет без ключевого слова suspend, но логично что поток может генерироваться запросами или набором запросов, то есть это баг или все-таки есть нюансы?
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
Тогда бы на фронте была идиллия да и на бекенде было бы ровно.

Спрашиваю тут, потому что вряд-ли нодщики. Много писали на котлине. А наоборот - вполне возможно.
Ну если ты спросишь Антона, он тебе скажет, что весь бэк должен быть на ноде, поскольку она круче всех. С ним многие не согласятся. TS не хуже котлина, вполне себе нормальный язык. Для фронта нормально, но на бэке он будет сильно хреновее, чем JVM экосистема по многим показателям.
источник

LS

Lev Shagalov in Kotlin Community
Alexander Nozik
Ну если ты спросишь Антона, он тебе скажет, что весь бэк должен быть на ноде, поскольку она круче всех. С ним многие не согласятся. TS не хуже котлина, вполне себе нормальный язык. Для фронта нормально, но на бэке он будет сильно хреновее, чем JVM экосистема по многим показателям.
По каким показателям?
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
По каким показателям?
Тулинг, библиотеки.
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
По каким показателям?
Вообще, я тут занимаюсь схожей с твой задачей. И мне стало очень хорошо, когда я просто отказался от JS фреймворков. Делаю на голом Kotlin-JS и мне сразу хорошо и удобно. Месяц бился над поиском нормальной либы на JS/TS, потом сам написал в 50 строчек и работает на ура.
источник

AK

Anton Korotkikh in Kotlin Community
Alexander Nozik
Ну если ты спросишь Антона, он тебе скажет, что весь бэк должен быть на ноде, поскольку она круче всех. С ним многие не согласятся. TS не хуже котлина, вполне себе нормальный язык. Для фронта нормально, но на бэке он будет сильно хреновее, чем JVM экосистема по многим показателям.
я такого не говорил, каждой задаче свой инструмент, все споры про ноду на беке были в контексте того, что у нас в задаче много различного nio и мало cpu нагрузок и какой-то синхронной блокирующей логики. т.е. мы находимся где-то в области а-ля прокся, сервсиы интеграции или bff
источник

AN

Alexander Nozik in Kotlin Community
Anton Korotkikh
я такого не говорил, каждой задаче свой инструмент, все споры про ноду на беке были в контексте того, что у нас в задаче много различного nio и мало cpu нагрузок и какой-то синхронной блокирующей логики. т.е. мы находимся где-то в области а-ля прокся, сервсиы интеграции или bff
согласен. Если у вас тонкий бэк - его хоть на питоне можно делать.
источник

AN

Alexander Nozik in Kotlin Community
хотя питон по-моему нио не умеет...
источник

AK

Anton Korotkikh in Kotlin Community
Alexander Nozik
хотя питон по-моему нио не умеет...
asyncio тот же луп, что и у ноды под капотом libuv
источник

AN

Alexander Nozik in Kotlin Community
Anton Korotkikh
asyncio тот же луп, что и у ноды под капотом libuv
🤷‍♂️ наверное
источник

MM

Maxim Motorniy in Kotlin Community
Igor
Ребят есть такой вопрос, часто вижу в примерах и коде что-то вроде               fun <T> getFlow(): Flow<T> фактически функция идет без ключевого слова suspend, но логично что поток может генерироваться запросами или набором запросов, то есть это баг или все-таки есть нюансы?
Так suspend тут и не нужен. А вот вызов .collect на Flow уже требует корутин скоуп.
источник

I

Igor in Kotlin Community
Maxim Motorniy
Так suspend тут и не нужен. А вот вызов .collect на Flow уже требует корутин скоуп.
ок, спасибо, надо осмыслить
источник

AM

Andrew Mikhaylov in Kotlin Community
Igor
ок, спасибо, надо осмыслить
Ваша функция возвращает ленивый поток данных и скорее всего делает это очень быстро. "Тяжёлая" работа происходит уже "внутри" самого флоу при вытягивании элементов из него.
источник

KZ

Konstantin Zolotov in Kotlin Community
Igor
ок, спасибо, надо осмыслить
Фактически создание самого flow — легкая операция. Если сильно упрощенно, то это всего лишь создание некоторого количества объектов, там нечего саспендить. А вот когда на него подпишутся, то будут выполняться операторы flow и там уже неизвестно что будет.
источник

AM

Andrew Mikhaylov in Kotlin Community
Грубо говоря, возврат флоу -- это пальцем показать, откуда надо ящики таскать, а уже непосредственно ящики таскать придётся с перекурами 😄
источник

I

Igor in Kotlin Community
Andrew Mikhaylov
Грубо говоря, возврат флоу -- это пальцем показать, откуда надо ящики таскать, а уже непосредственно ящики таскать придётся с перекурами 😄
то есть фактически саспенд должен идти с терминальными операциями верно?
источник