Client-side MVC frameworks for ClojureScript
Asked Answered
B

3

18

I'm trying to choose a library for client-side MVC in ClojureScript. Here's are the ClojureScript libraries I've found so far:

  1. WebFUI (https://github.com/drcode/webfui)
  2. Enfocus: (http://ckirkendall.github.io/enfocus-site/)
  3. Pedestal (http://pedestal.io)
  4. Ducttape (https://github.com/hozumi/ducttape.cljs)
  5. C2 (http://keminglabs.com/c2/) It seems this can be used as a DOM framework.

How should I choose between them? Also, how will they compare to using AngularJS or Backbone from ClojureScript?

Baden answered 9/4, 2013 at 21:37 Comment(4)
So you're not interested in comments why angular may be better than clojure counterparts? ;-)Arnoldoarnon
hah. I am open to that too! I have just read in a few places that using backbone/angular with clojurescript may not be preferred. But I have worked with angular before in JS and enjoy it but want to do things the 'clojure way' right now.Baden
Now there is also Clojure on Coils at coils.ccGabar
github.com/zubairq/coilsGabar
W
6

This is not exactly a complete framework, maybe just the V of the client side MVC but it worth to keep an eye of it.

https://github.com/swannodette/om

A ClojureScript interface to Facebook's React

Om allows users to represent their UIs simply as EDN. Because ClojureScript data is immutable data, Om can always rapidly re-render the UI from the root. Thus Om UIs are out of the box snapshotable and undoable and these operations have no implementation complexity and little overhead.

Please don't miss this read http://swannodette.github.io/2013/12/31/time-travel/

Westberry answered 7/1, 2014 at 17:11 Comment(0)
S
3

Ganelon (which I am author of) is a Clojure web microframework built on top of Ring/Compojure.

It is not exactly client-side MVC, as in general it provides a simple mechanism, that allows us to:

  1. invoke XHR request from a thin JavaScript layer (e.g. on link click or form submit)
  2. return JSON response containing operations to be performed (e.g. update DIV, display modal, etc.)
  3. perform operations from step 2 through a thin JavaScript layer

Docs & demo are available here: http://ganelon.tomeklipski.com.

Satterlee answered 10/4, 2013 at 16:22 Comment(1)
Thanks! I actually meant to include yours. I was checking it out awhile ago and it seems interesting.Baden
G
1

I am the author of Coils, another Client Side Clojure framework:

https://github.com/zubairq/coils

Gabar answered 6/8, 2014 at 7:30 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.