This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-05-30
Channels
- # admin-announcements (4)
- # alda (49)
- # beginners (42)
- # boot (55)
- # cider (33)
- # cljs-dev (4)
- # cljsjs (3)
- # cljsrn (152)
- # clojure (92)
- # clojure-belgium (3)
- # clojure-brasil (18)
- # clojure-dusseldorf (32)
- # clojure-france (2)
- # clojure-greece (10)
- # clojure-japan (1)
- # clojure-mexico (1)
- # clojure-russia (50)
- # clojure-sg (1)
- # clojure-spain (1)
- # clojure-spec (12)
- # clojurescript (262)
- # core-async (2)
- # cursive (7)
- # datomic (79)
- # emacs (16)
- # euroclojure (2)
- # events (1)
- # hoplon (260)
- # jobs (2)
- # jobs-discuss (1)
- # keechma (7)
- # luminus (8)
- # mount (7)
- # off-topic (3)
- # om (101)
- # onyx (33)
- # re-frame (34)
- # reagent (10)
- # slack-help (4)
@flyboarder: hoplon doesn't itself
so if I wanted to use jquery mobile, do i just need to include the lib?
the demo there seems to use regular jquery when accessing the touch events
that will have to be a tomorrow thing 😛, what namespace changes are happening for on!/do!
i saw that circulating here earlier
oh ok, so the implementations are moving
so we can move the existing implementations, which are based on jquery, to a special namespace
then whichever one of those namespaces you require in your program will be the one that provides the implementation for the multimethod
can you override the implementations? like :click
for example?
ok im thinking of making click call tap on mobile so I dont need to implement both everywhere
but ill look into that more tomorrow i think
thats interesting tho, having multiple implementations of attributes
micha: did you just say that hoplon uses the virtual DOM underneath to do simpel things?
dm3: I'm listening to it right now; with a very open mind - however, I must admit I'm not convinced
it uses jquery to do simple things like event handlers, reliably set css, attributes, etc
I'm coming from a react/redux workflow, I tried reagent, reframe/reagent, and rum, now I'm looking into hoplon ; I'm still not sure what the later brings to the table compared to the aforementioned @dm3
for me personally - sane javscript integration through absence of React and simple state management through plain vars in namespaces
todomvc with a million todo items probably not good performance, but that's a useless application even with good "dom rendering" performance
the bottleneck is interaction with servers and working around the limited memory available and nonexistent local caching options
One thing that I think works smoother in Re-frame land is hot reloading. Re-frame forces you to keep most of the state in one map and :on-jsreload
rerenders pretty much the same state you had. In Hoplon you have a lot of state scoped to the defelems
that gets thrashed on reload.
in react we use flux like pattern to manage complex state. a predictable state container, the only way to change the state of the app is to emit an action that transform the state tree
i.e. the javelin cell reference type and the hoplon linkage between cells and element properties
you can achieve a better separation of concerns when you don't have layers of framework that introduce coupling
I don't think that reflux updaters need to be be a pure; and I believe that having pure fns make your UI code easier to reason about
i was under the impression that updates could happen more than once, and that the order they happen in is not guaranteed
and that would of course make it extremely difficult to reason about any side effects performed in there
the separation of concerns here makes it very easy to understand the side effects and statefulness there
there is very little code there, and it avoids the common mistakes with something as simple as a debouncing mechanism
it'd be nice to have an actual graph comparing hoplon to react kind of like http://elm-lang.org/blog/blazing-fast-html
micha: if I understand correctly, javelin is a frp framework just like rxjs. However it's implement in clojurescript?
maybe your UI don't require you too, and are not fully SPA, I haven't worked with SPAs for long before I reached performance issues
right but my point was in regard to you saying that the bottelneck in any SPA is not in the dom
we used to have a pretty large SPA on http://hoplon.io, with all the docs etc
oh one more question. is it possible to have custom made middlewares like reframe or redux?
micha: I understand. I still maintain that it wouldn't remove anything to hoplon to just compare the speed to other frameworks without optimization
the benchmarks are imho mostly foolish ones that are testing bizarre artificial situations
our actual game logic just updated the paths in the svg rtansforms now and then as the user interacts with the game and the internal state of the application changes
so talking about how many dom elements you can craete per second does not apply to hoplon
if you can't separate those orthogonal concerns then yes, everything in the world is an important, relevant metric
so in theory it could be faster...You should market it as such then. It might sounds odd but some people care about those things - react is not actually that much faster than other libs, they just capitalized on that. Sometimes marketing a good lib is as important as working on the lib IMO
and how do those people make money? through marketing for the most case - how do you reach them? probably through marketing too...marketing is underrated in software development. Bad libs are more popular than better ones sometimes just because of better marketing
in the past we had that just so you'd have a more or less complete environment out of the box
then we realized we were like 75% of the way toward implementing a complete build tool in there
I should probably head back to work. I'll hit you up tonight while trying to grok hoplon
oh I took a look at om, and it felt like rocket science especially for someone new to clojure/clojurescript
I liked reagent and reframe, played with it for about a week but I didn't like the attitude of the creator
@raywillig made that one
the biggest hurdle for me when coming from Re-Frame/Reagent was not passing things down the "component tree", but rather rethinking the UI in terms of separate namespaces holding pieces of state
where can i learn about all those concepts: lenses, cursors, action signals, dependency graph...
in Hoplon you can have state in the namespace, and you pass in Javelin cells instead of callbacks