Web Developer Checklist (2006)

Here’s a list of technologies you should know if you want to hang out with the cool geeks.  ;-) But seriously, if you’re building web sites and some of this stuff is unfamiliar you need to get with the program before you’re replaced!

Hypertext Transfer Protocol (HTTP)

Understanding the Hypertext Transfer Protocol (HTTP) is essential to being a good web developer or web application tester.

The specification is no fun to read but its actually pretty easy to learn. Before you start digging into it check out the HTTP requests that your favorite web page makes with the live http headers plugin for firefox.

…… more to come

Caching tips and tricks

coming soon..

Web Standards

Before you start pushing pages and applications to the internet you really should have a handle on Web Standards. Browsers have come a long way since the 90s and if you are still using tables for layout you really need to get with the program.

You MUST read Designing with Web Standards (2nd Edition) by Jeffrey Zeldman (Paperback – Jul 7, 2006)

I used to call this the orange bible but the 2nd edition is green. :-P

Again. if you only read one book this year and you’re a web developer read this book.

 

XHTML

Learning HTML isn’t enough. You really need to use XHTML. And your pages should validate.

Validating your pages at validator.w3.org not only ensures that your page will not cause browsers heartburn, it is also very useful for finding unintended bugs in your markup.

The validator isn’t perfect but there is no reason NOT to run your pages through it.

Some people run tidy on their pages but you really should code valid pages in the 1st place.

Javascript

1st things 1st. Javascript has nothing to do with java. They are unrelated and do not resemble each other. So if you’re a manager and you just asked you javascript developer to write some java code you deserve the blank stare. (unless the developer knows java too)

A few years back I was anti-javascript. Browser support was inconsistent and much of the code on the web was poorly written. Now that web applications are trying to challenge their desktop counterparts javascript is a necessary evil. Browser support is better today and it has a standardized (ECMA) version now. more info

… more to come

CSS

Throw away those font tags and table layouts. CSS is your friend and it can make your page lighter, faster and prettier when used correctly. And there’s even a validator  :-)

 

XML

XML is simple enough to learn and its a nice format for passing data around so you might as well learn it. One issue with XML is that it tends to be verbose. This is by design but many web services are ditching XML in favor of JSON.

One warning when using XML. There are plenty of standard XML data defintions out there today so don’t reinvent the wheel. Thinking of creating an XML schema for listing out messages? Don’t! RSS has been in use for years. Always look for a standard schema that might fit your needs before inventing one.

See also http://www.tbray.org/ongoing/When/200x/2006/01/08/No-New-XML-Languages

REST and SOAP

When people talk about web services they usually start talking about SOAP. SOAP is overly complicated for my use. A lose interpretiation of REST defines any web page as a REST service. Its just a simple HTTP request and response.

I will say that if your work for a large company that has purchased a lot of SOAP tools and libraries then you can probably build some pretty nice web services quickly but in general I think it is overkill for the average service. The already has methods for data transfer and securty that work fine for most purposes so REST is all I use.

JSON

Read about JSON and you’ll ask what’s the big deal? This stuff is simple…. EXACTLY. Because this format is simple and easy to parse EVERYONE is jumping on the bandwagon. Many web services are skipping XML altogether and just returning JSON data.

RSS / ATOM

 

Microformats

Links and presentations by Kevin Lawver are here

Apache

Apache is the workhorse of the internet. Most developers spend very little time learning the power of apache. They get it setup and they go on their way. The problem is that apache has so many powerful modules that developers could leverage if only they knew they existed. Often times developers end up writing server side logic (in tomcat or elsewhere) that apache could do for them with more flexablity and speed.

Some great apache modules are

  • mod_alias
  • mod_expires
  • mod_headers
  • mod_rewrite
  • See whole list here

 

Debugging

Editing CSS and Javascript on Live Sites