One of the biggest value propositions of Pedestal has always been that it's
the only Clojure web server library to support end-to-end async operations.
You can do things like have a handler return a core.async channel, or
pause/resume the entire web stack multiple times during a single request.
Other libraries may support async or streaming responses, but none allow
that level of control, so if you need that feature Pedestal is there.

Pedestal's routing stack is also data based, that's a pretty big deal if
you're used to debugging nested ring handlers that are instances of
functions. Data over code...that's the way I like it.

But yes, as a whole the entire Clojure ecosystem is built around small
composable libraries instead of a monolithic framework. Pick and choose and
build your own stack.

Timothy


On Tue, Apr 29, 2014 at 2:22 AM, Bernhard Mäder
<bernhard.mae...@gmail.com>wrote:

> Hey guys,
>
> I need your help in choosing a web stack for a medium sized website
> project, which is going to take the better half of my time for the next
> year. I really want to use clojure, because of various reasons, but have
> never done web development with it before. Frankly, it’s quite hard to feel
> confident about such a decision, as there are so many libraries to choose
> from, many of which seem to be abandoned or with very little (public)
> momentum.
>
> These are the notable features I need on the server side:
>
>    - Internationalization of content, with multilingual URLs
>    - Authentication through username / password and through xing (oauth)
>    and linkedin (oath2).
>    - Image and PDF upload
>    - A small (and pretty basic) CMS
>    - Beautiful reports renderings
>    - A basic admin backend
>
> First, I was thinking along the compojure/hiccup/friend stack. I like it
> for the simplicity, the flexibility and the abundance of documentation on
> the web. Unfortunately, I see myself reinventing the wheel a few times with
> this approach…
>
> Then there is caribou. I like that it’s very well documented and that it’s
> already being used in production. It appears to be the most feature
> complete solution for the time being. It handles images, has backend
> scaffolding and i18n. OTOH, authentication isn’t really built-in (other
> than basic auth, if I got that right) and, it’s very new, so adoption seems
> to be still low. Also, it is developed in-house, so there’s the risk of
> abandonment, too.
>
> Finally, I took a look at pedestal (services). I like its overall design
> and I especially welcome the URL generator, which is going to be a boon in
> larger projects. But all in all, it seems to be little more than a
> (powerful) routing engine (again, maybe I’m missing something) and lacks
> internationalization as well as authentication (although I read that the
> snapshot version of friend will work with it). Also, it is developed
> in-house and not declared production-ready yet.
>
> I don’t feel very comfortable with either choice and would appreciate the
> thoughts of seasoned clojure web devs on that topic. Please talk me into
> it! I don’t want to end up with scala and play… :-)
>
> Thanks for your thought!
> Bernhard
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to