Hot on HuffPost Tech:

See More Stories
Free Switched iPhone app - try it now!
AOL Tech

Maypole: Agile web development for the rest of us

Maypole If you've been anywhere except under a rock for the last 18 months or so, you're probably sick to death of the phrase "Web 2.0," and for many people, Web 2.0 has become almost synonymous with Ruby on Rails. Ruby on Rails, though, has some major drawbacks for the average web designer. Ruby, while gaining steam, is still not as popular as more established programming languages. There aren't as many programmers who know it as there are who know, say, Perl, Java, ASP or PHP. So developing RoR applications means investing time and money in training yourself or your team in a new language.

That may be a minor hurdle, but Rails offers more serious barriers to adoption. First, it expects to run its own webserver, which will conflict with your main webserver listening on port 80. It can be made to use an existing Apache or IIS server, but the configuration is not simple. Even when running on an existing server, it expects to run as a separate application in a mod_ruby environment. While that makes RoR applications very efficient (like mod_perl applications before them), it also means that using Ruby on Rails requires control over you servers. That's great if you manage your own hardware and internet connection, but most people don't. The majority of websites, even those owned by medium to large-sized businesses, are hosted with web hosting companies where individual users don't have dedicated equipment or access to server configurations. Even at my workplace, where we do most things in house, my department web space is just a small part of a server infrastructure maintained by a completely different network and server administration department. Adding my Rails applications to the forward-facing servers isn't in the cards.

Enter Maypole.

Maypole is a rapid web application development framework written in Perl by Simon Cozens and maintained by Aaron James Trevena and others. It will run anywhere there is Perl, which is most of the world's webservers, and provides a powerful environment for "agile web development," including database abstraction and the powerful and popular Template::Toolkit templating system. Best of all, it is platform agnostic. It can run under either mod_perl or as CGI, an will check for itself to see which environment it is running in. That means You can start using it today on your Dreamhost (in fact, I have a Maypole application running on one right now) account, and pick it up tomorrow and move it someplace else without hassle.

The Maypole site has some good introductions and links to some great articles, as well as the Maypole Perl module itself. As with any Perl project, though, the best way to get it is to install it directly from CPAN and read the perldocs.

Tags: Maypole, MVC, opensource, Perl, Ruby on Rails, RubyOnRails, Web Development, WebDevelopment

Comments

9