> One of the great advantages of Ring (and other purely functional bits that > stack on top, like Compojure, Bishop, etc) is that its handlers are readily > composable. Among other things, this means that way you compose handlers > from two different namespaces in the same app is fundamentally no different > than the way you compose handlers from N different applications (which can > come from different projects, maintained by different teams, etc). Combined > with something like Compojure's nested routes[1], this is a simple and > powerful way to build modular web apps and services by default. > > I presume the same can be done with two Noir apps as well, but something > would need to be done to translate or remap each app's routes so that they're > not stepping on each other's toes? I suspect the same would apply to > anything that Noir adds imperatively to such global maps, like middleware.
Thanks for expanding, Chas. I couldn't quite see what Adam was describing. Most of what you describe is doable in Noir, though I see your point...its handling of contexts and coupling of app to middleware can make some of that difficult. - Mark On Thu, Sep 13, 2012 at 12:56 PM, Chas Emerick <c...@cemerick.com> wrote: > On Sep 13, 2012, at 11:57 AM, Mark Rathwell wrote: > >>> If I'm right then defining your 'globals' (for lack of a >>> better word) like this would mean, among other things, that you really can't >>> have two independent Noir apps defined/running in the same project - is that >>> a correct assessment? >> >> Just out of curiosity, could you expand on what you mean here? What >> types of situations would you need/want multiple independent Noir apps >> defined/running in the same project? > > One of the great advantages of Ring (and other purely functional bits that > stack on top, like Compojure, Bishop, etc) is that its handlers are readily > composable. Among other things, this means that way you compose handlers > from two different namespaces in the same app is fundamentally no different > than the way you compose handlers from N different applications (which can > come from different projects, maintained by different teams, etc). Combined > with something like Compojure's nested routes[1], this is a simple and > powerful way to build modular web apps and services by default. > > I presume the same can be done with two Noir apps as well, but something > would need to be done to translate or remap each app's routes so that they're > not stepping on each other's toes? I suspect the same would apply to > anything that Noir adds imperatively to such global maps, like middleware. > > Cheers, > > - Chas > > [1] https://github.com/weavejester/compojure/wiki/Nesting-routes > > -- > 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 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