I'm just going to reply to a couple points on JS: We write code that runs on the client-side primarily for performance. Rendering without needing to send more data over the network or run more code on our servers is a huge win... Especially when we're not building traditional "web pages", but rather full web-apps - requiring fairly complex UI and business logic.
Plus, JS isn't something to be avoided these days. Its become a full-featured language and is as powerful if not more powerful than .NET
For my site, I'm just going for
"traditional web pages".
Sure, it did occur to me that I could program
my site so that the user saw only one
URL and that URL would keep changing as appropriate
for the user's dialog. A few minutes after
I noticed that possibility, I gave it up.
Sure, with that possibility, maybe the big
deal would be write nearly all the
'logic' in JS to run on the client, with
a lot of AJAX threads, using the server as
a remote database or some such. Okay, if
you want to do that. I'm not sure I've seen
many such Web sites. Maybe someday I will
want the architecture of my site to be
like that, but for now I'm staying with
tradition.
And for using a lot of JS on the client,
I'd be concerned about the ability of
a lot of advanced
JS to do what I wanted, reliably, on
all the mobile to desktop computers in the
world; instead I just want to
send some simple HTML, a little
CSS, and maybe some minimal JS that Microsoft
writes for me, which will be okay, I hope.
Okay, good: As long as I'm staying with
a traditional Web site architecture,
without JS I'm not
missing much. Good to know. I'll conclude
the same about version n + 1 of CSS.
Plus, JS isn't something to be avoided these days. Its become a full-featured language and is as powerful if not more powerful than .NET