Since I've never been a web programmer, I spent a few months researching the technology--the tools, etc. I finally settled on the GWT, and I'm very glad I did.
The programs I write are for databases. GWT allows me to write both the browser code and the server code at the same time, and it integrates well with the Eclipse IDE. All of this is open source, and completely free for anybody to use. GWT includes an integrated server for your development computer. When you want to test your code, you click on the "Run" option and you are running your program in a browser, complete with calls to the server code, etc.
With GWT you also get the option to write programs that can hosted for free at appspot.com, which is Google's cloud computing hosting site. You get a certain amount of storage (there is a database) and bandwith free per day. You pay only if you enable billing and go over that. The database (really not a database as I am experienced with, and I think it's called a "data store") is not relational, but is meant for massive scalability.
With the App Engine solution, you can use free software to write your applications, and you get a free place to host it along with the data. You can check it out at http://code.google.com/appengine.