No voy a ser el defensor del diablo, pero no hay una relación estricta entre el trabajo amateur y el JavaScript en línea. Veamos el código fuente de varios sitios web más conocidos:
- Google,
- Wikipedia,
- Microsoft,
- Adobe,
- Dell,
- IBM.
Cada una de sus páginas de inicio usa JavaScript en línea. ¿Significa que todas esas empresas contratan personas amateur para crear sus páginas de inicio?
Soy uno de esos desarrolladores que no pueden poner código JavaScript dentro de HTML. Nunca lo hago dentro de los proyectos en los que trabajo (excepto, probablemente, algunas llamadas como <a href="javascript:...">
para los proyectos en los que el JavaScript discreto no era un requisito desde el principio, y siempre elimino el JavaScript en línea cuando refactorizo el código de otra persona. Pero lo hace Vale la pena el esfuerzo? No estoy tan seguro.
En lo que respecta al rendimiento, no siempre tiene mejores actuaciones al colocar JavaScript en un archivo separado. Por lo general, nos sentimos tentados a considerar el ancho de banda de desperdicio de JavaScript en línea, ya que no se puede almacenar en caché (excepto cuando se trata de código HTML almacenable estático). Por el contrario, un archivo .js externo se carga solo una vez.
En realidad, esto es solo otra optimización prematura : puedes tener razón al pensar que la externalización de JavaScript podría mejorar tu sitio web, pero también puedes estar totalmente equivocado:
- ¿Qué pasa si la mayoría de los usuarios vienen con un caché vacío?
- ¿Consideró que con un archivo .js externo, se realizará una solicitud a este archivo en cada solicitud de página, si el sitio web no está configurado correctamente (y generalmente no lo está),
- ¿El archivo .js realmente está en caché (con IIS, puede que no sea tan fácil)?
Entonces, antes de optimizar de manera prematura, recopile estadísticas sobre sus visitantes y evalúe las actuaciones con y sin JavaScript en línea.
Luego viene el argumento final: mezcló JavaScript y HTML en su fuente, así que apesta. Pero ¿quién dijo que mezclaste ambos? El código fuente utilizado por el navegador no siempre es el código fuente que escribió. Por ejemplo, el código fuente puede estar comprimido, minimizado, o varios archivos CSS o JS pueden unirse en un solo archivo, pero esto no significa que realmente nombraste las variables a
, b
, c
... a1
, etc. o que escribiste un enorme archivo CSS sin espacios ni nuevas líneas. De la misma manera, puede hacer que el código fuente externo de JavaScript se inyecte fácilmente en HTML en el momento de la compilación o posteriormente a través de las plantillas.
Para concluir, si combina JavaScript y HTML en el código fuente que escribe, debería considerar no hacerlo en sus proyectos futuros. Pero no significa que si el código fuente enviado al navegador contiene JavaScript en línea, siempre es malo.
- Puede ser malo.
- Por el contrario, puede ser una señal de que el sitio web fue escrito por profesionales que se preocuparon por el rendimiento, realizaron pruebas específicas y determinaron que sería más rápido para sus clientes acceder a las partes en línea de JavaScript.
- O puede que no signifique nada en absoluto.
así que es una vergüenza para la persona que dice "sitio muy bueno, vergüenza acerca de las secuencias de comandos en línea en el código fuente" mirando solo la fuente enviada al navegador, sin saber nada sobre cómo se realizó el sitio web.