2010-05-27 19 views
18

¿Es una buena práctica no usar mucho javascript/jquery? ¿Deberíamos evitarlo tanto como sea posible (para un buen acceso)?¿Cuándo está bien usar Javascript y cuándo no?

¿Cuándo está bien usar JavaScript y cuándo no está en diseño y desarrollo web? ¿En qué escenarios y con qué condiciones?

Actualización:

que estoy pidiendo en relación con los sitios web públicos.

+0

Ya hay algunas respuestas bastante obstinadas aquí, probablemente la razón para un voto cercano. Sin embargo, parece una pregunta válida, por lo que sugeriría convertirla en una publicación wiki de la comunidad para al menos tratar de evitar más votos cercanos. –

Respuesta

21

Tengo que estar respetuosamente en desacuerdo con los carteles que dicen que no debe usar JavaScript, o usarlo con moderación, o degradarlo con gracia.

La razón es que la gran mayoría de las personas hoy en día tiene JavaScript habilitado y aprecia la experiencia de escritorio que puede ofrecer desde un sitio web. Realmente, ¿quién no tiene JavaScript habilitado? Las personas actúan como si este fuera un grupo estadísticamente significativo. No lo es.

El no usar JavaScript es un poco como la nitidez sobre los tamaños variables (ah, puedo usar un entero de 16 bits aquí en lugar de 32 bits para ahorrar algo de memoria). A menos que esté haciendo un proyecto de monstruo para cientos de miles de personas, donde el retorno de la inversión del tiempo que gasta en hacer que su sitio web se degrade con elegancia es realmente positivo, debe usar JavaScript con la libertad que desee. Las dos personas que no pueden acceder a él porque lo inhabilitaron son paranoicos y probablemente no el tipo de personas que desea como clientes de todos modos.

Sólo mis 2 centavos.

+8

Amen, +1. Siempre y cuando muestres un claro mensaje de disculpa a los usuarios que opten por desactivar javascript, está bien ** depender de JS (con un buen marco de soporte: jquery, dojo, google closure, ...) para tu presentación capa. –

+5

No se trata tanto de cuántas personas deshabilitan Javascript, sino de cuántas no * habilitan * o no las usan por completo.La web se está consumiendo en dispositivos cada vez más diversos, incluidos los widgets de muy baja gama que apenas hacen más que texto sin formato y/o tienen mecanismos de entrada que pueden no funcionar bien con cosas como mouseover. Esto puede o no ser un número significativo de personas, dependiendo del enfoque de su sitio. – deceze

+8

Además, recuerde que las arañas de los motores de búsqueda pueden tener problemas para indexar contenido cargado dinámicamente. Ese es un gran punto a considerar. Recuerde, la web se contenta primero, el silbato y las campanas más tarde. – nico

0

El uso principal de JavaScript es escribir funciones que están integradas o incluidas en páginas HTML e interactuar con el Modelo de objetos de documento (DOM) de la página. Algunos ejemplos simples de este uso son:

  1. de apertura o apareciendo una nueva ventana con control de programación sobre el tamaño, la posición y los atributos de la nueva ventana.

  2. Validación de los valores de entrada del formulario web para asegurarse de que serán aceptados antes de enviarlos al servidor.

  3. Cambio de imágenes a medida que el cursor del mouse se mueve sobre ellas: este efecto se usa a menudo para llamar la atención del usuario sobre enlaces importantes que se muestran como elementos gráficos.

Dado que el código JavaScript puede funcionar localmente en el navegador de un usuario (en lugar de en un servidor remoto) que puede responder a las acciones del usuario de forma rápida, por lo que una aplicación se sienta más sensible.

+4

Parece que fue copiado de un artículo escrito en 1996 que explica que JavaScript se implementó en Netscape 3. –

+2

Ah: fue descifrado de Wikipedia. Estuve cerca. –

12

+1 a todo lo que dijo el Sr. Experto.

Una cosa más para agregar: es no bueno para tener acceso a funciones críticas de su sitio web, confíe en JavaScript. Si JS está deshabilitado en el navegador del usuario, aún así debería poder enviar todos los formularios, hacer clic en todos los botones, etcétera. Su sitio web debe degradarse correctamente en ausencia de JavaScript.

Una nota para formas:
Siempre que sea posible, utilice el enfoque Hijax a la presentación de formas. Haga que funcionen utilizando las actualizaciones de página tradicionales, y luego use JavaScript para "secuestrar" el envío del formulario y hacerlo con AJAX en su lugar. Si el cliente tiene AJAX deshabilitado, los formularios seguirán funcionando bien.

+0

+1 para Hijax !!! – nico

+0

"Su sitio web debe degradarse con gracia en ausencia de JavaScript". Estoy de acuerdo. – Tablet

0

En un sitio web público, está bien usar JavaScript, siempre y cuando la información que contenga su sitio aún esté disponible y la usabilidad siga siendo buena para las personas sin JS.

Si se encuentra en un entorno más controlado como la intranet de una compañía o algo así, tal vez pueda confiar mucho más en JavaScript.

Además, si su sitio es más una aplicación que un documento y su funcionalidad simplemente no es posible sin JS, puede, por supuesto, usarlo.

También puede simplemente aceptar el hecho de que algunas personas tendrán problemas para usar su sitio, pero de todos modos dependen en gran medida de JS. Esa es tu elección.

2

La respuesta de mhr, "Siempre, siempre que se degrade graciosamente", es una buena referencia. Añadiría que se pueden hacer excepciones razonables cuando Javascript proporciona funcionalidad de la aplicación (su sitio es una "aplicación web" en lugar de puramente informativa) que no tiene equivalente en el servidor. Así que, por ejemplo, la "degradación elegante" como regla no debería impedirle crear una herramienta de dibujo basada en la web (que sería, en el mejor de los casos, inútilmente onerosa si se degradaba graciosamente a las formas y la funcionalidad del lado del servidor). Sin embargo, debe evitar que solicite Javascript para acceder a cualquier contenido que la herramienta de dibujo publique a un público que no sea el creador del contenido (porque el creador del contenido, evidentemente, ya ha aceptado que se requiere Javascript para su uso del sitio)

6

Antes de decir nada, permítanme aclarar que todo esto es relativo, es todo acerca de SU PÚBLICO OBJETIVO. La respuesta puede estar en los extremos opuestos del espectro si la mayoría de su público objetivo son las personas con discapacidad en África y mi público objetivo son los jugadores en Corea del Sur.

Primero, observe la proporción de JS habilitado frente a JS deshabilitado en su público objetivo. Para un sitio web promedio, es 100: 1.

En segundo lugar, considere el ancho de banda. jQuery minified y gzipped es 24K. ¿Pero todos los navegadores funcionan correctamente con contenido comprimido? Elija el marco de la interfaz de usuario adecuado o elija si desea usar uno en absoluto, dependiendo del ancho de banda de su público objetivo. Si su público objetivo son los jóvenes con planes de banda ancha de uso intensivo, no se quejarán si el marco tiene un tamaño de megabytes. Pero cuando su sitio web se dirige a aldeas remotas en algún país para un esfuerzo de ayuda o un programa educativo o algo así, entonces evite dichos marcos, apenas puede acceder a Internet.

En tercer lugar, la accesibilidad, dos cosas son importantes:

  1. Cualquier persona debe ser capaz de ver/escuchar/ conocer el contenido en su sitio web.
  2. Cualquiera debe poder realizar todas las funciones importantes en su sitio web.

Una vez que toma el cuidado de ellos utilizando las tecnologías mínimo denominador para su público objetivo, siempre se puede usar javascript para embellecer las cosas y mejorar las funciones básicas existentes (autocompletar, AJAX presentar, etc ...)

Para resumir, degradar con gracia.

Accesibilidad a un lado, no estoy de acuerdo con que degrademos graciosamente en el caso de que alguien tenga JS deshabilitado.

Para equipos de sobremesa con navegadores, diciendo que Cuando la gente no tiene activado Javascript, su sitio web debe funcionar fácilmente a es como decir Su motor de juego deberían poder funcionar fácilmente a DirectX 6 debido a que algunas personas usan Windows 95.. Ya no tiene sentido. Tenga en cuenta la palabra más. Solía ​​tener sentido cuando JavaScript solo estaba presente en el 50% de los navegadores y era una tecnología emergente.

¿Alguien tiene alguna buena razón para que mi juego en 3D pueda degradarse con gracia y usar DirectX 6? Es discutible. Lo que sí tiene sentido es que mi juego usa DirectX 11 en Windows 7 pero se degrada con gracia y usa DX10 en Vista o incluso DX9 en XP.

Vamos ... mira algunas estadísticas. JS habilitado para deshabilitar ratio es como 100: 1

Una vez más, todo cambia si el 80% de su audiencia utiliza un futuro navegador web en un dispositivo móvil con implementación shaky JS para ver su sitio web.

Si la mayoría de su público objetivo/dispositivo tiene habilitado JS, úselo bien. Si no tienen, entonces no. Solo tienes que darles lo que pueden usar y ver.

Siempre habrá una minoría, pero si hay un requisito previo para ver un sitio web y está bastante extendido, deberían tenerlo instalado/habilitado o si no es demasiado malo para ellos. Ciertamente no quieres paranoicos en tu público objetivo.

Al final del día, solo usted tendrá la información que lo ayudará a decidir cuánto debe usar JavaScript. Siempre es dictado por su público objetivo y sus dispositivos.

+0

Estoy de acuerdo, tenemos que trazar la línea en alguna parte. Si el cliente no es compatible con x, y o z, podría ser su responsabilidad proporcionar una alternativa. – CurtainDog

3

Si está desarrollando un sitio web simple, solo debe usar JavaScript para mejorar la experiencia del usuario, y debe degradarse con gracia para aquellos que no lo tienen habilitado. Si su sitio web está centrado en el contenido, entonces así es como debería tratarlo: primero el contenido, las campanas y silbatos basados ​​en JavaScript en segundo lugar. No debe haber una sola pieza de funcionalidad requerida que no funcione sin JavaScript habilitado.

Sin embargo, si usted está haciendo una aplicación web , a continuación, se vuelven locos con ella. Las aplicaciones web son supone para usar JavaScript, por lo que no tiene sentido atender a las personas que lo tienen desactivado; si realmente quieren usar su producto, habilitarán JavaScript (o usarán un dispositivo diferente). No vale la pena la molestia de hacerlo funcionar sin JavaScript habilitado. Es como argumentar que no debes darle a tu videojuego buenos gráficos porque las computadoras de menor nivel no podrán ejecutarlo: las personas que realmente quieran jugar tu videojuego actualizarán su máquina.

0

Con javascript podemos tener una relación cliente/servidor con los usuarios, en el sentido de que podemos usar su poder de CPU para construir la página y liberar algunos recursos de nuestros servidores. entregamos el código y los datos y sus navegadores los unen y es como debe ser. :)

Sinceramente Babak

+0

¿Huh? ¿Cómo está liberando los recursos de servidor? – deceze

+0

Hola, cuando no se crea ningún html en el servidor y simplemente se entrega la matriz a javascript y se dejan que el navegador haga todos los bucles y si & elses. –

0

Bueno, yo estoy no están de acuerdo con su punto de que no usar java script y jQuery con regularidad. ahora un navegador de día es compatible con javascript.Y si tiene que desarrollar un sitio web en el que se requiera validación, debe preferir javascript (para la validación del lado del cliente).

1

Con todo mi respeto al Sr. J. Nielsen: el conservadurismo en el diseño puede ser realmente sin sentido en términos de evolución y progreso. Cuando apareció el flash por primera vez (con las primeras versiones de ActionScript, programación realmente para llevar), surgieron muchas interfaces animadas y ruidosas, la mayoría de ellas casi imposibles de operar en términos de usabilidad. Pero el hecho es que, a partir de todos esos experimentos futuristas, han surgido algunas mejoras cualitativas en términos de IU.

Con javascript sucedió algo similar: lo que era simplemente un widget es cada vez más popular incluso trascendiendo la capa de presentación para manejar cierta lógica comercial: las RIA (aplicaciones enriquecidas de Internet) se basan gradualmente en JavaScript para la experiencia del usuario. Para usar o no usar javascript?

Creo que cada herramienta orientada a mejorar la usabilidad y la interacción es bienvenida en un nuevo mundo que evoluciona continuamente y que es demasiado lejos para tener una forma, dirección o simplemente un plan simple debajo.

Lo que otros dicen aquí es completamente cierto: no vale la pena pensar en uno o dos que todavía tienen javascript deshabilitado, ya que los productores de juegos no se preocupan demasiado si su computadora huele mal y siguen tirando de los límites de los gráficos . Gracias a esto, ya no estamos jugando PACMAN (solo si Google quiere) y podemos disfrutar de Assassins Creed.

+0

Oiga, hable por sí mismo, he jugado Pac-Man mucho más en el último año (en la última semana, incluso) que he jugado en cualquier otro juego. :) –

+0

¡Sí! Pac-Man no fue un buen ejemplo, ya que es un clásico sin fin ... – Moustard

0

Su sitio debe degradarse con elegancia, aunque solo sea por una razón: NoScript. Esa extensión de Firefox depende de la lista blanca para permitir que los sitios ejecuten Javascript. Eso implica que los sitios que nunca he visitado antes no podrán ejecutar Javascript. Es una buena manera de evitar una gran cantidad de ataques de phishing y ataques de cross site scripting (XSS).

Los sitios deben ganarse mi confianza primero. Sí, Ebay y Amazon pueden depender mucho de Javascript, pero un sitio como www.buyviagracheap.com no puede.

Y si, con Javascript deshabilitado, no tiene nada que mostrar, presionaré "volver" rápidamente antes de poder decir "pero ...", y nunca más volveré.

Si, sin embargo, me gusta lo que veo, puedo habilitar Javascript para su sitio y mejorar mi experiencia. Por lo tanto, no es necesario proporcionar funcionalidad completa alternativa con Javascript deshabilitado.

1

NASA es un excelente ejemplo de cómo no usar JavaScript en un sitio web público; parece que están utilizando JS para servir hojas de estilos específicas del navegador que provocan un desastre sin estilo con JS deshabilitado.

+0

¡Oh Dios mío! ¿Cómo demonios terminaron haciendo eso? – nico

+1

Dado que es NASA, no estoy muy seguro de que estar en la Tierra sea su principal objetivo. –

Cuestiones relacionadas