Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
I always thought the original Apache::ASP (by Joshua Chamas) was the most underrated web framework around.
Me too! It's been in use on every Perl web application I've built since 2003 (or thereabouts). Joshua Chamas made my life (and the lives of many others) much easier with the release of Apache::ASP.

How compatible is your new code, for people on Apache::ASP who want to try migrating?
Mostly compatible. There are some breaking changes however.

For example, the "global.asa" file is replaced with subclassing GlobalASA.pm. $Response->Cookies has been simplified ($Response->AddHeader is there for complex HTTP header manipulation).

I can't promise the new API extensions won't change before the v1.0 release, so I wouldn't recommend migrating any production websites to it just yet. However - anyone who's used Apache::ASP and wanted feature "X" added in or thought "Y" should be different, now is the time to speak up. Once v1.0 is released I'm going to freeze the API.

I hope to release v1.0 by the end of this month (June 2007).
Aside from a different session backend, are there any specific advantages your version has over Apache::ASP?
Some advantages include:
  • The introduction of "Apache2::ASP::Handlers" - an object-oriented approach to website development means you can write little or no code. I expect several independently-developed Apache2::ASP::Plugin::* modules in the future.
  • "Handlers" can inherit from each other. So you could have base global "create", "update" and "delete" Handlers that other handlers simply subclass.
  • File uploads go far beyond the old $Request->FileUpload(). Subclassing Apache2::ASP::UploadHandler or Apache2::ASP::MediaManager gives you the ability to set up callbacks like before_create(), after_update() or before_delete(). With a few lines of code you can build an upload progress indicator (see example on website).
  • What's more fun than uploading your movies/photos so other people can see them? MediaManager makes this as easy as use base 'Apache2::ASP::MediaManager';
  • As stated earlier, database-persisted Session and Application state means that your web application can span multiple servers. Servers may share roles or handle roles all by themselves (i.e. 3 WWW servers and 2 Media servers).
To help the Apache2::ASP API solidify, I'm building some web apps with it. The Apache2::ASP homepage is running it now. More sections will be added soon.

Thanks for commenting.

In reply to Re^2: Introducing Apache2::ASP by jdrago_999
in thread Introducing Apache2::ASP by jdrago_999

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (4)
As of 2024-04-19 02:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found