Trabajo para mi gobierno estatal y, como resultado, la mayor parte de mi desarrollo involucra sitios web interactivos basados en datos. Consultas contra datos históricos, envíos de formularios, cosas por el estilo. Mantenemos nuestro Javascript al mínimo absoluto, por las siguientes razones:
1) La validación de las entradas de formulario siempre debe realizarse en el lado del servidor, nunca en el lado del cliente. Si intenta validar sus entradas en el lado del cliente, todo lo que tiene que hacer un hacker es crear una copia local de su página web y volver a escribir el Javascript para permitir lo que quiere enviarle (inyección SQL, etc.). Su validación debe realizarse en algún lugar bajo su control exclusivo, es decir, en el servidor.
2) Muchos usuarios desactivan Javascript o usan un navegador que puede no implementarlo correctamente. Siendo el gobierno, tenemos que apoyar a todos, incluso si están utilizando equipos realmente REALES. HTML funciona en todas partes; Javascript, no tanto. Al no usar Javascript en sus páginas web, les da una huella muy pequeña en la máquina del cliente, utilizando pocos recursos. Esto maximiza la cantidad de personas que pueden acceder a su contenido. Por la misma razón, no deberías ponerte demasiado loco con tu CSS. Manténgalo simple, manténgalo limpio y deje que las ancianas vean su sitio incluso si su computadora fue comprada en 1999 (Incidentalmente, recibimos llamadas de soporte técnico de personas como esta).
3) Javascript, siendo una herramienta preferida por los "desarrolladores web" en lugar de los programadores del lado del servidor, tiende a ser bastante feo. Y los diseñadores (que es lo que suelen ser los desarrolladores web, si quieres ser honesto al respecto) tienden a no ver el problema con la descarga de "scripts" desde lugares aleatorios en la web. Dicen cosas como "¿por qué reinventar la rueda?" y "No inventado aquí". Entonces, en lugar de escribir su propio código, a menudo solo salen y toman algo de otro sitio, pensando que si está en Internet es un juego justo. Hay dos problemas con esto: A) pueden publicar involuntariamente algún Javascript malicioso que te lleve un tiempo detectar, y B) pueden entrar en conflicto con los derechos de autor de alguien y hacerte demandar. Ambas situaciones deben ser evitadas.
EN GENERAL, Javascript es una mala idea. El código del lado del cliente de CUALQUIER tipo es una mala idea. El lado del cliente solo debe contener lenguaje de marcado y CSS; deje que el lado del servidor maneje el trabajo pesado.