
Daniel
23.08.2017
06:01:28

Aleksei
23.08.2017
06:02:46
вот и прошла перепись людей использующих скалу на работе =)

Aleksey
23.08.2017
06:03:27

Aleksei
23.08.2017
06:03:49
неа. бэкэнд один гольный.

Google

Aleksey
23.08.2017
06:03:59

Aleksei
23.08.2017
06:04:45
бывает ) что ж поделаешь то

Oleg
23.08.2017
06:05:33
Для моих неличных, фронтенд на на js вообще не рассматривается
А ещё мне не нравится идея не иметь web-api

Aleksey
23.08.2017
06:14:34
А ещё мне не нравится идея не иметь web-api
Вот это кстати интересная тема. Весь мой опыт показывает что REST для морды != публичный API. Всегда приходится делать его отдельно сбоку, потому что в REST для морды забивается тысяча костылей. У тебя не так?
То есть в случае с Королевым морда сама по себе а REST, который юзает те же фреймворк-агностик модели, сам по себе.

Oleg
23.08.2017
06:24:35

Aleksey
23.08.2017
06:30:36

P.
23.08.2017
06:36:51
Как выразить count(distinct ...) через slick?
https://gist.github.com/htch/1bb8cab8b41dbd782db167340a490018

Google

P.
23.08.2017
06:36:58
Моя попытка

Dmitry
23.08.2017
06:39:04
Никогда не понимал зачем такие запросы пытаться написать на slick
Какой выйгрыш перед плейном?

P.
23.08.2017
06:39:49
Да вроде бы не такой сложный запрос
Выигрыш в том, что в жизни квери чуть сложнее (обрезал для примера) и интерполировать все переменные внутрь SQL не хочется

Aleksei
23.08.2017
06:41:01
блин а как рефлексией передавать аргументом конструктора коллекцию? там наверняка надо подсовывать какие то ява типы, а не скаловские

Oleg
23.08.2017
06:53:48
Т.е. если бы Королёв распространялся каким-нибудь гнойным гуглом, как gwt, я мог бы понять, что индусы по всей планете наплодили компонент на все случаи жизни и придумали всевозможные воркэраунды. Но для такой частной либы мне хотелось бы, чтобы я мог мог засунуть его куда-угодно, пока он решает свою небольшую часть задачи хорошо и не составляет проблем со взаимодействием с прочей инфраструктурой
Ну это так. На уровне ощущений, я даже ридми королёва плохо изучил


Aleksei
23.08.2017
06:58:24
просто у меня один из этих вараргов Seq

Oleg
23.08.2017
06:59:08
Тебе нужно seq передать как vararg?
Или передать seq в качестве одного из параметров?

Aleksei
23.08.2017
06:59:36
второе

Oleg
23.08.2017
06:59:56
Ну просто передаёшь его

Aleksei
23.08.2017
07:00:25
логично
спасибо
просто конструктор ждет scala.collection.Seq<java.lang.String>
что логично

Google

Aleksei
23.08.2017
07:02:41
но у нас же самая классная стд библиотека и после создания непустого Seq я получаю тип public final class scala.collection.immutable.$colon$colon<B>

Aleksey
23.08.2017
07:07:03
Ты вот привел в пример сервисворкеры. Можно еще привести в пример webgl. Это не про королев.

Nick
23.08.2017
07:13:59

Stanislav
23.08.2017
07:34:09


Mikhail
23.08.2017
07:38:48
Дело не в размере, а в идее. Королев это не протокол работы с клиентом с сервера, как эрланговский n2o/нитроген. Королев это декларативное описание UI и безопасное управление стейтом. Королев нацелен на то что бы убрать с клиента все что только возможно. То, что не возможно убрать (на пример карты какие-нибудь), надо обернуть в веб-компоненты.
вай-вай, а где там декларативное описание UI в королеве? ... Даже если забыть про все неудобства такой концепции, то как быть с ситуацией: Есть 2 проекта А и Б. Королев подходит для проекта А, а "Другой набор тулз(который тоже вполне себе удобен и не вызывает проблем)" подходит для проекта А и Б одновременно. Как думаешь насколько вероятно, что человек все же будет использовать в одном королева, а в другом другое? Может по первой и попробует, но вероятность того, что на всех последующих он перейдет на единый набор тулз - далеко за 90%. Людям не захочется распыляться и помнить про костыли и там и тут. И если у них будет возможность делать все на чем-то одном - они так и будут поступать)


Nick
23.08.2017
07:41:25
Аль за gwt

Aleksey
23.08.2017
07:43:37

Mikhail
23.08.2017
07:43:55
Ты за js сейчас сказал?)
за Go, который можно транслировать в Котлин, который можно транслировать в Жиэс. Или это только в моих влажных мечтах?

Nick
23.08.2017
07:44:29

.
23.08.2017
07:45:10
а что с жс не так?

Nick
23.08.2017
07:45:31
И кстати даже в жс не так
Нодежс и тот что в браузере работает по разному всеж. Поэтому костыли приходится помнить и там и там)

.
23.08.2017
07:47:30

Grigory
23.08.2017
07:47:40
Жс из ллвм можн генерить
Вот это киллерфича

Mikhail
23.08.2017
07:47:56
> вай-вай, а где там декларативное описание UI в королеве?
эээ.
Оно самое. Я не заметил нигде в королеве декларативного описания гуев.
case Authorized(_, User(name, friends)) =>
'body(
'div(s"Your name is $name. This is your frinds"),
'ul(
// Look at that. You just map data to view
friends map { friend =>
'li(friend)
}
)
)
это не декларативно. это обычной описание интерфейса. хоть html и можно отнести к декларативному (но даже с такой позиции в Королеве ничего нового, просто дслчик, при чем с недекларативными вставками), все же к декларативному можно скорее отнести такие подходы как в ExtJS

Nick
23.08.2017
07:48:11


Aleksey
23.08.2017
07:48:39
вай-вай, а где там декларативное описание UI в королеве? ... Даже если забыть про все неудобства такой концепции, то как быть с ситуацией: Есть 2 проекта А и Б. Королев подходит для проекта А, а "Другой набор тулз(который тоже вполне себе удобен и не вызывает проблем)" подходит для проекта А и Б одновременно. Как думаешь насколько вероятно, что человек все же будет использовать в одном королева, а в другом другое? Может по первой и попробует, но вероятность того, что на всех последующих он перейдет на единый набор тулз - далеко за 90%. Людям не захочется распыляться и помнить про костыли и там и тут. И если у них будет возможность делать все на чем-то одном - они так и будут поступать)
Ну вообще если подходить с точки зрения прагматики, то для каждой задачи свой инструмент. Если у тебя много сервисов, база данных, очередь и хочется пуш на клиент, то Королев позволит тебе сделать задачу быстрее всего. Если тебе нужно что бы клиент был супер-быстрый и мало весил то тоже Королев. Если тебе нужен оффлайн, и что бы муха за мышкой летала, свистела и пердела, то Королев не подходит.

Google

Mikhail
23.08.2017
07:50:10

Grigory
23.08.2017
07:50:19
ну конечно, не без боли

Aleksey
23.08.2017
07:52:13
Но ваадин не дает легковестности (тяжелые компоненты написаны на js и грузятся на клиент). И декларативность там ограничена первичным описанием лэйаута. Изменения в UI делаются императивно.


Nick
23.08.2017
07:55:22
Pure gwt тоже декларативный)

Aleksey
23.08.2017
07:55:44

Admin
ERROR: S client not available

Nick
23.08.2017
07:56:08

Aleksey
23.08.2017
07:56:33

Mikhail
23.08.2017
07:58:02


Aleksey
23.08.2017
07:58:09
Ракт+Редакс декларативный. Королев декларативный. А MXML/XAML/GWT/Vaadin поддерживают декларативность очень органиченно, подобно браузерному DOM. В случае браузерного DOM, HTML является декларативным, но работа с DOM является императивной

Mikhail
23.08.2017
07:58:17

Aleksey
23.08.2017
07:58:43

Nick
23.08.2017
07:59:41
/newpoll@PollBot

PollBot
23.08.2017
07:59:42

Mikhail
23.08.2017
08:00:17

Aleksey
23.08.2017
08:00:25
Вот если бы там было что-то типа
'ul('id /= "myUl",
friends foreach { friend =>
getElement("myUI").append('li(friend))
}
)
Тогда другое дело

Google

Nick
23.08.2017
08:00:46
Реакт декларативный? Там ж js прям в jsx херачат)

Alexey
23.08.2017
08:01:13

Mikhail
23.08.2017
08:01:26

Nick
23.08.2017
08:01:34
А ну ок

.
23.08.2017
08:01:37

Nick
23.08.2017
08:01:55

Aleksey
23.08.2017
08:02:18

Alexey
23.08.2017
08:02:22
{this.onChange} считается за херачат в jsx?

.
23.08.2017
08:02:31
Поверь, херачат
Ну я видел, но в нормальной практике этого не делают. Есть HOC обёртка и функциональные тупые компоненты.

Aleksey
23.08.2017
08:03:21
@odomontois Помоги мне. Ты имеешь объяснять. Михаил не понимает.

Nick
23.08.2017
08:03:50
Я бы сказал что функция рендер обычно возвращает чтот декларативное) но остальное хз

Aleksey
23.08.2017
08:04:47
@rudogma в общем по твоей логике хаскел это императивнй ЯП, потому что там можно сделать мап и там есть ду-нотация.

.
23.08.2017
08:05:05

Aleksey
23.08.2017
08:06:26
Nick как бы там ни было работа с UI в реакте декларативная. Ты не можешь импертаивно узакать какие операции надо произвести над DOM. Есдинственный способ изменить DOM в реакте это сгененить новое отображение.

Mikhail
23.08.2017
08:06:29
Цикл мап, ок. Думаю мы говорим на разных языках.
Вот смотри. Взял первый попавшийся пример из вуе.
<div id="app-4">
<ol>
<li v-for="todo in todos">
{{ todo.text }}
</li>
</ol>
</div>
Здесь попытка запихать императивный цикл в декларативную обертку. Пусть и выглядит декларативно, но все та же императивщина. Только теперь выглядит как кусок говна.
А теперь вспомни про Flex (я знаю, что ты про него знаешь не по наслышке). Вспомни как там решались эти вопросы. Помнишь?
<DataGroup dataProvider="{$data}"><Component name="itemRenderer">....</Component><DataGroup>
Тут уже никакой императивщины)

Nick
23.08.2017
08:06:33

Alexey
23.08.2017
08:07:00

Mikhail
23.08.2017
08:07:01

Aleksey
23.08.2017
08:07:25