Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Core.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-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_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

--

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://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.



> 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?


I don't know if they're any that have been open-source but I've made a few with ease. Cordova has a nice plugin repository so you can use pretty much the entire device with nothing but JavaScript calls via ClojureScript => http://plugins.cordova.io


How's the performance with Sencha & PhoneGap? I've made several apps (with Angular, Ionic & Ember) and the performance has always varied from bad to utter shit.


Sencha Touch is the most performant mobile framework that I've experienced. I will admit that it takes some time to get acquainted with Sencha Touch intricacies. If you pay no attention to resource control (primarily: how many elements you are creating without destroying them) you can get a bad experience. Of course, we're talking about apps that don't require a lot of non-traditional components. I think this route is the best choice for fast prototyping of cross-platform mobile apps. And, I think it's the ideal choice, unless you have a large enough team and budget to code out native versions for you target platforms. Here is an example of an app I did for a startup I was working on. It uses CoffeeScript + Sencha + PhoneGap + some custom native plugins for PhoneGap.

https://github.com/celwell/wesawit-st2-app

When you start to veer away from a top-notch framework like Sencha Touch, you can run into a lot of performance issues that a good framework would take care of for you. For example, your scrollable components should probably be using CSS translate3d() to make use of hardware accelerations; and myriad other tricks.


Thanks. I might give phonegap one last try with Sencha.


Thanks!


New users on the JVM-only (no Clojurescript) may want to use Pulsar instead of core.async.


Can you explain why?

Pulsar looks nice, but I'm not quite sure why users (especially new ones) should prefer it.


It 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).


Thanks! That is interesting alright, will have to look into Pulsar some more, I guess.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: