|
|
|
|
|
by bulknews
5523 days ago
|
|
> the doc is unclear as to what it brings on the table, why it should be used, how to be used, the improvement it brings if any are really not clear. I assume you're looking at the non-dev PSGI specification on CPAN. We're working on revising the documentation to upgrade the specification to 1.1, as well as improving the FAQ document. Just to address your concern, I improved the part where it explains the benefits of switching to PSGI:
https://github.com/miyagawa/psgi-specs/commit/e3e756cf1eebe8... Also, for more generic overview and introduction of what PSGI is and why it is useful, take a look at my slides at OSCON 2010: http://www.slideshare.net/miyagawa/plack-at-oscon-2010 - miyagawa |
|
> I assume you're looking at the non-dev PSGI specification
yes.
> PSGI specification on CPAN
Not really sure it is a good idea to put a spec on CPAN(I know you can find books on CPAN but I really do not think this is the right place for such matters but especially when PSGI/Plack confusion certainly exists.well, that just my view of things)...
Regarding your additions:
>You can stop writing code to support many web server environments.
As your slide shows, CGI.pm handles quite well many of the environment you list. It has been in development for more than 10years, updated very regularly to fix bugs, even browser based one, the doc is easy to read. The perl based server you list were built for PSGI in mind so you sell me some candies and the toothbrush that goes with it.
> Your framework can now use all of Plack middleware components.
session, caching,etc. All of these "middleware" already exists since a very long time. so it is just yet an other addition,an other way of doing it. Some of these PSGI middleware were extracted from Catalyst. Catalyst authors decided to create their own set of engine instead of choosing to use CGI.pm (unlike CGI::Application/Jifty building upon it), linking to your "gross." conclusion- in your slide.
> You can test the application using the consistent L<Plack::Test> interface.
WWW::Mechanize works like a charm for such matters. (perhaps your Plack::Test differs though, did not look into it so this might be a valid point)
Regarding your slide:
The diagram you show is at best simplistic, at worst wrong (factcgi->lighttpd). It deviates from reality to get to your point.
I find the "CGI.pm? meh" slide very disrespectful and all by itself shows the ambient snobbish attitude towards this very useful module(inherited from the Catalyst community mindset?)
so all in all, I still don't get the problem it is trying to solve(stealing from python you wrote. an other language, an other culture, an other context) I still don't get the benefit out of it and why I should use it.
I think I am a lost cause^^; I am sorry. It's not that I am against new things but here, I really don't get the advantage of this spec and everything that goes around. I have a bootstrap package that launches the FastCGI run loop then delegates to modules that do there job and print the resulting body at the very end (it's a MVC like framework,nothing fancy) so I don't think it would hurt much to add support for this but I won't do so as long as I don't get a real + in doing so.
Using Nginx is not much of a matter. (Nginx+FastCGI should be fine)