While I do not understand Plack/PSGI completely, let me risk a response in the hope that I will be corrected: PSGI is a specification for Perl applications to work with a variety of Webservers. In other words, if you write your application in a manner consistent with PSGI, then you will enjoy the benefit of running your application in a whole variety of Web Server Infrastructures

Technically, if you are an application developer, (as opposed to somebody who creates web frameworks for app developers) you dont really have to deal with or understand Plack. This is the stated belief of Plack/PSGI's main creator Miyagawa. On the other hand, if you are a framework creator/writer, then you need to understand PSGI and write your framework consistent with it.

As app developers, all we need to do is to choose a framework that plays with PSGI: There are legacy frameworks (BP - Before Plack) like CGI::Application that provide a "driver" that talks PSGI and there are modern frameworks (AP?) that are built with PSGI from ground up like Dancer. All we application developers need to do really is to choose the right framework that suits us and do what we do best. Create great perl apps!

You can however write your application that bypasses the framework layer and talks PSGI directly. Much like you are currently doing with mod_perl — use mod_perl calls to create the web environment in which your application runs. But if you were to distrubute such an application, your potential users will have to do much before the app can be run.

In the age of BP, deploying solid perl web applications was significantly harder than say deploying PHP applications. AP, however, has taken perl applications far far ahead of PHP at least as far as ease of deployment is concerned. In some cases, all it takes is to say "./app.pl" and your web app is ready. That to me is the greatest benefit of Plack


In reply to Re: Understanding benefits of Plack by unlinker
in thread Understanding benefits of Plack by moof1138

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.