Web Fundamentals for a Newb
jrockway: The key to writing good web apps is to remember that the web part of the web app is just that, a part.  It's not the whole application.  An ideally-structured web application will be a normal application with a thin layer of glue to make it talk to the web.  Usually your framework provides the glue, but it seems that most developers try to make the framework a religion and way of life instead of a glue.  This leads to unmaintainable and untestable applications.Anyway, the rule of thumb is... if critical code can't be executed without starting a web server, your app is designed wrong.  (I've seen developers that write all their tests in Selenium.  This is a huge waste of time; make sure you can test the backend code without making web requests.  Only use Selenium to test JavaScript!  Even then, Test::More from the JSAN is quicker.)I've given lots of talks about this, if you want more details.  Here is a web-specific one:http://www.jrock.us/fp2008/catalyst/start.html(left click to advance the slideshow)Here is a non-web-specific one:
http://www.jrock.us/ppw2007/testmore/testmore.txtIf you want to see it as a slideshow, try this:http://www.jrock.us/ppw2007/testmore/takahashi.xul?data=test...but on my machine, recent versions of firefox seem to not execute takahashi.xul correctly.  So just read the text file ;)Anyway, have fun.