hoplon

The :hoplon: ClojureScript Web Framework - http://hoplon.io/
Rohan Nicholls 2019-10-22T16:46:06.027500Z

Good evening (in europe). I have been looking for a frontend to use to put together a few applications. Re-frame was my first idea, and then I found hoplon. I’m intrigued with its approach, but am wondering about how actively it is being maintained. Have watched a couple of talks now from the creators, but they are a few years old now. I also see that it seems to rely on Jquery? (!?). Any ideas would be great, and is there anything about using it to build something substantial, where you are also needing to interact with components from libraries.

2019-10-22T16:55:24.028700Z

@rohan.nicholls welcome, it is actively maintained, in the sense that when the maintainer (@flyboarder) becomes aware of issues he usually fixes them quickly. the dependency on jquery is also now optional

Rohan Nicholls 2019-10-22T16:56:09.029900Z

Okay, brilliant, thanks. Have you been using Hoplon? How have you found it?

2019-10-22T16:56:23.030400Z

i would say that as a creator, after using various other libraries and frameworks professionally since we made hoplon, i also think it’s still a pretty good idea. and there’s not anything out there that i’ve seen that’s dramatically technically better

2019-10-22T16:56:39.030700Z

despite ourselves we landed on a good set of tradeoffs i think

Rohan Nicholls 2019-10-22T16:57:07.031200Z

Okay, so what have you been using professionally?

Rohan Nicholls 2019-10-22T17:01:28.033Z

I’m stuck with Angular at the moment, and while it seems to have an answer for just about everything it makes it very baroque.

Rohan Nicholls 2019-10-22T17:08:12.034600Z

@alandipert thanks 🙏 I’ll give it a go. Did you ever use it for production products?

2019-10-22T17:19:24.035500Z

since hoplon i have spent a lot more time with react and to an extent with Vue, in the context of integrating them with the R ecosystem (not making apps with them the way i did with hoplon, though)

2019-10-22T17:20:02.036100Z

we did use hoplon for a production product, the adzerk web UI, which is still going strong i believe

2019-10-22T18:01:46.038Z

@rohan.nicholls I did my share of hoplon apps and I think is as good as it gets for spas. Way better than angular for what is worth.

flyboarder 2019-10-22T18:01:57.038400Z

@rohan.nicholls I use hoplon daily, we build many production apps using hoplon as the front end, it’s wonderful IMO

2019-10-22T18:03:06.039600Z

I also liked that it used jquery, it was/is a very pragmatic choice and gave us access to lots of plugins ready to use. But there are alternatives now if you don't like jquery.

flyboarder 2019-10-22T18:05:27.040500Z

The best thing about hoplon is how little it actually does, and how much you can accomplish with that

2019-10-22T18:14:42.042200Z

I got into it lately because of this recent talk by Rich Harris https://www.youtube.com/watch?v=AdNJ3fydeao. All the arguments sounded really familiar, then I remembered the hoplon talk from years ago (https://www.youtube.com/watch?v=wVXjExRiFy0).

2019-10-22T18:15:45.043300Z

Svelte is interesting, but because it’s javascript, it has custom template syntax and whatnot. Also, I think hoplon solves the reactivity more elegantly with javelin cells.

2019-10-22T18:35:07.043800Z

we never had the presentation or slide skills to make spreadsheets seem cool, but this guy rocks it

Rohan Nicholls 2019-10-22T19:56:21.050300Z

@everyone thanks for the feedback. @mynomoto I’m not a great fan of angular. I have just managed to back myself into a bit of a corner because I’ve had to use it for the last couple of years professionally, and the thing is soooooo big, that you spend too much time figuring out “How do you do that in Angular” (Actually I have a conspiracy theory that that is a conscious lock-in strategy of the framework designers, and they keep changing things every 6 months). @dmarjenburgh Thanks for the video link I’ll have a look at it. It was the description that intrigued me the most on the front page. I have had a growing respect for the design of spreadsheets, and am curious to try this out. I work a lot with rxjs (another huge bloody library) and it finally clicked that it was a bunch of pipes that you just connect to each other. That part of Angular is pretty cool, much of the rest gets in the way, but spreadsheets have the same idea, except that as Alan and Micha pointed out, the reactivity is on the data, not on the pipe itself, which rxjs does to a certain extent.

Rohan Nicholls 2019-10-22T19:58:00.052200Z

I watched a really interesting presentation from a professor at the Technical University in Delft. And it was all about spreadsheets, and was fascinating, but did address the bad press they have received from programmers. 🙂

Rohan Nicholls 2019-10-22T20:00:46.054400Z

Oh, and yet another question. I want to create a full stack app, so server -> client. What are your recomendations? I was pointed to luminus and have a command with +hoplon ready to go, but is there a better way to get started with hoplon and javelin and it seemed it had a server side compenent.

Rohan Nicholls 2019-10-22T20:01:08.054800Z

In the meantime I’ll get busy with finishing up the videos. 🙂

micha 2019-10-22T20:02:51.055200Z

@rohan.nicholls felienne hermans?

micha 2019-10-22T20:03:36.055600Z

^^ the delft spreadsheet presentation

micha 2019-10-22T20:04:21.056200Z

there are a bunch of presentations on youtube, do you remember which one?

Rohan Nicholls 2019-10-22T20:06:14.056800Z

Yes. I saw a couple of hers.

Rohan Nicholls 2019-10-22T20:09:54.057300Z

It wasn’t this one, but it is also very cool: https://www.youtube.com/watch?v=0CKru5d4GPk A turing machine in a spreadsheet, love it. 🙂

Rohan Nicholls 2019-10-22T20:12:14.057700Z

I think this was the first

Rohan Nicholls 2019-10-22T20:12:15.057900Z

https://www.youtube.com/watch?v=0yKf8TrLUOw

Rohan Nicholls 2019-10-22T20:17:41.063900Z

And she makes so many on the money points. Esp. the fact that we are bad at making software. And realising I’m part of the problem, makes me wonder if there is a solution. For instance, nothing is driving me more nuts than the fact that we have this ridiculous cycle: - Domain expert tries to put their knowledge into documents with help of business analyst - Programmer tries to translate that domain knowledge into a program without a really good understanding of the domain (at least for the first six months or longer that they are working on the problem) - Programmer basically gets it wrong, and it goes back to the domain expert and users they give feedback which means we have returned to step one. But, wouldn’t it be much better to have the domain expert actually create their own system? They know what they need and want and how all the bits and pieces should go together. And yet there is nothing out there that is intuitive enough to allow the domain expert to do this, with the sole exception of the spreadsheet (which is why they run almost all sectors of the business world).

Rohan Nicholls 2019-10-22T20:19:12.064500Z

And where does Castra come into the getting started picture?

2019-10-22T20:49:16.066600Z

something like that was a motivating original goal, but i personally tend to think differently nowadays about what’s desirable

2019-10-22T20:50:17.067600Z

i think it might be that the best we can do as programmers is to become domain experts

micha 2019-10-22T20:50:21.067800Z

man, we are pretty good at making software i think, which is why software is eating the world 🙂

2019-10-22T20:51:03.068900Z

domains i have to learn are frequently described as unintuitive, and yet somehow i am usually able to understand them well enouhg in short enough time for it to be profitable

2019-10-22T20:51:44.069900Z

so over time the domain expert continues to have good ideas i don’t understand, but they expend less effort explaining to me how to make them

2019-10-22T20:52:19.071100Z

i imagine it could work the other way too, with the domain of programming

Rohan Nicholls 2019-10-22T20:54:15.073Z

Hmm, okay, that is a good point. I have been brought into a couple of projects that were disasters before i got there, and remained so, as the scope of repairing the damage was too much, and it was because the domain expert and the programmers could not reach a point where something could be built that would solve the problem. It is the failures, of which there seem to be a lot, that are the worry, and cost so much in money, but also in hope (for the people needing the new system) and trust of software in general.

Rohan Nicholls 2019-10-22T20:54:51.073600Z

Interesting point @alandipert that we need to become the domain experts.

2019-10-22T20:55:11.074Z

i think to make good software relevant in a particular domain, it’s impossible not to

2019-10-22T20:55:35.074500Z

well, i guess it just depends how detailed the jira ticket is 😄

Rohan Nicholls 2019-10-22T20:55:45.074700Z

😄

2019-10-22T20:56:48.076Z

but yeah even if the spreadsheet idea isn’t some shortcut to making programmers out of non-programmers, it’s still a damn high-leverage idea for sure. regardless of what you call yourself

2019-10-22T20:57:22.076400Z

our little hoplon secret

Rohan Nicholls 2019-10-22T20:58:33.076800Z

Yes, I completely agree.

Rohan Nicholls 2019-10-22T20:59:38.077800Z

Btw. I noticed that the hoplon discourse server does not seem to be found by my browser; http://hoplon.discoursehosting.net/

2019-10-22T21:03:27.078500Z

it’s been down for awhile unfortunately

2019-10-22T21:04:10.079100Z

however http://clojureverse.org is alive, and they’re might be people to discuss with there. i haven’t much myself

Rohan Nicholls 2019-10-22T21:29:00.079700Z

Oh no, slack works for me. I just thought I’d mention it.

Rohan Nicholls 2019-10-22T21:29:24.080200Z

@alandipert @micha In your talk you mentioned Castra. Is this still part of the hoplon environment?

Rohan Nicholls 2019-10-22T21:29:32.080500Z

It looked pretty cool.

2019-10-22T21:32:58.081Z

it’s still a thing