Fork me on GitHub
#beginners
<
2018-05-23
>
johnj02:05:02

@seancorfield yeah, general, http client, json, jdbc, etc..

seancorfield04:05:36

@lockdown- clj-http, cheshire (json), org.clojure/java.jdbc...

seancorfield04:05:58

For json there's a Contrib library too, org.clojure/data.json which is fine for lightweight JSON stuff but cheshire is the Rolls-Royce of JSON libraries 🙂

seancorfield04:05:18

And, to some extent, clj-http and cheshire are far more than wrappers.

seancorfield04:05:33

These are all the Contrib libraries https://github.com/clojure which are not exactly a "standard library" but they're all covered by the Clojure Contributors' Agreement and JIRA process.

seancorfield04:05:19

Some are less well-maintained than others, and there are some community libraries (like cheshire) that far outstrip their Contrib sibling.

seancorfield04:05:30

You might also find https://crossclj.info/ useful since it lists the most referenced projects.

seancorfield04:05:45

Although that lists clj-time as one of the top libraries -- wrapping Joda Time -- but if you're on Java 8 or later, I'd strongly recommend using Java Time instead, either natively or via clojure.java-time (it takes a while for the community to change direction on stuff like this).

noisesmith16:05:41

ring as an abstraction over http servers has to be pretty pervasive - probably has more external software built on top of it than any other api wrapper, and is a good example of when wrapping is a good idea (where other wrappers, including clj-time, I'd argue exist for aesthetic reasons (people think interop looks ugly) as much as usefulness)

pez19:05:07

Interop is a bit of a nuisance when it comes to sharing code between JavaScript and Java too.

noisesmith20:05:37

right, but clj-time (and other wrappers I am thinking of) don't even try to do something like that

noisesmith20:05:50

I'm not saying avoiding interop is bad, just that it isn't enough on its own to justify a library

pez20:05:11

Agreed. There is a cljs-time that makes it somewhat worth it, but it doesn’t go far enough so I end up with conditional readers in too many places anyway.

danygiguere23:05:21

I'm trying to learn Clojure and follow these instructions: https://learnxinyminutes.com/docs/compojure/. I'm stuck at step 4, I get :