Richard, Thanks for the feedback.
> But since C::A first appeared we now have newer frameworks like > Catalyst, Mojo, and the more recent Dancer (also in the process of > being rewritten to embrace the Moose API). Given that Ron has already > forked C::A I wonder if there is any point embarking on another? > > Accepting that Catalyst is not to everyones taste, and Dancer may not > yet have the recognition and presence that Catalyst and Mojo/Mojolicious > have as web frameworks, I'm wondering what advantage a revamped C::A > under a new name will provide. I think each has it's own strengths. I looked at Mojo particularly closely, contributing doc and test patches along the way as I studied it. ( I was surprised to find that my contribution is still third highest by number of commits, although I haven't contributed since 2009: https://github.com/kraih/mojo/graphs/contributors ). In some ways their is convergance towards PSGI and Moose. I think that's a good thing, because there is now more re-use between frameworks. There's also more competition now among "lightweight" frameworks. Besides the one you mentioned, there is Web::Simple and Amon2, among many more less well known frameworks. I think CGI::App's basic design with stages and callbacks is worth carrying forward. I think a lightweight impementation of the Moose API is also worth supporting in the core, which is absent in Ron's fork. Finally, I think quite a number of people deployed CGI::Application and some of it's many plugins, and some of them like me would like a way forward to modernize their systems without a complete rewrite. > One essential item for any web framework is a competent dispatcher, > something I think compromises Dancer v1 (hopefully addressed in v2), > essential for an application with a large number of run-modes (or > equivalents). C::A::Dispatch or a core equivalent is a must IMO. I'm not > sure if that is what you had in mind with "global dispatching". I agree that dispatching has been central to web frameworks. By "global dispatching" I mean centralized dispatching-- having one place in your app to see all the URLs and what they app to. I call the default Cataylst style "local" dispatching-- placing the URIs that encompass the system next to the methods they map to. I like the design of CGI::Application::Dispatch::PSGI and don't currently have specific intents to change it. I've come across one other routing solution that appealed to me. Router::Simple has a nice OO syntax that's similar to what we use: https://metacpan.org/module/Router::Simple Amon2 then provides a nice DSL wrapper around it, so the resulting dispatch entries look like this: package MyApp::Web::Dispatcher; use Amon2::Web::Dispatcher::RouterSimple; connect '/' => 'Root#index'; connect '/my/' => 'My#index'; connect '/my/:action' => 'My'; https://metacpan.org/module/Amon2::Web::Dispatcher::RouterSimple > Still, best wishes for C::A mark II if you decide to go through with it, Thanks! Mark ##### CGI::Application community mailing list ################ ## ## ## To unsubscribe, or change your message delivery options, ## ## visit: http://www.erlbaum.net/mailman/listinfo/cgiapp ## ## ## ## Web archive: http://www.erlbaum.net/pipermail/cgiapp/ ## ## Wiki: http://cgiapp.erlbaum.net/ ## ## ## ################################################################