5 ms·
I've been writing Clojure almost exclusively for 3 or 4 years and it's just amazing. Core.async, Quil, Om, Chestnut, ClojureScript, ClojureScript + Apache Cord
by coding4all 12y ago
I've been writing Clojure almost exclusively for 3 or 4 years and it's just amazing. Core.async, Quil, Om, Chestnut, ClojureScript, ClojureScript + Apache Cordova, and I could go on forever.
- geophile 12y agoJust learning Clojure now. Would you do us newbies a favor and say a few words about the projects you mention: what they do, why we should look into them? There is much to learn, so a shove in the right direction(s) would be useful.
- coding4all 12y agoCore.async is an official Clojure and ClojureScript library that takes channels from the Go language and adds them to Clojure in a much nicer way. http://clojure.com/blog/2013/06/28/clojure-core-async-channels.html http://clojure.com/blog/2013/06/28/clojure-core-async-channe... All of the operations are expressions (not statements) This is a library, not syntax alts! is a function (and supports a runtime-variable number of operations) Priority is supported in alt -- Quil is a Clojure and ClojureScript library for creating interactive drawings and animations using Processing (https://en.wikipedia.org/wiki/Processing_%28programming_language%29 https://en.wikipedia.org/wiki/Processing_%28programming_lang...). -- Om is actually an interface to Facebook's React. Ironically, the terminology, and the feature set of Om has little, if any, resemblance to React. Om specifically transforms Clojure data so that it can be represented in a way that React can uderstand. In the Clojure world, we build on top of React and stay away from anything that resembles JavaScript and it's behavior. React provides a virtual DOM and we just use Clojure to talk to the rendering engine. https://gist.github.com/runexec/6efb322f29fc790a98a1 https://gist.github.com/runexec/6efb322f29fc790a98a1 -- Chestnut allows live coding in the browser. This means all changes are visible without having to reload the page. 2 Minute video of Om using Chestnut. https://www.youtube.com/watch?v=gI3fJKmvgq4 https://www.youtube.com/watch?v=gI3fJKmvgq4 https://github.com/om-cookbook/om-cookbook https://github.com/om-cookbook/om-cookbook -- Apache Cordova is the Apache License version of Adobe PhoneGap. ClojureScript compiles to highly optimized JavaScript already, so you can make mobile apps using ClojureScript and Apache Cordova.
- geophile 12y agoThanks!
- Blackthorn 12y agoNew users on the JVM-only (no Clojurescript) may want to use Pulsar instead of core.async.
- dkersten 12y agoCan you explain why? Pulsar looks nice, but I'm not quite sure why users (especially new ones) should prefer it.
- Blackthorn 12y agoIt does everything that core.async does (in fact, it even has a compatible interface) and more. Most notably, you can block with any arbitrary function, not just the specially-designated parking functions in core.async. Furthermore, they need not be visible to the go macro, unlike core.async (so you can call them in a compiled closure, for example, and it will just work).
- dkersten 12y agoThanks! That is interesting alright, will have to look into Pulsar some more, I guess.
- elwell 12y ago> ClojureScript + Apache Cordova I've been interested in this mixture recently. I use PhoneGap quite a bit. Currently my favorite combination is Sencha Touch Framework with CoffeeScript. IMO, this is a really simple way to develop mobile apps. Do you know of any open source examples of ClojureScript + Apache Cordova?
- estefan 12y ago
- vegedor 12y agocore.async - asynchronous concurrency, independent threads of activity, communicating via queue-like channels quil - https://www.google.de/search?q=quil+clojure https://www.google.de/search?q=quil+clojure (API/wrapper to drawing/animation in Processing) om - a clojurescript wrapper for reactjs chestnut - https://www.google.de/search?q=chestnut+clojure https://www.google.de/search?q=chestnut+clojure (IDE-utils/framework) clojurescript - backend to transpile into js apache cordova - mobile app API to access native device function
- city41 12y agoI recommend checking out Reagent as an Om alternative. I've tried both and like how simple and "pure" Reagent is. There's almost nothing to it (where as Om is a bit more complicated)