Fork me on GitHub
#clojurescript
<
2020-08-15
>
axl31602:08:58

Hi ! I'm working on a new web application and want to build it with reframe. Have used re-com with reframe before but I know it's not optimized for mobile.. any suggestions on what tool stack I can use? CSS frameworks like bootstrap, routing, logging/authentication etc?

p-himik03:08:34

You can use anything, interop with JS is pretty straightforward. I doubt the specifics are really worth it because there are as many opinions as there are people.

p-himik03:08:53

(sometimes it's even N(people) * N(projects))

axl31604:08:37

Yea I guess that's where I'm struggling.. I'm not really great with vanilla JS and that's why gravitated to cljs/reframe.. and I prefer to use pre existing components to build my site rather than from scratch in the interest of time..

p-himik04:08:47

I didn't say anything about building something from scratch. There's plenty of JS libraries out there, like Material UI or Ant Design or Semantic UI, and so on. With interop, you don't really have to deal with vanilla JS apart from occasionally having to convert some data.

p-himik04:08:08

With that being said, if you decide to go that route, definitely do go through Reagent examples in their repo.

Kasey Speakman10:08:57

CSS framework, I use Semantic UI, CSS-only distribution. Good design sense and thought out combinations on the whole. A similar alternative is Bulma.

pinkfrog03:08:01

@U2FRKM4TW When inter-op with js, a very sad reality is all auto-completion features vanishes.

p-himik05:08:08

@UGC0NEP4Y There's no autocompletion either way if you're using Hiccup. And if you're not, you can always just create a macro that emits the right code but that would get autocompletion.

pinkfrog05:08:32

@U2FRKM4TW i was referring to calling a function from an external lib, e.g., from npm. Invoking such a function always requires me to open the docs, and type its fullname. Such a process is a little bit laborious. I don’t know people bare with that.

p-himik05:08:35

Ah, right. The answer is the same though - if you use a function often and really need the autocompletion feature, just write a macro with all the parameters and the documentation. Although, the more often you use something, the better you know it, so the less the need for autocompletion. But it would still be useful in teams. Also, sometimes it's easier to just peek inside the implementation of the function in node_modules - usually it has the documentation as well. In any case, that's the problem with tooling and not with the interop itself. I think the maintainer of Cursive has said that he wants to fix that. Maybe there's something already done about it in Cider - no idea here.

Sam Ritchie19:08:12

hey all.. are greek characters allowed as cljs function names?

Sam Ritchie19:08:21

/Users/samritchie/code/clj/sicmutils/target/main/sicmutils/calculus/derivative.js:1014
sicmutils.calculus.derivative.∂ = (function sicmutils$calculus$derivative$∂(var_args){


SyntaxError: Invalid or unexpected token
    at wrapSafe (internal/modules/cjs/loader.js:1054:16)

Sam Ritchie19:08:23

I'm seeing this

Sam Ritchie19:08:16

I think this is allowed in JS, so perhaps this is a closure compiler issue?

Sam Ritchie19:08:59

oh, might be node...

Sam Ritchie19:08:17

well, of course, the partial derivative symbol is no good!