5 ms·
A Rails like framework for Clojure.
- drcode 17y agoAlthough Clojure is an excellent tool, keep in mind it is still in early development. It can be used to publish simple websites pretty elegantly, but for now it is relatively "low level"- I would say it still has a ways to go before being "Rails like."
- mattrepl 17y agoAside from having access to all the Java web frameworks, Clojure has Compojure and Conjure on the higher level and Ring (equivalent to Python's WSGI and Ruby's Rack) for lower level. I wouldn't discount Clojure as not ready for complicated web applications based on it's young age; Java servlets can be written in Clojure. Not that Java servlets are great, but they are widely used for non-trivial web sites. Clojure is great at removing the ugliness of some Java APIs, I recall that Compojure is built atop servlets.
- weavejester 17y agoCompojure is built on top of Ring, but can wrap a Ring "handler" function in a Java servlet. This functionality has been merged into Ring 0.1, so you may now be able to wrap a Conjure application into a Java servlet as well.
- drcode 17y agoOops- Accidentally wrote Clojure instead of Compojure. Clojure is already pretty mature- Compojure is still the part that's excellent but still low level.
- henning 17y agoAll these Rails clones! They think they can just ape Rails' idioms and then they'll have the power of Ruby's metaprogramming at their disposal and -- oh, wait.
- codekiller 17y agoExactly what I was thinking.
- sunkencity 17y agorails is a pretty mature framework these days, and it's got tons of plugins that are actually easy to use. It's a pretty steep road to get something up to those standards. When I need something that has everything already neatly solved and ready for cranking out stuff fast -- I always chose rails. I'm currently trying to learn clojure and enjoying it immensely. It's a lot like ruby (powerful and fun) but with easier syntax and it's way faster. Looking forward to read through the conjure source. One thing that bugs me with most of the clojure web frameworks that I have looked at is that they a. use ant instead of maven and b. don't provide a canned method to generate a war file. I don't like the advice "just leave a screen with slime and emacs running on your server". It runs on the JVM for crying out loud -- a little more enterprise is appropriate :)
- dreish 17y agoThis one uses the build tool called "lancet", which is created throughout Stuart Halloway's Programming Clojure.
- arohner 17y ago"just leave a screen with slime and emacs running on your server" Another way to do it is just load the swank jar on your server (the server side of slime). In your server startup, include a call to (start-swank). Then you can connect via slime whenever you want using M-x slime-connect, and you don't need emacs + screen to stay running. I've only learned the JVM as part of learning clojure. What advantages would a .war provide?
- sunkencity 17y agoAdvantages: Easy to get a server running: just install tomcat or jetty on your production machine, sftp the war file and it automatically deploys. Init.d scripts are tricky to write and get right, by using a tested script from a distro things tend to work out of the box. Monitoring -- easy to hook in some monitoring script that can reboot tomcat or jetty should the server stop responding. Techops generally know how to deploy a .war file -- I would not feel comfortable telling someone to learn lisp just to deploy a webapp. pretty interesting with swank -- need to look into that.
- alrex021 17y agoConjure seems to be in early dev stage. It'd be a good idea for it to be packaged with bleeding edge of the clojure rt instead of 1.0. None the less, it looks very promising.
- devin 17y agohttp://github.com/danlarkin/madison http://github.com/danlarkin/madison is another interesting project. I believe the intent is to port Django to Clojure.
- macmac 17y ago...but last commit was in April.
- runevault 17y agoYeah, Dan hasn't touched it much last I saw. I was interested early on as I had spent a bit of time in Django (not a ton) but was more interested in Clojure web dev. But due to it's lack of movement I haven't bothered. I may take a look at this one but I dunno, I don't have the ties to Rails to give that appeal.
- masklinn 17y agoRails is a Ruby framework, Django is a Python framework. Each one uses the strengths and idioms of its implementation language to be and become better. These ports don't make sense. Clojure is not Ruby, there will always be a disconnect between Clojure as a language and a framework ported from Ruby.
- macmac 17y ago...or Rails in Clojure will turn out even better than the original. It is not as if Clojure lacks the meta-programming power has made Ruby Rails so elegant.