|
|
|
|
|
by asmala
4962 days ago
|
|
Coming from Rails, I tend to agree that the Clojure ecosystem is still less mature, but not by as much as I initially thought. Missing Rails I18n, SimpleForm, or validations? Clojure has you covered: * https://github.com/ptaoussanis/tower * https://github.com/asmala/clj-simple-form * http://clojurevalidations.info/ Need more specialized libraries? Take a look at ClojureWerkz: * http://clojurewerkz.org/ Having tried hard to understand the rather labyrinthine source of the original SimpleForm library, I was astonished by how easy Clojure made writing a similar library, clj-simple-form. The key contributing factors were Clojure's emphasis on simple data structures and powerful functions as opposed to classes, and the ability to pass around functions just like any other objects. For a lot of projects, I find ease of extensibility to be more important than ready libraries. |
|
Given one of the core differences in approach, composibility for Clojure and 'convention over configuration' for RoR - I don't think there will ever be a monolithic RoR equivalent in Clojure. Instead the micro-frameworks that are emerging are finding their niches, and are being designed from the ground up to work with other micro-frameworks. Working in tandem these compositions of micro-frameworks are quickly getting mature and I'm sure will be in the same league as RoR soon enough.
What I like about this is it allows you to handle Clojure a micro-framework or middleware at a time. It's easier to digest this way, at least for me: Ring -> Compojure -> Hiccup - Enlive/Comb/Fleet [x] -> Korma -> Friend, followed by Domina, Enfocus and others on the ClojureScript side.
[x]: marks where I am.