- Amount Requested:
A review of the main modern web frameworks for Perl, somewhat in the style of the other reviews I've done: http://neilb.org/reviews/
Benefits to the Perl Community
A comparison of the main web frameworks, with the same sample application available for all of them in github. This will help people make informed decisions, and hopefully encourage more people to "have a go" at web development with perl.
The public comparison will hopefully provide competition, in a constructive sense.
When I do the reviews I report all bugs found, and submit improvements to documentation. Where I find something to be harder in one framework than another, I'll submit that as feedback, as I work through.
A review of the frameworks.
Example application for each framework, in github.
A final short report, summarising what was done, with an estimate of time spent.
I will create the same application (or as close as feasible / appropriate) in each of the frameworks. I will outline a spec, but solicit input via a blog post, to try and ensure the most useful / insightful app. My first quick outline is:
A web app for maintaining a curated set of URLs
Users can login, either having registered, or using using something like twitter, facebook, etc
logged-in users can add new URLs, tag URLS, and give a rating
My experience with doing these reviews though, is that I start with a specific task, but it grows and evolves as I work through each candidate.
Unlike with the other reviews I've done to date, I plan to blog as I work on each framework, (a) to record the thoughts of a newbie, while still a newbie with each framework, (b) because I expect this to take quite a bit longer, and (c) to hopefully generate discussion and further things to try.
I will also try and get others to join in, so I can include comments and perspectives from multiple people. In a perfect world I'd get some people joining in who have no experience, and some who have experience with one framework who try a different one. I'm not going to rely on any participation to be able to complete this.
I don't plan to develop the app in every web framework available for Perl, just the main modern frameworks. I plan to do "full" coverage of Dancer, Mojolicious, Catalyst and Web::Machine; other frameworks may get added to this list, if it seems appropriate. The review will mention all frameworks.
With nearly every review I've spent a long time getting to v1, but then spent a lot of time after initial publication, based on finding new modules, suggestions for further evaluation, and my continuing interest. I tried one review where I released early, then did many iterations, ending up spending just as much time.
outline app that will be developed
blog post announcing review, soliciting participation and comments on the app
develop app for Dancer
develop app for Mojolicious
develop app for Catalyst
develop app for Web::Machine
notes on the app for OX, Mason+Poet, Web::Simple, Jifty, mod_perl, Dancer2, and others.
first draft of review
revisit each app, in the light of experience with the other frameworks, and writing the review
initial publication of review, solicit comments
update apps and review, based on comments
To be honest, I don't really know how much effort this will take, but expect something in the range of 80 to 200 hours. So far every review has taken a lot longer than expected, for varying reasons.
I expect this time to be spread over 2 to 3 months. Even if I could compress the schedule, I don't want to, as I want to maximise the likelihood of third-party contribution, even if just via blog comments.
I expect to rewrite the apps a number of times, as I gain in experience, and get feedback on the early versions. Part of the goal is to record this evolution.
The review will be published, and announced on blogs.perl.org, as I've done with all the others.
The example apps will be in github. Possible improvements to documentation for some or all of the frameworks.
I've been developing with Perl since 1992, but had a 10-year patch in the middle in management, when I just wrote scripts to help out others, or for relaxation.
I've so far written 10 reviews of CPAN modules.
I've written web apps using mod_perl, but haven't worked with any of the web frameworks.
I'm self-employed, boot-strapping a business with a co-founder. This will largely be done on my own time, but I'll probably be flexible on the definition of that.