[AccessD] Web Applications

Kenneth Ismert kismert at gmail.com
Sun Apr 5 16:50:47 CDT 2009


Mark,

Max gave a good outline of the skills needed to make a web application, and
William provided good insight, too: you don't have to be an expert in all
these categories to produce a good web site.

A one word summary of this post would be "frameworks". For more words, read
on. For references, go to the end.

As far as the learning curve goes, I would say:

1) HTML - Easy
   You are on the standards-compliant, table-less div-based layout
bandwagon, aren't you? Advice: build your HTML/CSS in FireFox using the
FireBug add-in, then fix compatibility issues that arise with other
browsers. FireFox is far and away the best developer's web platform out
there.

2) CSS - Difficult, but getting easier --
   Mainly because of cross-browser compatibility issues *cough* IE6 *cough*.
IE6 consumed almost 2/3 of my CSS consulting time on one large project I was
on. Blessedly, IE6 is dying, and the worst cross-browser issues are dying
with it. Use IE7 as your lowest common denominator when designing
standards-compliant sites.
   There is so much CSS documentation out there (a lot incomplete, some
misleading or just plain wrong), that it can be hard to find the critical
points you must grasp to make your style sheets work. Get a good book. See
below.

3) Javascript/DHTML - Hard --
   Javascript was a rushed project that instantly became the web
client-scripting standard after it was launched, and it carries all the
warts of its hurried design with it today. That means the web is awash with
bad coding examples and confused advice on how to use it. Javascript is, at
it's heart, Lisp with a C syntax. If you use it in a Lisp-like way
(first-class functions, closures), you will get the highest value.
  There are an enormous number of mature Javascript FRAMEWORKS out there
that will perform AJAX/DHTML functions with ease. If you are doing anything
non-trivial with Javascript, you must choose and use one.
  Javascript is poised for a renaissance. All the significant browser
players (MS is not a significant player) are building Javascript
optimization technologies that will dramatically improve it's performance.
Javascript will equal or exceed Silverlight's capabilities as an client-side
web application platform.

4) Back-end database - In hand --
   Members of this list will have no trouble building databases to support
web apps.

5) Back-end business logic - Doable --
   Sorry, but you can't use VBA. You'll have to use something newer, like
PHP, Python, Ruby, or .NET. All modern web languages are vastly better than
VBA -- once you learn one, VBA will strike you as limited and clumsy.
   Don't build your site from scratch using just your chosen language --
that's so Web 1.0! The language is secondary to your real choice: what web
FRAMEWORK to use in that language. Web frameworks are a philosophical and
sometimes religious choice, but you can choose based on breadth of support
and applicability to the type of application you are building.

6) Graphics - Use a Mac --
   Or find someone who does. What I'm saying is, if it's not your cup of
tea, get a designer. GIFs are out, PNG is in. Don't edit a Mac-made PNG on
your PC -- you'll screw up the gamma, and your designer will complain.

7) Web architect - No one right way --
   Once you've mastered a subset of these skills, putting it all together is
one of the simplest things. If you can get it to work, you've done it right.
If your site is successful, you will have plenty of time to fix your
mistakes.

Books:
JavaScript: The Good Parts -- http://oreilly.com/catalog/9780596517748/ --
Douglas Crockford
Crockford, a curmudgeon and world's leading Javascript expert, tells you
what to use in Javascript, and what to avoid, in a dense, slim volume.

Stylin' with CSS -- http://www.stylinwithcss.com/ -- Charles Wyke-Smith
Wyke-Smith gives a correct, fairly complete, and up-to-date tour of CSS,
while avoiding common pitfalls.

Links:
The Browsers of 2009 -- http://css.dzone.com/news/browsers-2009
A cost/benefit analysis of developing for the various browser platforms --
the IE6 comments bear out in my experience.

CSS: Specificity Wars --
http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html
Andy Clarke gives by far the most approachable introduction to the CSS
specificity that I've seen. If you don't understand specificity, you'll
struggle endlessly trying to get your CSS to work.

-Ken



More information about the AccessD mailing list