For those of us new to web development it is easy to become overwhelmed by all of the options and moving parts. You start with the basics of HTML and CSS which seem straightforward enough (though maybe you’re not quite sure how XHTML fits in). You become interested in dynamic content and learn about JavaScriptA language that can run in the browser to make websites interactive. and this quickly leads to JQueryA Javascript library to make working with the DOM, event handling and AJAX easier., AJAX, and BootstrapA framework that allows dynamic page layout that responses to the size of the screen..

You start wondering about the server side and look into relative merits of PHPServer-side scripting language for web development. and Apache vs. Java Services and Tomcat. Or maybe Ruby or Python or NodeJSA non-browser based environment in which JavaScript can be run. would be better languages? (This seems to be what all the cool kids are doing.) After picking a language then there is the selection of a framework. If Java is your language will it be Spring MVC, JSF or Google Web Toolkit? If PHPServer-side scripting language for web development., will it be Laravel, Symphony, CodeIgniter, etc.?

Of course, there is the selection of a cloud provider to host your website and a whole new collection of related choices. What OS should you use? What about a database? Which migration approach is best and how should deployments be managed going forward? How much are you willing to spend? Like chopping the head off a hydra, each decision seems to spawn two more. Each tool researched quickly introduces an ecosystem of related tools and technology, and no sooner do you settle into learning one language or tool then you hear about yet another (and perhaps better) alternative.

For me, the issue was not any one aspect of web development. Each technology taken individually was not difficult to research, experiment with and learn. The challenge, however, was pulling it all together to create a functional well-designed system. In the end, it seemed that the only way to truly learn it was to do it.

This website is, therefore, a proving ground for my development efforts. I expect that mistakes will be made but the experience will hopefully lead to wisdom. It is also my hope that this website will be helpful to others venturing into web development. (Feel free to contact me if you see any glaring issues or have questions.)