2008-09-15 19 views
13

Es otoño de 2008, y todavía escucho a los desarrolladores decir que no se debe diseñar un sitio que requiera JavaScript.¿Debería diseñar sitios web que requieran JavaScript en esta época?

Entiendo que debe desarrollar sitios que se degradan con gracia cuando JS no está presente/encendido. Pero, ¿en qué momento no incluye la funcionalidad que solo puede funcionar con JS?

Supongo que la pregunta se reduce a los datos demográficos. ¿Hay números de cuántas personas navegan sin JS?

Respuesta

0

5% de acuerdo con estas estadísticas: http://www.w3schools.com/browsers/browsers_stats.asp

+6

Creo que este número solo cubre a los usuarios de w3school.com, y podría ser un tanto atípico: se puede ver que el porcentaje de Firefox es inusualmente alto. –

0

Como usted ha dicho, la demografía. La web se está expandiendo a dispositivos que no tienen mucha potencia, por ejemplo, teléfonos celulares. Si su sitio es utilizable sin javascript, es probable que Opera Mini muestre su sitio sin ningún problema.

8

Dos preguntas sencillas para ayudarle a decidir ...

  1. ¿Si se usa Javascript a proporcionar alguna funcionalidad núcleo de su sitio?
  2. ¿Está preparado para limitar sus usuarios potenciales a los que tienen JS? (es decir, la mayoría de las personas)

Si responde afirmativamente a ambas, ¡vaya!

Los sitios web se están moviendo (¿se movieron?) De las páginas estáticas de información a las aplicaciones web interactivas. Sin algo como Javascript o Flash, a veces no es posible realizar interacciones atractivas con el usuario.

0

Creo que las implementaciones de Javascript en la mayoría de los navegadores modernos han alcanzado un nivel razonable de madurez y hay un montón de marcos de interfaz de usuario de Javascript que permiten crear aplicaciones web atractivas basadas en Javascript utilizando servicios web (sin importar la parte posterior plataforma del servidor final). - tienen un marco de widgets AJAX + UI muy extenso que utilicé recientemente para construir una aplicación web interna completa para un cliente con un back-end ASP.NET (para servicios web).

0

Es el siglo 21. Las personas que no permiten JavaScript deben salir del último milenio, de manera anticipada. Es una tecnología madura, ampliamente utilizada y muy útil que es uno de los fundamentos de la reciente expansión en servicios web útiles.

27

Con tal de que usted es consciente de las limitaciones de accesibilidad que puede ser la introducción, es decir, para los usuarios del software de lectura de pantalla, etc.

Es una cosa para excluir a las personas porque eligen para apagar o JS utilice un navegador que no lo admita, y otra completamente distinto es excluirlos por una discapacidad.

+0

Si bien fue respondido hace un tiempo, cualquiera que se encuentre con esto podría estar interesado en esta página http://a11yproject.com/posts/myth-screen-readers-dont-use-javascript/ que destaca: "Un error común entre los desarrolladores web es que los lectores de pantalla solo leen la página que no es de JavaScript. Debido a este concepto erróneo, a veces suponemos que no es necesario hacer accesibles las aplicaciones de JavaScript y otras funciones. Esto es categóricamente falso ". –

2

Creo que los días de los "sitios de contenido solamente" se han ido. Lo que vemos ahora es WWW emergiendo como la plataforma de aplicaciones web, y los últimos desarrollos en el frente del navegador (acelerando JS en particular) son una indicación de esto. No puede haber respuesta "sí" o "no" a su pregunta; debe decidir dónde se encuentra el sitio de contenido < ----> la continuación de la aplicación web de su sitio y cuán esencial es la experiencia que proporciona JavaScript. En mi opinión, sí, es aceptable tener aplicaciones web que requieren Javascript para funcionar.

4

Diseñar para degradar con gracia es lo máximo que se debe hacer. Nos estamos moviendo/hemos pasado del punto de los "sitios" web simples a las "aplicaciones" web. La única opción además de las secuencias de comandos del lado del cliente para agregar viajes redondos al servidor.

Creo (opinión personal) que el "no usar JavaScript" proviene más bien de una falta de comprensión de lo que JavaScript es/hace que cualquier dato real del mercado que muestre que un número significativo de personas está navegando sin él.

0

Creo que se trata de lo que está a punto de hacer. ¿Estás escribiendo una APLICACIÓN web? Entonces creo que está obligado a usar javascript y/o algo así como GWT. Solo eche un vistazo a todos los sitios sociales y aplicaciones de google como gmail. Si está escribiendo una página web con descripciones de productos y apenas interactividad, puede hacer que el javascript sea opcional.

0

Debe vincular la funcionalidad de su sitio web a su audiencia. Dicho esto, todos los navegadores modernos (excepto para la plataforma móvil) incluyen javascript, por lo que a menos que su audiencia incluya luddites con computadoras de décadas de antigüedad, puede suponer que tienen javascript.

Las personas que necesita preocuparse, entonces, son aquellas que específicamente lo apagan. Esto incluye:

  • Las redes corporativas con seguridad resistente (no es común, pero algunas instituciones financieras y de defensa)
  • paranoides web cabezas

Así, en primer lugar, que es su público? ¿Hay otros sitios web que sean comparables a su objetivo? Mire su sitio y su éxito: ¿se degradan con elegancia y estaría satisfecho con su nivel de éxito?

Sin embargo, si se dirige a aplicaciones móviles, no puede garantizar javascript.

-Adam

1

Es razonable diseñar sitios que utilizan JavaScript, pero no es seguro asumir que todos los clientes tienen soporte para Javascript y por lo tanto es importante proveer una experiencia satisfactoria incluso cuando JavaScript no está disponible

0

Yo diría que debería mirar a su público objetivo. Si puede razonablemente esperar que tengan js habilitado, y hacer que todo funcione sin js es demasiado doloroso, entonces por supuesto, siga adelante e ignore a la multitud que no es JS, si, por otro lado, tiene que cree un sitio que será utilizado por un público muy grande/o quizás esté construyendo un sitio web gubernamental, luego debe asegurarse de que todo funcione, y es más fácil en esos casos construir primero el sitio para que funcione sin ningún js, y agregue todos los agradables bits ajaxy para ahorrar tiempo más tarde.

En general, casi todos tienen js habilitado por defecto.

Aunque debe tener en cuenta que la validación del lado del servidor de los datos publicados por el usuario es obligatoria en cualquier caso.

1

Degradando con gracia es imprescindible.Como mínimo, asegúrese de utilizar la etiqueta NOSCRIPT para informar a los posibles clientes primero que su sitio requiere javascript y, en segundo lugar, por qué lo necesita.

Si se trata de menús ostentosos y presentaciones a las que honestamente podría importar menos, entonces probablemente no me molestaré en volver. Si hay una razón real por la que necesita javascript (validación del lado del cliente en los formularios, o una situación real que requiere AJAX por razones de rendimiento), dígalo y sus visitantes responderán en consecuencia.

Instalo extensiones que limitan Javascript y Cookies. Los sitios web que no indican de forma destacada sus requisitos de ambos generalmente no reciben una segunda visita a menos que haya una necesidad real.

0

Nunca debe diseñar un sitio público para confiar en NINGUNA tecnología/plataforma. El agente de usuario no puede mostrar el color (pensar en lectores de pantalla), mostrar gráficos (de nuevo, pensar en lectores de pantalla o navegar solo en texto como enlaces), etc.

Diseñe su sitio para el mínimo común denominador y luego realce progresivamente a agregar soporte para tecnologías específicas.

Para responder la pregunta directamente: No, no puede suponer que sus usuarios tienen Javascript, por lo que su sitio debería funcionar sin él. Una vez que lo hace, mejorarlo con Javascript.

+0

"Nunca debe diseñar un sitio público para confiar en CUALQUIER tecnología/plataforma" - LOL. De Verdad? ¿Quiere decir que confía en alguna tecnología específica, como, por ejemplo, HTML o HTTP sería malo? : P Ja ja. Dame un respiro, en algún punto debes confiar en algo, y JavaScript ahora está en ese punto –

+0

¿Y qué pasa con tus visitantes que usan lectores de pantalla u otras tecnologías de asistencia que no admiten Javascript ?. ¿No merecen acceder a tu contenido también? – RichardAtHome

1

no se trata de la capacidad del navegador, se trata de control del usuario. Las personas que instalan el complemento noscript para Firefox para que no tengan que aguantar basura (el mismo problema que inspiró el desbordamiento de la pila) no permitirá que su sitio web haga nada no estático hasta que confíen en usted.

0

En términos de software de cliente, considere los usuarios/clientes que utilizan un navegador que admite JavaScript pero no todos. Por ejemplo, la mayoría de los navegadores de teléfonos móviles admiten un poco de Javascript pero nada muy complicado. Los navegadores en dispositivos como Playstation 3 son similares.

Luego hay navegadores como Opera Mini, que admiten una gran cantidad de Javascript, pero que operan en un entorno donde los scripts se ejecutan en un servidor que luego envía los resultados a un dispositivo móvil.

1

Estoy de acuerdo con la mayoría de los encuestados de stackoverflow. JavaScript ha madurado y ofrece un nivel de funcionalidad "extra" para una página web, especialmente para formularios. Aquellos que apagan las cookies y JS probablemente han sido mordidos mientras navegaban en aguas peligrosas. Para los usuarios corporativos que pagan a mi manera, ya sea en sitios B2B o minoristas, JS es una herramienta comprobada y confiable. Hasta que llegue algo mejor (y lo hará), me quedaré con JS.

1

Debe diseñar sitios web con Javascript en mente, pero no implementados. Considere, contrólelo donde cada clic, cada acción, realice un viaje de ida y vuelta al servidor. Esa es la funcionalidad predeterminada para navegadores más antiguos, y aquellos sin JS activados.

Luego, una vez que todo esté construido y todo funcione correctamente, agregue JavaScript que secuestra el enlace, botón y otros eventos, y superponga su funcionalidad estándar con la funcionalidad de Javascript que usted desea.

La creación de la aplicación de esta manera significa que SIEMPRE funcionará, que en definitiva es lo que está buscando.

1

La respuesta sabiduría recibida es que se puede usar JavaScript (o cualquier otra tecnología) que proporciona que 'se degrada con gracia' ...

Tengo experiencia con las organizaciones de discapacidad, por lo que la accesibilidad es importante para mí.Pero igualmente, estoy en el negocio de crear sitios web atractivos y utilizables, por lo que javascript puede ser un poderoso aliado. Es una llamada difícil, pero si puede construir un sitio enriquecido, con ayuda de JavaScript, sin alienar completamente a los visitantes que no son js, hágalo. Si no, tendrás que mirar el contexto del sitio y decidir qué camino tomar.

Independientemente de esto, no hay derechos ni errores con esta pregunta. Sin embargo, en algunos países, existe la necesidad de crear sitios "públicos" para que sean accesibles, por lo que este puede ser otro factor más en su decisión. [En el Reino Unido, es la Ley de Discriminación por Discapacidad ... aunque, por lo que sé, ninguna compañía ha sido procesada por incumplimiento)

0

Hay un complemento para Firefox llamado NoScript que tiene 27.501.701 descargas. Si su sitio no funciona sin JavaScript, la mayoría de esos tipos no querrían usarlo.

¿Por qué instalaría ese complemento? ¿Alguna vez quiso deshacerse de la ventana emergente en el sitio que cubre la mayor parte del texto útil que desea eliminar? ¿O deshabilitar la animación flash? ¿O asegúrese de que el sitio malvado no robe sus cookies?

+0

Los usuarios de NoScript siempre podrían incluir en la lista blanca el sitio, solo tendrían que ser conscientes de que deben hacerlo. –

2

Los motores de búsqueda no son compatibles con JavaScript. También son ciegos y no son compatibles con CSS. Así que mi sugerencia es asegurarse de que la parte de su producto que debe ser indexable por los motores de búsqueda funcione sin JavaScript y CSS. Después de eso, realmente depende de las necesidades de tus usuarios.

Si tiene un subconjunto de usuarios muy limitado, puede consultarlos. Pero recuerde que el 10% de la población tiene alguna forma de deterioro que va desde problemas de visión (baja visión, daltonismo, etc.) o funciones motrices (baja destreza manual). Estos problemas tienden a ser más prominente en los ancianos y los discapacitados, a sabiendas

Si su sitio va a apuntar a la audiencia general de los usuarios de Internet, por favor, que sea degradan con gracia, pero si usted no puede hacer eso, entonces hacen una no- Versión de JavaScript (como G-mail)

0

Algunos entornos corporativos no permiten Javascript, por política o por firewall. Cierra la puerta a una vía de infección de virus.

Si crees que esta es una buena idea o no, ten en cuenta que no todos tienen control total sobre su navegador y puede que no sea su elección.

0

Hay un gradiente entre los sitios web y las aplicaciones web. Sin embargo, siempre debería poder decir "estamos construyendo un sitio web" o "estamos construyendo una aplicación web".

Los sitios web deben poder leerse hasta HTML sin formato (sin CSS, sin imágenes, sin JavaScript).

Las aplicaciones web, por supuesto, podrían simplemente decir "Lo sentimos, se necesita JavaScript" (que también asume CSS para el diseño). La aplicación aún debería poder funcionar sin imágenes.

0

El problema de accesibilidad es el único problema técnico importante, todos los demás problemas se pueden diseñar de forma social. Cuando uno dice que javascript reduce la accesibilidad y otro dice que las aplicaciones web pueden usar javascript, ¿podemos unir estas dos para dar a entender que todas las personas ciegas están desempleadas? Tiene que haber algún tipo de impulso para hacer javascript accesible. Tal vez un objeto de lector de pantalla en el lado de JavaScript que puede detectar la presencia de un lector de pantalla y luego enviar sugerencias al lector de pantalla, lectores de pantalla que pueden engancharse en el navegador, y tal vez se pegue con una barra de herramientas del lector de pantalla.

1

JavaScript es ideal para extender el navegador para hacer cosas como google maps. Pero es un instrumento puntiagudo, así que úselo con cuidado.

El sitio web de mi banco utiliza JavaScript para la navegación básica entre las páginas. suspiro. Como resultado, no es utilizable desde mi dispositivo móvil.

Asegúrese de que está familiarizado con el Rule of Least Power al considerar JavaScript:

En el diseño de sistemas informáticos, uno a menudo se enfrentan a una elección entre utilizando un lenguaje más o menos potente por publicar información, para expresando restricciones, o para resolver algún problema. Este hallazgo explora intercambios relacionando la elección del lenguaje con la reutilización de la información . La "Regla de poder mínimo" sugiere elegir el lenguaje menos poderoso adecuado para un propósito determinado.

0

si quiere que su sitio sea visible para las 100 mejores empresas de los EE. UU. Escribiría sin javascript.

0

La independencia de Javascript y la degradación elegante son importantes para una aplicación a pesar de la demografía real, ya que tal aplicación probablemente tenga un mejor diseño de software.

El "usuario humano sin Javascript" puede ser puramente hipotético (por ejemplo, si está intentando ganar dinero con su producto). Pero el diseño para ese usuario hipotético alienta el diseño de software modular que dará sus frutos a medida que continúe desarrollando su aplicación.

Javascript proporciona la funcionalidad. HTML proporciona datos (en la página en sí y a través de enlaces que apuntan a más datos). Como regla general, va mucho más allá de las aplicaciones del navegador: un producto de software bien diseñado separará los datos de la funcionalidad. Todos los datos deben estar disponibles, y la funcionalidad debe ser una capa separada que consuma los datos.

Si su Javascript crea datos en tiempo de ejecución, es momento de especificar y averiguar si su página web es realmente un software (por ejemplo, una calculadora de hipotecas) o si es un documento que contiene datos (por ejemplo, una lista de hipotecas Tasas de interés). Esto debería decirle si tiene sentido confiar en Javascript.

Como nota final/ejemplo, los datos demográficos pueden ser engañosos. Relativamente pocos humanos navegan por su sitio sin Javascript, pero muchas máquinas (bots de búsqueda, mineros de datos, lectores de pantalla para discapacitados, etc.) navegan por su sitio sin Javascript. De nuevo, la distinción entre datos y funcionalidad es importante: los bots solo hacen solicitudes y buscan datos en las respuestas. No necesitan funcionalidad. Pero si su usuario necesita invocar funciones solo para hacer que sus datos estén accesibles, los bots no obtienen ningún valor de su sitio.


Un lado se refiere a los lectores de pantalla y otras consideraciones de accesibilidad para personas con discapacidad. Este es un nicho demográfico importante: una mente que navega datos de una manera humana, pero que solo puede obtener datos de su sitio de la misma manera que las máquinas lo obtienen. Al proporcionar datos de forma limpia y semántica en su página, lo pone a disposición del conjunto más amplio de herramientas de accesibilidad.

Tenga en cuenta que esto no excluye la consideración de Javascript. Nuestro ejemplo de calculadora de hipotecas aún puede funcionar: acepte la entrada del usuario, invoque Javascript y vuelva a escribir la salida en la capa de datos semánticos limpios de la página. ¡Los lectores de pantalla pueden leerlo! Y si no pueden, está fomentando el desarrollo de mejores lectores de pantalla que sí.

0

Bueno, depende de su base de usuarios. Si sabe que las personas utilizarán su sitio desde dispositivos móviles, es bueno tener JavaScript discreto. Sin embargo, si intentas atraer a un público experto en tecnología, no te molestes en hacerlo.

Sin embargo, si está apelando a una multitud que puede estar utilizando lectores de pantalla (personas ciegas), le sugiero que use los estándares WAI-ARIA. El sistema de widgets de Dojo tiene soporte completo para esto, y sería una gran y fácil manera de hacerlo.

De todos modos, en la mayoría de los casos, no necesita un JavaScript discreto. La mayoría de las personas que tienen JavaScript desactivado están usando un teléfono inteligente, usan Lynx o tienen instalado NoScript. Está habilitado por defecto en todos los navegadores principales, por lo que no debería tener que preocuparse.

Por último, es bueno tener al menos JavaScript no intrusivo. Las etiquetas <noscript> son su mejor amigo. Por ejemplo, uno puede querer reemplazar un widget que dibuja estrellas de calificación con texto. Ejemplo usando dojo:

<div dojoType="dojox.Rating" stars="5" value="4"></div> 
<noscript>4/5</noscript> 
0

Si espera que su aplicación funcione para todos, necesitará una copia de seguridad para todas sus funciones de JavaScript. Si se trata de validación de formularios, también debe verificar los datos en el servidor antes de guardarlos. Entonces, la respuesta es Sí, está bien, pero tiene una copia de seguridad. No confies en eso.

0

Como muchas personas dicen, es importante tener en cuenta su base de usuarios, pero independientemente de sus usuarios existe una gran posibilidad de que algunos (las estadísticas dicen 10%) de ellos tengan algún tipo de discapacidad, y los lectores de pantalla no como javascript Si solo está agregando cosas simples, un menú de JavaScript o algo así, simplemente haga que se degrade (o no lo haga). Si el sitio depende de javascript para funcionar correctamente, cree dos versiones, una para javascript y otra sin.

En general, creo que cualquier cosa demasiado javascript heavy es muy difícil de degradar sin tener que javascript reescribir la página en una versión de javascript si el usuario puede tomarla. Dado esto, vale la pena escribir dos páginas del primer cuadro para cosas complicadas.

Diría que hay muy pocos sitios web que deberían ejecutarse sin algún soporte para usuarios sin javascript. Tendría que tener una aplicación muy dinámica que no tenía sentido como páginas estáticas, o si tendría que tener una audiencia que pudiera garantizar que estuviera bien (como en una intranet de una oficina).

Cuestiones relacionadas