Kennesaw State Univeristy ®
click for Brown's home page

Web Developers' Annotated Bibliography

Table of Contents

Introduction

This bibliography will probably be a work-in-progress for as long as I teach Web Development. Things change so fast on the Web that paper publishing can't keep up, and I can't keep up with the book publishers. Nevertheless, I hope this bibliography will give students of Web development a place to start as they search for reference material or other guidance.

Books listed here are books that I own or have borrowed and am familiar with. There are doubtless many other fine books on the subject of Web development. They are omitted only because I haven't had an opportunity to study them, and for no other reason.

The alert reader will notice a preponderance of books published by O'Reilly. I've been happy with the quality of books from this house for over a decade. Like most of the other books listed here, I own the O'Reilly books I've listed.

You may also notice a dearth of books pertaining to proprietary software. I am a firm believer in standards, and at least one very large maker of proprietary software publicly announced that they had a strategy of "polluting standards" a few years ago. You don't need them to develop leading-edge Web sites. You will find references to open-source software. I'm a believer. The price is right, the quality is generally high, and adherence to standards is usually good. Finally, you may notice a tendency to server-side software. The days when one had to fret about every CPU cycle on the server are long gone, and if the work happens mostly on the server, it's much easier to make your Web pages compatible with any browser. That's a good thing.

In many cases, I've provided links to the publishers' Web pages. That's because book publishers generally have the best and most current information about their books, including information about newer editions. Publishers' sites do not always have the best prices. If cost is important to you, shop around before you buy.

Much of the software listed in the last section is free. Some of it costs money. You should know that I have no relationship with any of the software firms other than that of being a satisfied customer.

General

Some books are important to Web development, but don't fit neatly into any of the categories based on technology. If you pay careful attention to only one section of this bibliography, pay careful attention to this one. Here you will find the gems that didn't fit neatly enywhere else.

Rosenfeld, Louis, and Peter Morville, Information Architecture for the World Wide Web, Second Edition, O'Reilly, 2003.
This book describes the art and science of organizing information so that it is easy to use. It focuses particularly on the Web

Reference

Niederst, Jennifer, Web Design in a Nutshell, Third Edition, O'Reilly, 2006.
This book of over 600 pages covers most of what a non-programmer might want to know about Web development. The first part of the book discusses style and how the Web is different from other media. There are over 200 pages on HTML, including a discussion of cascading style sheets. There's a wealth of information in preparing and using images on the Web, and a section on multimedia. JavaScript, XML and XHTML are given brief treatment in the "Advanced Topics" section. The first edition of this book is available in the SPSU library. This review is based on the second edition.

HTML and XHTML

HTML is what the Web is all about. XHTML is the future-proof version of HTML. You cannot be an effective Web developer without a thorough understanding of these two closely-related languages. Even if you use a WYSIWYG editor, you need a grounding in what goes on under the covers to be effective.

Musciano, Chuck, and Bill Kennedy, HTML and XHTML The Definitive Guide, Fifth Edition, O'Reilly, 2002.
The O'Reilly "Definitive Guide" books are a sort-of cross between tutorial and reference books. The first few chapters will provide a start for someone who has never tried HTML before. The book can be read sequentially or used as a reference. I've used it both ways. In addition to covering HTML and XHTML, there's a chapter on Cascading Style Sheets and one on dynamic content. There's also a chapter on XML and one on executable content. (The Fifth Edition of this book is current; my comments are based on the Fourth Edition.)

XML

XML is the future of the Web, and probably the future of data exchange between heterogenous programs and applications. If you learn nothing else about Web development, learn XML. It is where the future demand for your talents will lie. I know what I'm talking about, so get your nose into these books!

Applequist, Daniel K., XML and SQL Developing Web Applications, Addison-Wesley, 2002. (Copyright 2002 by Pearson Education).
This book is neither fish nor fowl. Applequist explains clearly and presuasively why SQL and XML are complementary technologies, not competing technologies. Applequist advocates partial decomposition in which an entire XML document is stored in a relational database, but where important fields are identified and stored separately as attributes in the same row that holds the entire document. Read this one from cover to cover.

JavaScript

JavaScript is the non-proprietary answer to client-side scripting. It allows the Web developer to embed executable content in HTML pages in a way that's more-or-less portable among browsers. The language itself is standardizes as ECMAScript, and the Document Object Model and event model are standardized by W3C.

Flanagan, David, JavaScript, The Definitive Guide, Fourth Edition, O'Reilly, 2002. This book of just over 900 pages is both tutorial and reference. It will get you started with JavaScript and help you get through the advanced topics. Once you're comfortable with JavaScript, you still won't be done with the book; you'll use it as a reference every time you need one. The author pays special attention to the differences between implementations and has plenty of advice on writing portable code. I've owned the Second and Fourth editions.

Java

Flanagan, David, Java In a Nutshell, Fifth Edition, O'Reilly, 2005. At more than 1,200 pages, I'm not sure how this qualifies as "in a nutshell." If you need to know something about Java, it's in here. (This review is based on the fourth edition.)

Qian, Kai, Richard Allen, Mia Gan, and Bob Brown, Java Web Development Illuminated, Jones and Bartlett, 2007. Rather than being about Java in general, this book takes a step-by-step approach to the application of Java (and XML) to Web application development. Uhhh, you might say I have a personal interest in this one.

Perl

Perl is a general-purpose programming language, but its integration with the Apache Web server and its wide portability make it a language of choice for writing Common Gateway Interface (CGI) programs for Web applications. Perl is somewhat, er, eclectic. If you're just starting out, consider PHP as well as Perl.

Schwartz, Randall, and Tom Phoenix Learning Perl, Third Edition, O'Reilly, 2001.
This book is a tutorial for the Perl language. If you're already familiar with two or more high-level languages, skip directly to Programming Perl. However, if programming comes hard for you, and especially if you're trying to use a procedural programming language for the first time and you need or want Perl, then this is the book for you. It will lead you (more or less) gently through the Perl language. Plan on applying the discipline to work through the book without skipping around, and be sure you have a way to run Perl programs so you can try things out. (This book is out of print but may be available used; my comments are based mainly on the first edition.)

PHP

Tatroe, Kevin, Rasmus Lerdorf, and Peter MacIntyre Programming PHP, Second Edition, O'Reilly, 2006.
I learned PHP from the first edition of this book. It has everything. Not only is there reference material and tutorial material, the book also explains best practices. (My comments are based on the first edition.)

Williams, Hugh E., and David Lane Web Database Applications with PHP and MySQL, Second Edition, O'Reilly, 2004.
I haven't actually read this one, but the publisher's material has caused it to be on my wish list. Some of the most practical and effective Web aplications today are being developed with the LAMP tools: Linux, Apache, MySQL and PHP. From an application development standpoint, PHP and MySQL are the two most important of those tools.

Databases

Databases are what make e-commerce Web sites tick. And many others, too. The idea is to store data using a database and present it using HTML or XHTML. To do that effectively, you must understand databases and database languages as well as the languages of the Web. Databasemen use the acronym ACID to to talk about the desireable traits of a DBMS: Atomic, Consistent, Isolated, and Durable. Of the open-source databases PostgreSQL seens to have the edge in the ACID qualities. MySQL had the performance edge the last time I checked. The Big Two commercial DBMSs are Microsoft SQL Server and Oracle. (Listed in alphabetical order!) Don't count out IBM's DB2, either.

Applequist, Daniel K.
See the review of Applequist's book in the Database section of this bibliography.

Momjian, Bruce, PostgreSQL Introduction and Concepts, Addison-Wesley, 2001
Monjian is a principal developer of PostgreSQL and probably knows it as well as anyone on the planet. The book does an extremely good job of serving two masters: Teaching SQL and explaining how to use the particular implementation that is PostgreSQL.

Servers

Laurie, Ben and Peter Laurie Apache: The Definitive Guide, Third Edition, O'Reilly, 2002.
This isn't a book about Web development or Web programming. If that's all you do, you may not need it. However, if you are also the server adminstrator, you do need it. It tells you how to make Apache do what needs to be done. If you're a developer, it'll tell you what the server's capable of. The third edition covers Apache 2.0. If you're not running 2.0, you probably should be. My remarks are based on teh second edition.

If you hold yourself out as an expert consultant in Web matters, develop software on contract, develop software that you hope to sell, or even just work at Web development as an employee, you also need to be able to avoid running afoul of the legal rights of others. This topic may not be as much fun as some of the others, but it's no less important.

Fishman, Stephen, Web & Software Development A Legal Guide, Third Edition Nolo Press, 2002.
Nolo Press publishes a full line of legal self-help books. This one started out as a general-purpose book on software and the law and gained some Web-specific content in the third edition. Reading it will help you learn what right you have (and don't have) in the software you develop. It'll also help keep you from running over the rights of others and so getting into legal trouble. The book includes a CD-ROM with copies of the many forms. About half the book is devoted to intellectual property law. The rest covers employment, consulting and development agreements and software licenses. This book will help you do a lot for yourself, and it will help you know when you need a lawyer. The last chapter provides solid advice on finding a lawyer if you need one. My own advice is that you need a lawyer when substantial sums of money are involved, if you are sued or receive a credible threat of a lawsuit, or if you are seriously considering filing a suit. But I am not a lawyer, and this isn't legal advice. You'll have to exercise your own judgement, and this book will help you do that.

Software

The right software can make your Web work much easier. For this Web Development class, you are required to work directly in HTML. Even so, here are some programs that can help you.

Browsers

If you are developing Web pages, you need a copy of Microsoft Internet Explorer. IE has over 90% of current (2005) market share, so nine out of ten of your readers are likely to be using it. You need to be able to see what they're seeing.

However, if you are using IE for development and testing, especially for JavaScript development, you're working too hard. Get Mozilla Firefox from http://www.mozilla.org/ and use the JavaScript Console you will find under the "Tools" menu. It provides much better error messages than IE. (Firefox is free, but considering donating a few tax-deductible bucks to the Mozilla Foundation. You can donate using PayPal. If everyone who downloaded Firefox also donated $20, the pace of development could be increased substantially.)

Install Firefox with the "custom" option to get the nifty "DOM Inspector" tool. This tool lets you view the Document Object Model tree of a Web page. You will use it when you're doing fancy things with JavaScript.

Many programmers have contributed extensions to Firefox. You can view and download these here: https://addons.mozilla.org/extensions/?application=firefox. I've downloaded Fangs, which lets me read what someone with a screen reader would hear on my Web pages, Colorzilla, a color picker, and MeasureIt. There are many others. If you have a need for an extension, chances are someone's already written it. The Firefox extensions are free.

Something you might not know you need until you get it is LiveHTTPHeaders from http://www.mozdev.org/. This Firefox extension adds a new window that shows the HTTP protocol traffic between your browser and the servers it is talking to. It's free.

Communication and Terminal Emulation

If you plan to interact with Unix servers in this course or at work, you will find van Dyke Software's "Secure CRT" program far superior to the standard telent client available with Microsoft operating systems. You can download a 30-day evaluation copy free. If you decide to buy, van Dyke offers a special student price for Secure CRT as well as their other products. (Van Dyke also offers software called "CRT." You want the "Secure CRT" version. It will do everything the older version does, and also offers SSH encrypted connections.)

Several students have told me that PuTTY, a free telent client that includes security features, is also a suitable replacement for the Windows telnet program. I haven't tried it because I bought Secure CRT and I'm happy with it. If you want to try it, start here: http://www.putty.nl/. PuTTY is available from many mirror sites; be sure to check the "home" site using the link above to find the current version.

Editing HTML

HTMLKit is an HTML-aware editor and development environment. You can download and use it free. Access to the "Pro" add-ons requires a $55.00 registration fee.

If you have to support non-programmer editing of Web content, you might want to buy each person who will edit content a copy of Adobe Contribute. You can read about Contribute at http://www.adobe.com/. It's not cheap, but anyone who can write a letter with MS Word can edit a Web page with it, and as a developer, you can describe which areas of a page are editable and which are not.

For professional Web development, get the Adobe Web Studio bundle from Adobe. (Bring money!) Although pricey, this bundles Dreamweaver, the 800-pound gorilla of Web development, with Flash and Adobe Fireworks, giving you almost all the tools you need for the page creation part of Web development.


Last updated: 2016-08-07 18:26