I created my first webpage back in the late 90's using some silly site generator. Not long after I generated the code, I had to make some changes and the HTML was absolutely AWFUL. I couldn't understand it and it looked nothing like the examples in the book I was reading! This spurred me to learn HTML.
A few years later I was getting proficient with perl and realized I could use CGI to generate HTML! Neat! I wrote some code and adapted a chatter bot I found and soon had a webpage where I could chat with my page, and I didn't have to maintain a bunch of HTML files. The code quickly became a nest of 'if this param or session variable, do this' and I lost interest in the project because it was so difficult to maintain.
I used CGI (and later, CGI::Application) for various projects over the years but have not had to do any web coding for a number of years now. I hadn't bothered to really learn anything new either.
My most recent employment experience had me working on a project that started as a simple perl script and quickly spiraled into a full-fledged back-office web-app. CGI and its family didn't take enough of the complexity out of the code and it quickly became a nightmare to change anything.
I've been using Mojolicious this past year as my stepping stone into modern MVC design. Its quite a nice framework. Dancer and Catalyst seem to be quite popular but I liked Mojo because all the tools I needed were integrated. I've had problems with some CPAN modules not playing nicely, and I was attracted to the idea that all the web tools I'd need (session/cookie management, config usage, helpers and plugins, DB accessors) were all 'baked in'.
I'm working on a large-ish project now and have been using Mojolicious for it.
One of the quotes on their website says this:
Duct tape for the HTML5 web - Web development for humans, making hard things possible and everything fun.
Fun is a matter of perspective, but its a pleasure to work with, and I quite enjoy it. If you're a perl coder and are looking at Rails with envy, take a look at Mojolicious. It has everything you'd need to quickly get a true MVC app up and running with a minimal amount of effort. The documentation is quite good, ok, its not perfect, but the author and maintainers are quite responsive on the mailing list and there have been no features I couldn't understand or get working without reading through the docs.
Take a look, take it for a spin, its easy to write a 'lite' application and turn it into a full-fledged app. It runs under its own threaded app server (hypnotoad), or can be run with fast_cgi, behind nginx/apache, and is quite flexible. If you end up using it, I hope you enjoy it as much as I have.
No comments:
Post a Comment