This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-12-03
Channels
I want to build a simple Clojure server-side Rest API for my re-frame interface. Currently I am using Elixir+Phoneix on server side. I never used Clojure before. Do you have any framework suggestion to start build serverside for re-frame UI.
I have noticed that the Clojure community doesn’t like frameworks but they value smaller libraries that can be combined. If your server is simple RESTful API you can use plain Ring
There's a lot of incidental knowledge about how to plug things together that can be hard to get though. They're not precisely frameworks (more like React boilerplates) but http://www.luminusweb.net and https://practicalli.github.io/clojurescript/setup/chestnut.html are both good for getting started.
If I were to do it all over again, I'd probably pick those two setups apart, then go minimal with ring + integrant (and integrant.repl) + reitit for routing.
https://github.com/oliyh/pedestal-api and https://github.com/oliyh/martian/tree/master/re-frame are the links, there are examples in the readme
Oh, I hadn't even thought that video would get lost, did they delete their YouTube account too?
If it was on YouTube, I can't remember. But in any case the slides are here: http://oliyh.github.io/martian/clojurex-bytes/#/
I have been using https://github.com/metosin/compojure-api
The closest thing I’m aware of that takes a slightly more “fullstack framework” approach is #fulcro. Though with Fulcro, you’ll have some unusual things to learn about (such as a normalized graph database on the browser side). On the backend, #pathom is typically used, but Pathom isn’t married to Fulcro as such. You could potentially take it and adapt it for your use. When used with Fulcro, the plumbing is basically set up for you, so there might be some extra steps involved there (you communicate with the backend using queries encoded in Transit).
This is a great intro to what Pathom does: https://www.youtube.com/watch?v=yyVKf2U8YVg
I have been using domino-clj
as a server side state machine. Has worked well for helping me organize the flow of data necessary to service various requests.