Web application developmentby Nkuvu (Priest)
|on Jul 18, 2006 at 19:24 UTC||Need Help??|
Nkuvu has asked for the wisdom of the Perl Monks concerning the following question:
I have an idea for a very small, simple tool that myself and a few others have expressed interest in. The basic concept for the tool is to display a table of character progress in a game. Implementing this in a spreadsheet takes about five minutes, and export to HTML is relatively simple (depending on the spreadsheet application). This is just to give the scope of the tool. It's really simplistic.
But I'd like to be able to do this on the web, even though I've never created any sort of web applicaton before. I have the hosting space, which will allow some friends to display their progress simply without having to worry about web hosting or setup or HTML export, or... The problem I'm having is coming up with a decent development strategy.
As mentioned, I've never done web application development. I have a few simple web pages, but that's about it. So I asked in the chatterbox for some places to start. Two good suggestions were Catalyst and/or CGI::Application.
I spent much of the weekend reading over the Catalyst documentation. I already had an idea of the MVC approach, but read further into it, and decided that it's definitely the approach I like (I should also note that a friend has offered to help with design, so separating that to a View is beneficial). I did a quick test on installation on my home machine. As root I was unable to get Catalyst installed. Too many dependencies, and the CPAN shell cried every time I tried to install Module::Build.
So I went with an alternate approach, Catalyst in a Box. Installation was super quick and painless. I started working through the tutorial last night. I got about to the spot where you add in authentication, only to find that the CatInABox does not include the required Catalyst plugin. Attempts to install this met with significant issues (more of the same issues I've noted above).
Another thing to keep in mind is that I'm not root on my webhost. I have hosting through Speakeasy, so it's possible that I could have them install Catalyst. At the moment, though, it is not set up. Neither is CGI::Application. And if CatInABox doesn't have the plugins/modules I need, I'm not going to be able to set up Catalyst for use on my webhost.
At this point I started to realize that the development of the tool is significantly more involved than the tool itself. In about an hour's work, I wrote a simplistic script to generate the HTML I want. It has a non-user-friendly input scheme, but the script works.
What I'd really like is to find something simple to add in all of the extra features I want. Without the painful installation of Catalyst. I'm looking to add user creation/authentication. Export of some basic information to an HTML table. Possibly a form to contact individual users (like the /msg feature). And preferably using some very basic modules.
I don't mind learning new things at all. But for this tool, I just want an "add water and create instant website" sort of simplicity. Suggestions greatly appreciated.