jorvis AT users.sf.net

content

introduction

This section covers the basics of HTML programming, with an emphasis on properly tagging your text with appropriate structural markup. In english, that means we want to write just enough HTML to describe and organize the information to present on our page, but with as little concern for presentation as possible.

If you already have some experience developing web pages you might be tempted to skip this section. I encourage you to read on, especially if you have been using tables for page layout or can't explain the difference between the various doctypes available (or worse, you don't use them.) If you are new to HTML this section should give you a good framework for getting started on your own pages.

choose your weapons

fair and balanced

This section discusses editors, browsers, and other tools for the web. Programmers usually have rather strong opinions for and against the different tools I mention below and, as in politics, always believe their candidate is the best. It's always best to try a few different ones out until you get the feel for what you like best.

editors

To start, you'll have to decide what software/program you want to use to create your pages. What software you use depends completely on your own preference (so long as it isn't Microsoft FrontPage). Editors range from graphical suites (IDEs) with lots of bells and whistles to simple text editors that do nothing but accept keyboard entry. The best place is probably someplace in the middle. On Windows a great IDE is Macromedia Dreamweaver, though it can be a bit pricey. If you're on Windows and prefer more simple (and free) editors, you can try Developer's Pad. If you're using Linux you probably already have a favorite text editor already, but emacs, vi, and nedit are all popular. The closest thing to a free IDE I've seen under linux and OS X is bluefish, but it has nowhere near the power of it's Windows counterpart (Dreamweaver).

No matter what you use to write them, HTML pages are always just plain text, so what you use to create them is completely a matter of personal style. If you are new to web development, I would suggest using a simple editor that forces you to write all the code on your own. It is difficult to master a skill completely if a software package doing all sorts of 'magic' in the background and manipulating your page. Also, editors that auto-manage a lot of your code usually do so in a less-than-optimal way and may not conform to W3C standards.

browsers

This can be a touchy issue because, like editors, people usually feel pretty strongly about their favorite browser. From a developer's point of view, you'll probably most enjoy a browser that recognizes your code and renders it correctly. Because all browsers have quirks in the way that they render even standards-compliant code it is difficult (but possible) to avoid code that renders one way in one browser and very differently in another.

Microsoft's Internet Explorer is, by far, the most commonly used browser. It also has a terrible reputation for lack of standards compliance and CSS support. Chris Wilson, their Group Program Manager for IE Platform and Security, has even allowed in this candid article that they "fully recognize that IE is behind the game today in CSS support."

IE has fallen short in browser development simply due to a lack of competition. When it arrived on the scene they trounced Netscape, then the dominant browser, so soundly in the browser wars that there was no serious competition left. Without competition development stagnated and there hasn't been a new, major release of IE since 2001, as seen in the release history.

plugins / extensions

Many of the modern browsers, such as Firefox, allow users to create plugins and extensions to extend the capabilities of the browser. My favorite testing platform is Firefox using Chris Pederick's Web Developer extension.

Hopefully though, things may be improving on the browser front for Microsoft. In the same article mentioned above, Chris Wilson describes a main focus for the upcoming 7.0 release of Internet Explorer.

I want to be clear that our intent is to build a platform that fully complies with the appropriate web standards, in particular CSS 2 ( 2.1, once it's been Recommended). I think we will make a lot of progress against that in IE7 through our goal of removing the worst painful bugs that make our platform difficult to use for web developers.

During this period of stagnation for IE development, other browsers have begun to come to the fore. The most popular of them are the multi-platform Firefox and Opera. Others include Epiphany and Konqueror on unix/linux and Safari and Camino on Apple's OS X. Also interesting is the Mozilla SeaMonkey project currently under development.

Now that we have a bit of an idea of the variety of tools available to create and view the pages you create let's get on with the details of how they are created.