Week 8 of Web.pm -- some Druid and Hitomi fiddling

masak on 2009-06-01T21:54:28

So, Ceiling Cat comeded down an saw teh men an ther towerz. Den Ceiling Cat sez "Oh noes, if they all togethr after mah hi spot, they gonna get mah hi spot! I gots'ta confuzzle 'em and stop 'em!" Dat's wai Ceiling Cat pwned 'em an dragd 'em away from ther towerz. Dey stop buldin' after dat. So teh towerz wuz calld Babel cuz Ceiling Cat made teh men babbul ther befor movin' dem. — Genesis 11:5-9

Yet another week of distraction, it turns out. Also, it's late when I start putting this post together, so I'll be brief. For once.

  • I have made some insignificant work on the Druid web app. I believe that this one is low-hanging fruit, because we already have an SVG module (two, in fact), and putting it to work with drawing a board would be a nice use-case. I had a head-scratching half hour of trying to figure out why the SVG wouldn't show up in the browser. After explaining the problem to mberends++ and having him test it, though, everything just worked. Typical. :)
  • Ilya unfortunately had to back out of the rest of his Web.pm grant work, due to pressing external circumstances. We'll miss him, but Tene++ and I will keep churning away on the Web.pm grant, mapping his remaining 9 weeks to fall after my 11. Stay tuned for weeks 12-20, with some heavy MVC framework action.
  • Due to this, I'll need to read up on MVC frameworks a bit. Will probably post about that too in the next few weeks, parallel to the Web.pm updates.
  • I finally sat down and wrote those Hitomi tests I'd been planning to write. That in itself raised a number of new questions, which I hope to address when I start implementation/porting next week.

I wish to thank The Perl Foundation for sponsoring the Web.pm effort.


MVC

pozer on 2009-06-02T10:48:51

I read up about what an MVC is at Perl Catalyst's site. It was a fairly good read but the code was not to impressive. Basically you come up with a default home page, make a method or subroutine that runs codes before any header prints, then your 2nt method/subroutine determines what location to send the user. If any none die errors or no location is requested it defaults to the default home page.

Re:MVC

pozer on 2009-06-02T10:59:13

just to be clear, I stated on the VC part of the MVC. the M is your backend/database.

Re:MVC

masak on 2009-06-02T11:24:02

Oh, I'm familiar with the concept MVC. Basically, it's just a standardized subdivision of concerns within an application. It's a bit more general than web apps, and has its roots in Smalltalk and early GUIs.

What I need to read up on is the actual MVC frameworks out there: Catalyst, Rails, Jifty... I'll probably do this by downloading them and trying them out, writing the same application over and over in each of them. I think it'll be interesting.

Some View thing

raumwal on 2009-06-02T11:59:04

As for the template-like view of Web.pm, if I may suggest you to take a look at Embperl: http://perl.apache.org/embperl/pod/doc/Embperl.htm Which is quite "end-programmer" friendly and goes beyond the scope of mere templating, allowing for quick small site devs without the full (and sometimes cumbersome) MVC requirements.

Re:Some View thing

masak on 2009-06-02T12:56:20

Thanks for the tip. I'll look into it.

A question

ZuLuuuuuu on 2009-06-04T20:14:45

Hi,

Coming from ASP/PHP background and being a CGI newbie, sorry if my question is a little silly: are Web.pm web applications designed to work as CGI scripts? I asked that because web frameworks like Catalyst, RoR or Django does not work or work unusably slow when run as CGI scripts (and also require a lot of configuration I guess) so most of the time you cannot use them on shared hosting solutions which is bad for amateur web programmers.

In short, who are the target audience of Web.pm?