Serverside technology and jobs Serverside technology and vendor lock-in Serverside technology and legacy Possible issues with browser environments becoming outdated quickly Probably a good thing though
Your database operations should be abstracted anyway Persistence & Caching if the client has already downloaded that data why do they need to download it again Client-side prediction - quake Client should do anything it can do easily.
in a quick bit of research, looks like less than 5%, more IE5.5 users
Doesn't need to be complicated don't let it scare you away from making an awesome app There's always a way to fall back nicely Regressive Enhancement
Variables Mixins Cross-browser Templates
CSS not included
No Tests, Bugs around every corner No guarantee that the app actually works Rigorous manual testing means testing doens't happen Unprofessional Documentation The original developer(s) only person who can fix bugs without inducing homicidal rage Documentation gets out of sync if it's too heavy only when totally necessary &quot;Refactoring? Just write it well the first time&quot; Code gets worse with time Urge to rewrite each piece of software every 6 months Knee-jerk Methodology Always in crisis mode Impossible to keep deadlines Overworked staff Minimal technology options Sticking with what you know Don't fix it if it ain't broke When all you have is a hammer everything looks like a nail
There are others but these ones are most general. Allows you to identify 'code smells' in any language Surprising how many people don't read this kind of material These books make it easier to communicate ideas and me not sound like a madman with strange ideas designed to ruin projects
"A polyfill, or polyfiller, is a piece of code (or plugin) that provides the technology that you, the developer, expect the browser to provide natively. Flattening the API landscape if you will."