Skip to content
Newer
Older
100644 164 lines (127 sloc) 12.3 KB
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
1 <html>
2 <head>
89f438b @miyagawa utf-8
authored Oct 13, 2009
3 <meta equiv="Cotent-Type" content="text/html;charset=utf-8"/>
8c90659 @miyagawa changed title and added tagline
authored Nov 11, 2009
4 <title>PSGI/Plack - Perl Web Framework Superglue</title>
4a65cf7 @miyagawa added ga
authored Sep 30, 2009
5 <script type="text/javascript">
6 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
7 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
8 </script>
9 <script type="text/javascript">
10 try {
11 var pageTracker = _gat._getTracker("UA-52226-5");
12 pageTracker._trackPageview();
13 } catch(err) {}</script>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
14 <link rel="stylesheet" href="http://plackperl.org/screen.css"/>
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
15 <style>
8c90659 @miyagawa changed title and added tagline
authored Nov 12, 2009
16 h1 { margin-bottom: 0 }
17 p.tagline { color: #888; padding-bottom: 2em }
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
18 p.quote { padding-bottom: 0 }
19 p.quoted { text-align: right; padding: 0; font-style: italic; padding-bottom: 1em }
20 </style>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
21 </head>
22 <body>
23 <div class="container">
24
25 <h1>PSGI/Plack</h1>
4382fb7 @miyagawa updated delicious links
authored Dec 9, 2009
26 <p class="tagline">Superglue interface for perl web application frameworks, just like Perl is the duct tape of the internet.</p>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
27
771c7a7 @miyagawa emphasis the words 'interface' and 'toolkit'
authored Dec 16, 2009
28 <p>PSGI is an <strong>interface</strong> between Perl web applications and web servers. PSGI is inspired by Python's <a href="http://www.python.org/dev/peps/pep-0333/">WSGI</a> and Ruby's <a href="http://rack.rubyforge.org/">Rack</a>.</p>
29 <p>Plack is a Perl module and <strong>toolkit</strong> that contains a set of reference PSGI server implementations, middleware and utility modules.</p>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
30
f8f6cef @miyagawa update links
authored Oct 13, 2009
31 <p class="inline">The <a href="http://search.cpan.org/perldoc?PSGI">PSGI specification</a> and <a href="http://search.cpan.org/perldoc?PSGI::FAQ">Frequently Asked Questions</a> are available.</p>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
32
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
33 <h2 id="testimonials">What People Say</h2>
34
3b3d185 @miyagawa fixed links
authored Oct 17, 2009
35 <p class="quote">&quot;I love this... I think it's exactly the right answer to what I was looking for, for a really simple webapp.&quot;</p><p class="quoted">-Benjamin Trott, CTO and Co-founder of Six Apart</p>
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
36
89f438b @miyagawa utf-8
authored Oct 13, 2009
37 <p class="quote">&quot;Wow, this is nothing short of awesome. A big ++ to the entire PSGI/Plack team!&quot</p><p class="quoted">-Stevan Little, Infinity Interactive, Moose author</p>
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
38
3c4791c @miyagawa shorten
authored Dec 16, 2009
39 <p class="quote">&quot;This is something we've needed for a long time: a clean and simple way to respond to HTTP requests without the cruft of CGI&quot;</p><p class="quoted">-Yuval Kogman, Infinity Interactive, KiokuDB developer</p>
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
40
41 <p class="quote">&quot;PSGI (is) an absurdly simple, manifestly beautiful specification for an interface between Perl web apps and web servers.&quot; </p><p class="quoted">-Patrick Donelan, WebGUI developer</p>
42
d03be47 @miyagawa Added POE
authored Oct 15, 2009
43 <p class="quote">&quot;Thanks for including us! We're very excited about a future where we don't have to worry about web server support&quot;</p><p class="quoted">-Jonathan Swartz, Mason author</p>
22a8d6a @miyagawa added Mason
authored Oct 13, 2009
44
7e5fd48 @miyagawa added lathos to testimonials
authored Nov 5, 2009
45 <p class="quote">&quot;I \N{HEAVY BLACK HEART} PSGI.&quot;</p><p class="quoted">-Simon Cozens, the author of Advanced Perl Programming</p>
46
a1ec553 @miyagawa tweaked titles
authored Oct 13, 2009
47 <p class="quote">&quot;miyagawa++ # fucking awesome&quot;</p><p class="quoted">-Matt S Trout, Shadowcat Systems, Catalyst and DBIx::Class developer</p>
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
48
49 <h2 id="repositories">Repositories</h2>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
50 <ul>
51 <li><a href="http://github.com/miyagawa/psgi-specs">PSGI specifications</a></li>
52 <li><a href="http://github.com/miyagawa/Plack">Plack core</a></li>
53 </ul>
54
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
55 <h2 id="servers">Servers</h2>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
56 <dl>
a71a0bf @miyagawa links
authored Oct 13, 2009
57 <dt><a href="http://search.cpan.org/dist/Plack">Plack</a></dt>
a56e167 @sartak Grammar fixes
sartak authored Oct 2, 2009
58 <dd>The Plack core includes a standalone prefork HTTP server, a CGI runner (for running any PSGI application as a CGI script), a FastCGI daemon and Apache2 mod_perl handler.</dd>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
59
c8ccea0 @miyagawa update links now that most dists are uploaded to CPAN
authored Oct 13, 2009
60 <dt>Misc Plack::Server backends</dt>
d03be47 @miyagawa Added POE
authored Oct 16, 2009
61 <dd>Non-core server backends like <a href="http://github.com/miyagawa/Plack-Server-AnyEvent">AnyEvent</a>, <a href="http://github.com/mala/Plack-Server-FCGI-EV">FCGI::EV</a>, <a href="http://github.com/typester/Plack-Server-Danga-Socket">Danga::Socket</a>, <a href="http://github.com/miyagawa/Plack-Server-Coro">Coro</a>, <a href="http://github.com/frodwith/plack-server-poe">POE</a> and <a href="http://github.com/miyagawa/Plack-Server-ServerSimple">ServerSimple</a> are available as separate distributions.</dd>
c8ccea0 @miyagawa update links now that most dists are uploaded to CPAN
authored Oct 13, 2009
62
63 <dt><a href="http://search.cpan.org/dist/Plack-Server-ReverseHTTP">ReverseHTTP</a></dt>
64 <dd>ReverseHTTP server allows you to run a PSGI application on your desktop or inside the firewall but allows external access via <a href="http://www.reversehttp.net/">reversehttp.net</a> gateway.</dd>
65
23e996a @miyagawa added mod_psgi
authored Oct 2, 2009
66 <dt><a href="http://github.com/spiritloose/mod_psgi/">mod_psgi</a></dt>
de7ade7 @miyagawa added evhttpd
authored Oct 18, 2009
67 <dd>mod_psgi is an Apache2 module that runs PSGI applications using an embedded Perl interpreter. Developed by Jiro Nishiguchi</dd>
68
69 <dt><a href="http://github.com/sekimura/evpsgi">evpsgi</a></dt>
70 <dd>evpsgi is an <a href="http://monkey.org/~provos/libevent/doxygen/evhttp_8h.html">evhttp</a> based web server that runs PSGI applications with the embedded Perl interpreter. Developed by Masayoshi Sekimura</dd>
23e996a @miyagawa added mod_psgi
authored Oct 2, 2009
71
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
72 <dt><a href="http://www.danga.com/perlbal/">Perlbal</a></dt>
2b6ebb9 @miyagawa added a new link
authored Nov 5, 2009
73 <dd><a href="http://github.com/miyagawa/Perlbal-Plugin-PSGI">Perlbal::Plugin::PSGI</a> allows you to run PSGI applications on Perlbal. Note that because Perlbal runs in a non-blocking event loop (Danga::Socket), your application is also <strong>not supposed to block</strong>. If your application blocks (with database acesss or network I/O), do not use this plugin and instead run your PSGI application with the prefork Plack server and reverse proxy to the backend as usual.</dd>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
74
f572103 @miyagawa Added more warnings to perlbal/nginx gotcha
authored Oct 22, 2009
75 <dt><a href="http://www.nginx.eu/">nginx embedded perl</a></dt>
76 <dd><a href="http://github.com/yappo/nginx-psgi-patchs">Kazuhiro Osawa's nginx patches</a> allows you to run PSGI applications on a Perl interpreter embedded <strong>inside</strong> nginx. This patch is considered <strong>highly experimental and not recommended</strong> for the production use. You're recommended to run your (possibly blocking) PSGI application with prefork/fastcgi servers and put nginx in front, and in that case you don't need this patch.</dd>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
77
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
78 <dt><a href="http://github.com/tokuhirom/p5-http-server-fast/">HTTP::Server::Fast</a></dt>
a56e167 @sartak Grammar fixes
sartak authored Oct 3, 2009
79 <dd>HTTP::Server::Fast is a complete XS-based HTTP daemon to run PSGI applications, written by Tokuhiro Matsuno.</dd>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
80
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
81 </dl>
82
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
83 <h2 id="frameworks">Frameworks</h2>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
84
85 <dl>
86 <dt><a href="http://www.catalystframework.org/">Catalyst</a></dt>
c8ccea0 @miyagawa update links now that most dists are uploaded to CPAN
authored Oct 13, 2009
87 <dd>Catalyst is one of the most popular web application frameworks in Perl and has a support for PSGI through <a href="http://search.cpan.org/dist/Catalyst-Engine-PSGI">Catalyst::Engine::PSGI</a>.</dd>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
88 <dt><a href="http://cgi-app.org/">CGI::Application</a></dt>
1d10739 @miyagawa more comments
authored Dec 2, 2009
89 <dd>CGI::Application is a CGI.pm-based lightweight web framework. Any CGI::Application based applications can run as a PSGI application using <a href="http://search.cpan.org/dist/CGI-PSGI">CGI::PSGI</a> and <a href="http://search.cpan.org/dist/CGI-Application-PSGI">CGI::Application::PSGI</a>.</dd>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
90 <dt><a href="http://search.cpan.org/dist/HTTP-Engine">HTTP::Engine</a></dt>
1d10739 @miyagawa more comments
authored Dec 2, 2009
91 <dd>HTTP::Engine is a micro web application framework and is a &quot;father of PSGI/Plack&quot; since we owe lots of code and ideas. HTTP::Engine itself now has PSGI Interface support as an adapter since 0.03 on CPAN.</dd>
9bbef9c @miyagawa update Dancer
authored Oct 1, 2009
92 <dt><a href="http://dancer.sukria.net">Dancer</a></dt>
a56e167 @sartak Grammar fixes
sartak authored Oct 3, 2009
93 <dd>Dancer is a Sinatra-like micro web application framework and has supported PSGI since version 0.9904.</dd>
636d93c @miyagawa Added Mason
authored Sep 30, 2009
94 <dt><a href="http://www.masonhq.com/">Mason</a></dt>
95 <dd>Mason allows you to embed code in HTML templates and can now run on any PSGI supported web server using <a href="http://github.com/miyagawa/HTML-Mason-PSGIHandler">HTML::Mason::PSGIHandler</a></dd>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
96 <dt><a href="http://search.cpan.org/~beppu/Squatting/">Squatting</a></dt>
1d10739 @miyagawa more comments
authored Dec 2, 2009
97 <dd>Squatting is a Camping-inspired Web Microframework and has a support for PSGI through <a href="http://search.cpan.org/dist/Squatting-On-PSGI">Squatting::On::PSGI</a>.</dd>
cb27fcf @miyagawa update Continuity links
authored Oct 2, 2009
98 <dt><a href="http://search.cpan.org/~awwaiid/Continuity/">Continuity</a></dt>
3b3d185 @miyagawa fixed links
authored Oct 17, 2009
99 <dd>Continuity is a Coro based web server that supports Continuations. The <a href="http://github.com/awwaiid/Continuity/">Github repo</a> has an experimental Plack support.</dd>
3611a2f @miyagawa added Maypole
authored Oct 1, 2009
100 <dt><a href="http://maypole.perl.org/">Maypole</a></dt>
1d10739 @miyagawa more comments
authored Dec 2, 2009
101 <dd>Maypole is a Struts-inspired MVC web application frameworks built on top of Class::DBI ORM. Maypole applications can run as PSGI applications using <a href="http://github.com/miyagawa/Maypole-PSGI">Maypole::PSGI</a>.</dd>
ee5c8ca @miyagawa added Tatsumaki
authored Nov 11, 2009
102 <dt><a href="http://github.com/miyagawa/Tatsumaki">Tatsumaki</a></dt>
81035a6 @miyagawa Added Advent calendar
authored Dec 2, 2009
103 <dd>Tatsumaki is a web application framework built on top of Plack and AnyEvent: natively supports non-blocking I/O through psgi.streaming, non-blocking HTTP clients, long-poll Comet services and server push.</dd>
6612be1 @miyagawa hide frameworks that aren't on CPAN
authored Sep 30, 2009
104 <!-- dt><a href="http://github.com/dann/angelos">Angelos</a></dt>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
105 <dt><a href="http://github.com/typester/ark-perl">Ark</a></dt>
106 <dt><a href="http://github.com/spiritloose/Schenker">Schenker</a></dt>
107 <dt><a href="http://github.com/yusukebe/Noe">Noe</a></dt>
6612be1 @miyagawa hide frameworks that aren't on CPAN
authored Sep 30, 2009
108 <dt><a href="http://github.com/nekokak/p5-Kamui">Kamui</a></dt -->
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
109
110 </dt>
111
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
112 <h2 id="applications">Applications</h2>
7c5539b @miyagawa Added WebGUI
authored Oct 12, 2009
113
114 <dl>
115 <dt><a href="http://www.webgui.org/">WebGUI</a></dt>
116 <dd><a href="http://blog.patspam.com/">Patrick Donelan</a> is working on <a href="http://blog.patspam.com/2009/plebgui-webgui-meets-plack">Plack support for WebGUI</a> on <a href="http://github.com/pdonelan/webgui">his github repo</a>.</dd>
117 </dl>
118
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
119 <h2 id="middlewares">Middleware and Utilities</h2>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
120
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
121 <dl>
c8ccea0 @miyagawa update links now that most dists are uploaded to CPAN
authored Oct 13, 2009
122 <dt><a href="http://search.cpan.org/dist/CGI-PSGI">CGI::PSGI</a></dt>
a56e167 @sartak Grammar fixes
sartak authored Oct 3, 2009
123 <dd>CGI.pm subclass to handle PSGI env hash to provide a CGI.pm-compatible interface. Very useful to migrate CGI.pm-based web application frameworks to the PSGI interface.</dd>
c8ccea0 @miyagawa update links now that most dists are uploaded to CPAN
authored Oct 13, 2009
124 <dt><a href="http://search.cpan.org/dist/Plack-Request">Plack::Request</a></dt>
125 <dd>Plack::Request and Plack::Response is a simple wrapper around PSGI environment hash and response array to access those values using an Object oriented API.</dd>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
126 <dt><a href="http://search.cpan.org/~nuffin/IO-Handle-Util/">IO::Handle::Util</a></dt>
a56e167 @sartak Grammar fixes
sartak authored Oct 3, 2009
127 <dd>Utility module to create an IO::Handle-like object instantly with a simple interface.</dd>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
128 <dt><a href="http://search.cpan.org/~kazuho/HTTP-Parser-XS-0.02/">HTTP::Parser::XS</a></dt>
a56e167 @sartak Grammar fixes
sartak authored Oct 3, 2009
129 <dd>Super fast XS-based PSGI compatible HTTP header parser, used in many Plack server implementations.</dd>
c8ccea0 @miyagawa update links now that most dists are uploaded to CPAN
authored Oct 13, 2009
130 <dt><a href="http://github.com/tokuhirom/p5-cgi-emulate-psgi">CGI::Emulate::PSGI</a></dt>
a56e167 @sartak Grammar fixes
sartak authored Oct 3, 2009
131 <dd>Run any CGI scripts (whether it uses CGI.pm or not) as a PSGI application by emulating a CGI environment. It does the opposite of CGI runner PSGI server impementation (Plack::Server::CGI)</dd>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
132
133 </dl>
134
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
135 <h2 id="slides">Slides and Blog Posts</h2>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
136
306631e @miyagawa Added blog posts
authored Oct 12, 2009
137 <p class="inline">Note that some materials and technical details might be outdated.</p>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
138
a213c39 @miyagawa added para
authored Sep 30, 2009
139 <dl>
81035a6 @miyagawa Added Advent calendar
authored Dec 2, 2009
140 <dt><a href="http://advent.plackperl.org/">Plack Advent Calendar</a></dt>
141 <dd>24 days of Tips and tricks for PSGI and Plack</dd>
e600ba8 @miyagawa links to the LPW slides
authored Dec 7, 2009
142 <dt><a href="http://www.slideshare.net/miyagawa/plack-lpw-2009">PSGI and Plack</a><dt>
143 <dd>Tatsuhiko Miyagawa at London Perl Workshop, December 2009</dd>
306631e @miyagawa Added blog posts
authored Oct 12, 2009
144 <dt><a href="http://blog.patspam.com/2009/plebgui-webgui-meets-plack">PlebGUI: WebGUI meets Plack</a></dt>
2b6ebb9 @miyagawa added a new link
authored Nov 5, 2009
145 <dd>Patrick Donelan writes a good introduction for PSGI and Plack from the web application developers point of view.</dd>
146 <dt><a href="http://www.simon-cozens.org/content/i-finally-get-psgi-and-plack">I finally get PSGI and Plack!</a></dt>
147 <dd>Simon Cozens writes a great post about what PSGI is, by comparing it with HTTP::Engine.</dd>
e600ba8 @miyagawa links to the LPW slides
authored Dec 8, 2009
148 <dt><a href="http://www.slideshare.net/miyagawa/tatsumaki">Tatsumaki, Plack based non-blocking framework</a></dt>
149 <dd>Tatsuhiko Miyagawa explains psgi.streaming interface to enable asynchronous requests in web frameworks. Screencast in Japanese is also <a href="http://vimeo.com/7897566">available</a>.</dd>
8e5a995 @miyagawa format
authored Oct 7, 2009
150 <dt><a href="http://tokuhirom.github.com/talks/20090910-yapcasia2009-psgi-plack/">PSGI/Plack</a></dt>
2b6ebb9 @miyagawa added a new link
authored Nov 5, 2009
151 <dd>Tokuhiro Matsuno and Tatsuhiko Miyagawa at YAPC::Asia 2009 (Japanese).</dd>
a213c39 @miyagawa added para
authored Sep 30, 2009
152 </dl>
dfbb52e @miyagawa added framworks
authored Sep 30, 2009
153
02c54f8 @miyagawa make the site more buzz compliant
authored Oct 13, 2009
154 <h2 id="community">Community</h2>
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
155
4382fb7 @miyagawa updated delicious links
authored Dec 9, 2009
156 <p>Tatsuhiko Miyagawa's <a href="http://bulknews.typepad.com/">blog</a> and delicious bookmarks (<a href="http://delicious.com/miyagawa/psgi">PSGI</a> and <a href="http://delicious.com/miyagawa/plack">Plack</a>) have a lot of updated information and links to PSGI/Plack related entries. We're chatting on <a href="irc://irc.perl.org/#plack">#plack on irc.perl.org</a> and have a low-traffic <a href="http://groups.google.com/group/psgi-plack">mailing list</a>.
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
157
158 <div id="footer">
b2dd683 @sartak Fix link to the repository
sartak authored Oct 2, 2009
159 The PSGI spec and Plack are written by <a href="http://bulknews.typepad.com/">Tatsuhiko Miyagawa</a> and many contributors.<br/>Source code for this site is available on <a href="http://github.com/miyagawa/plackperl.org">github</a>.
37e8141 @miyagawa Initial commit
authored Sep 30, 2009
160 </div>
161
162 </div>
163 </body>
Something went wrong with that request. Please try again.