Fork me on GitHub
#clojure-russia
<
2015-06-11
>
zharinov05:06:51

а ведь и правда утомляет учить языки по книгам o'reilly

zharinov05:06:07

особенно главы про типы данных)

niquola06:06:00

Но в книгах сила, брат ;)

niquola06:06:03

У нас все кто прочитал книги по clojure, освоили его на порядок легче, чем те кто не читал.

rm07:06:35

привет

rm07:06:33

clojure programming (Emeric C, ..., 2012) -- нормальная книжка? Начало хорошее вроде

ul07:06:47

норм, потом Joy Of Clojure, потом Clojure Applied — и багаж будет приличный

ul08:06:45

но вместо Clojure Programming можно и вышеупомянутый http://kimh.github.io/clojure-by-example/ , а потом пописать немного, и браться за JoC

ul08:06:18

хотя у каждого по своему работает

invizz08:06:48

в Clojure Programming более глубокое погружение в язык

invizz08:06:31

сейчас ее читаю - очень нравиться)

shiroginne08:06:21

что насчет этой книги - Programming Clojure by Stuart Halloway , Aaron Bedra ?

kharus09:06:43

А что насчёт этой книги?

a.espolov09:06:34

кто тут волокет в cljs?)

ul09:06:21

@a.espolov: смотря что надо)

a.espolov09:06:34

думаю понятно с тем, что используя om/om-tools/sablono рендер хтмл происходит припомощи макросов. а они ни разу не доступны в рантайме.

ul09:06:08

нет, это нет так

ul09:06:14

рендерит реакт в рантайме

a.espolov09:06:35

да как не так?

a.espolov09:06:36

когда так

ul09:06:52

sablono с помощью макросов преобразуем hiccup в вызов конструкторов реакта

a.espolov09:06:00

вот точно также om.dom

a.espolov09:06:06

и om-tools.dom

ul09:06:47

макросы используются, но не для рендеринга хтмл

ul09:06:56

но это ладно, я так понял не в этом суть вопроса

a.espolov09:06:01

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

a.espolov09:06:38

решил просто запилил карту соответствий тегов с функциями из om-tools.dom

a.espolov09:06:48

осталось правильно структуру обработать

ul09:06:21

а нужно обязательно в ом интегрировать, или просто hiccup на клиенте в html отрендерить?

a.espolov09:06:58

необязательно

ul09:06:18

посмотри вот это https://github.com/jeluard/hipo/

a.espolov09:06:49

когда я искал hiccups только нашел

ul09:06:39

это свежее и как-то плохо гуглится, я просто отследил анонс в google groups и запомнил

a.espolov09:06:02

спасиб мен)

a.espolov09:06:06

ща затестю

ul09:06:15

happy hacking 😉

a.espolov09:06:53

чет не работает hipo( и документация не соответствует версии(

ul09:06:27

а что именно не работает?

a.espolov09:06:23

подрубаю к проекту [hipo.core :as hipo]

a.espolov09:06:33

в консоли браузера получаю Uncaught Error: Undefined nameToPath for hipo.hiccup

a.espolov09:06:13

hipo/create-static и такого нет в исходниках(

a.espolov09:06:59

и с hipo/create-static так же

ul09:06:09

сейчас посмотрю

delaguardo09:06:57

есть в исходниках - макрос в core.clj

a.espolov09:06:45

ясно( значит на макросах работает(

ul09:06:04

без паники

ul09:06:17

макрос здесь всего лишь оборачивает функцию

ul09:06:54

сейчас выясню, можно ли в рантайме всё делать

ul10:06:02

[hipo.interpreter :as hi]
...
(js/console.log (hi/create [:div "Hi!"]))

a.espolov10:06:06

@ul а когда ты говорил про интеграцию с om, ты имел ввиду нужно ли будет рендерить ом'мом полученный html?

a.espolov10:06:13

спасиб, что потратил время)

ul10:06:54

да, потому что там немного другая песня, Ому надо кормить виртуальный дом, а не реальный

a.espolov10:06:40

блин сорри

a.espolov10:06:45

но мне то именно это нужно

a.espolov10:06:47

так вот

a.espolov10:06:06

есть карта соответствий тегов и функций рендерящих их

ul10:06:06

можно, конечно, всегда использовать dangerouslySetInnerHTML но это не рекомендуется

a.espolov10:06:48

загвоздка у меня как я понял, я не могу верно рекурсивно заэплаить функции

ul10:06:16

у sablono тоже есть интерпретатор, должен работать в рантайме и у него есть defelem, теоретически можно неизвестным тегам поставить в соотсветсвие свои компоненты

ul10:06:09

это как вариант

ul10:06:19

хотя я могу ошибаться насчёт назначения defelem, я думаю можно спросить у автора sablono

ul10:06:34

нет, defelem не про то

a.espolov10:06:56

обидно, что такая нотация записи параметров функции

a.espolov10:06:56

[[tag attrs & content]]

ul10:06:04

но можно попробовать поиграть с IInterpreter

a.espolov10:06:11

входящую строку тоже деструктуризирует

a.espolov10:06:41

мен у меня можно сказать уже есть годное решение, только не которые теги пропускает, на данные момент паренты например

shinych12:06:54

Всем привет! Пишу мини-игрушку для мобилок на reagent/cljs/phonegap. Модельку и поведение удалось захакать за пол-дня, сейчас пытаюсь подтянуть это к требуемому дизайну и становится немного страшно simple_smile Вот, например, есть компонент - цифра, которую юзер инкрементит (свайпом наверх) или декрементит (свайпом вниз). В нынешней версии тупо висят две кнопки, которые это делают - меняют внутренний атом компонента, и он перерисовывается. Но чтобы сделать так, как нужно, не хватает умения. А именно: 1) как правильно подвесить обработчик жеста swipe на компонент? видел в jquerymobile что-то такое есть, стоит ли туда смотреть? 2) как лучше сделать красивый визуальный переход из одного состояния в другое? Поменяв значение атома, компонент полностью перерисовывается, мгновенно. Хочется же как-то уметь насаживать анимацию на транзишен. Есть мысли? simple_smile Спс

ul12:06:52

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

ul12:06:24

Ещё для первого пункта можно использовать http://hammerjs.github.io/ его, кажется, кто-то уже упаковал на cljsjs

a.espolov13:06:30

если есть возможность не использовать jquery, то лучше его не юзать. И тем более мобайл, чуть больше логики в приложении это все начинает тупить

shinych13:06:22

спасибо! будем смотреть

shinych13:06:30

Надо бы про реакт подробнее прочитать, оно конечно бодренько получается реагентом или омом что-то живое сделать, но без понимания, как оно внутри устроено, сложновато )

ul13:06:49

hammerjs как раз очень легковесный

ul13:06:02

должен подойти для мобайла

a.espolov14:06:29

я всегда юзал animate.css и в нужный мне момент времени выставлял нужный класс хтмл тегу

a.espolov14:06:14

в доке по ReactCSSTransitionGroup написано, что анимация будет оптимизированной

az17:06:05

кто-нибудь палочкой тыкал?