¿Qué tan importante es la degradación elegante de JavaScript?

87

¿Deberían los desarrolladores web seguir esforzándose por mejorar progresivamente nuestras aplicaciones web con JavaScript, asegurando que las características se degraden con gracia, asegurando así la accesibilidad? ¿O deberíamos dedicar ese tiempo a nuevas funciones u otras áreas de desarrollo?

El subtexto de esa pregunta sería: ¿Cuántos de nuestros clientes / clientes / usuarios utilizan nuestros sitios web o aplicaciones con JavaScript desactivado? ¿Tiene algún proyecto con requisitos que exijan específicamente la funcionalidad de JavaScript (casi todos los míos) y estos requisitos también exigen una degradación elegante?

Para hacer esta pregunta, detuve programmers.stackexchange.com sin JavaScript habilitado, y me saludó con este mensaje: "Programadores: el intercambio de pila funciona mejor con JavaScript habilitado". Fue difícil iniciar sesión, aunque el sitio parecía funcionar bien en general. (No pude votar ninguna pregunta).

Creo que este es un enfoque satisfactorio para el desarrollo. Imagine el esfuerzo involucrado en hacer que todas las características del sitio funcionen con HTML antiguo y lógica del lado del servidor. Por otro lado, me pregunto cuántos usuarios se han alejado de este enfoque.

Todos hemos sido entrenados (al menos los buenos desarrolladores entre nosotros) para usar mejoras progresivas y garantizar que las funciones dinámicas de nuestras aplicaciones web se degraden correctamente. ¿Es esta mejora progresiva simplemente orinando en el viento, o algunos de nuestros clientes realmente utilizan ciertos servicios web sin JavaScript habilitado?

    
pregunta Stephen 10.01.2011 - 21:26

28 respuestas

51

Uso NoScript pero en la lista blanca de cualquier sitio que pretendo usar.

  

Al instalar NoScript, JavaScript, Java, Flash Silverlight y posiblemente otros contenidos ejecutables se bloquean de forma predeterminada . Podrá permitir JavaScript / Java / ... ejecución ... selectivamente, en los sitios en los que confía. Puede permitir que un sitio ejecute scripts temporalmente, si solo está navegando de forma aleatoria o permanente, cuando lo visita con frecuencia y realmente confía en él. Esto significa que NoScript aprende de sus propios hábitos de navegador y tiende a desaparecer en segundo plano después de un tiempo, pero regresa rápidamente para salvar su día si se encuentra con una página web maliciosa.

     

Cuando navega por un sitio que contiene secuencias de comandos bloqueadas, se muestra una notificación similar a las emitidas por el bloqueador de ventanas emergentes.   Míralo o en el icono de la barra de estado para conocer los permisos actuales de NoScript ...

     

    
respondido por el gnat 30.05.2013 - 09:35
92

Supongo que el porcentaje de personas sin JavaScript activado es insignificante. Pero ten cuidado con los robots de búsqueda! Por lo general, no usan JavaScript, pero no querrás que se te salte algún contenido importante debido a eso, ¿verdad?

    
respondido por el Mladen Jablanović 07.02.2011 - 21:17
47

Siempre navego con JavaScript habilitado y lo tengo desde el inicio del navegador web.

Nunca he tenido un solo problema que valiera la pena degradar la experiencia de mi navegador. Tal vez algunas ventanas emergentes u otras molestias, pero los beneficios superan con creces los riesgos en mi opinión.

    
respondido por el JohnFx 03.12.2010 - 21:24
23

Cuando uso la consola en Linux, a veces uso Lynx cuando no hay una GUI disponible. Según mi conocimiento, Lynx no tiene soporte de JavaScript en absoluto.

También he usado navegadores móviles más antiguos con poca o ninguna compatibilidad con JavaScript.

Sin embargo, en esas circunstancias no espero obtener una usabilidad total del sitio. Por lo general, solo uso Internet para buscar algo rápidamente (por ejemplo, obtener un número de teléfono). Por lo tanto, creo que la interfaz sin JavaScript de su sitio debe limitarse a un rol de referencia pasivo. Stack Exchange es un gran ejemplo de esto, puedes buscar respuestas, pero no puedes votar. Es solo para ser usado como una referencia.

    
respondido por el Adam 07.02.2011 - 21:20
17

Navego regularmente por la web desde el navegador de mi teléfono inteligente cuando no estoy en casa o en la oficina. Si bien admite (al menos un subconjunto de) JavaScript, no siempre lo maneja bien. He encontrado muchos sitios web que no se pueden utilizar porque consumen muchos recursos o simplemente bloquean el navegador.

Prefiero el navegador integrado, pero tengo dos navegadores alternos disponibles en caso de que uno de ellos haga un mejor trabajo.

    
respondido por el Kenneth Cochran 07.02.2011 - 21:21
13

Una cosa que no se ha mencionado en este hilo es lo que sucede si su secuencia de comandos se rompe. En muchos casos, la ejecución adicional de la secuencia de comandos en la página puede estar deshabilitada, por lo que se necesita una forma de retroceder a una forma más sencilla de navegar.

Un script puede romperse por varias razones, pero las más obvias son las solicitudes incompletas de los archivos .js, varios complementos que pueden cambiar el DOM ( AdBlock , etc.) o introduzca objetos que no estén bien marcados con nombres.

Esto no tiene nada que ver con las personas que deshabilitan explícitamente el script o lo que sea. Como nota al margen, muchos enrutadores modernos, software de firewall, etc. a menudo tienen una función para deshabilitar / filtrar el script, Flash, etc. de los sitios web, por lo que incluso podría configurarse en una capa de red dejando al usuario inconsciente de esto (piense cafés públicos, escuelas u otros entornos donde otras personas paranoicas han configurado el acceso a Internet).

Ese suele ser mi principal argumento para desarrollar sitios que se degradan con gracia, al menos con la funcionalidad básica del sitio (diseño y navegación).

    
respondido por el jishi 07.02.2011 - 21:25
12

Lo único que deshabilito JavaScript es probar mi propio sitio web. Sin embargo, es posible que le interese un study que hizo Yahoo que encontró entre 1-2% de los usuarios tiene JavaScript deshabilitado. La audiencia de Yahoo es probablemente una representación bastante buena del usuario promedio.

Una cita clave del estudio:

  

Mientras que el 2% de los visitantes de EE.UU. no puede   Parece mucho, ten en cuenta que   Más de 300 millones de usuarios visitan el   Yahoo! página de inicio cada mes. Eso significa   6 millones de usuarios visitan cada mes   sin el beneficio de JavaScript. Asi que   a pesar de que vale la pena gastar su   tiempo en la versión habilitada para JavaScript   del sitio, todavía hay una   cantidad no trivial de usuarios por ahí   quién no podrá usarlo.

    
respondido por el VirtuosiMedia 03.12.2010 - 20:52
7

Uso NoScript junto con el AdBlock Plus todo el tiempo .

La web de hoy es demasiado hostil (anuncios intrusivos de JavaScript + molestos) para salir sin protección.

    
respondido por el user8685 03.12.2010 - 22:31
6

Por supuesto, está obteniendo una muestra muy distorsionada aquí, y podría hacerlo mejor haciendo su propia investigación en su propio sitio.

Yo, personalmente, uso NoScript. Raramente soy reacio a incluir en una lista blanca un sitio, pero tiene que parecer que vale la pena para hacerlo. (En otras palabras, necesito una razón, pero no tiene que ser muy convincente).

    
respondido por el David Thornley 03.12.2010 - 22:00
5
  

O algunos de nosotros realmente utilizamos   certain servicios web sin   JavaScript habilitado

Sí.

Mi navegación se divide en tres categorías.

Navegación normal : en Safari o Chrome (Mac OS X)
 - iGoogle, Stack Overflow, algunos blogs

Special : - Firefox, con NoScript, AdBlock Plus y FlashBlock
Sitios con JavaScript innecesariamente pesado. (Algunos sitios indios para películas / música de Bollywood, si eso es importante. Secuencias de comandos innecesariamente pesadas : la página se vuelve a cargar cada 5 minutos aproximadamente)

Navegación móvil:
Solía tener un Nokia 5310. Lo perdí. Ahora tengo un Sony Ericsson W700i aún más antiguo. Busco usarlo cuando estoy de viaje (Opera Mini es bastante bueno). Este es el lugar (la ausencia de) JavaScript es un dolor. No quiero interactuar con el sitio (en su mayoría), solo leer. Aún así, la mayoría de los sitios son imposibles para ver.

    
respondido por el Nivas 07.02.2011 - 21:35
5

Solo lea Programadores pragmáticos "HTML5 y CSS3" . El autor dice que el 5% de los usuarios tienen JavaScript desactivado.

Aquí está su fuente: Números de índice de JavaScript de la UE y EE. UU. desactivados + Web Impacto de la recopilación de datos de Analytics .

  

Números de índice de JavaScript deshabilitados

     

UE: 1.4%
  EE. UU .: 3,05%

     

Fuente: 1.000.000.000 de visitas a través de múltiples propiedades web de la industria utilizando IndexTools.
  (VisualRevenue.com/blog - Dennis R. Mortensen)

     

Parece que el porcentaje también está cayendo.

    
respondido por el Peter Turner 30.05.2013 - 09:39
4

Tiendo a instalar NoScript y solo sitios de lista blanca en los que confío. De lo contrario, uso el "permiso temporal" para dominios específicos cuando lo necesito.

Esto es solo una buena seguridad. De lo contrario, está permitiendo que se ejecute una cantidad arbitraria de código en su máquina. Incluso si está en espacio aislado ... siempre hay vulnerabilidades.

Más allá de mis propios hábitos, incluso si la mayoría de las personas navegan con JavaScript, sigue siendo útil desarrollar sitios con mejoras progresivas en mente. Si su sitio es funcional en la línea de base, puede servir a la mayor audiencia. También significa que separa sus datos del diseño visual y de la lógica empresarial. La mayor parte de lo que haga con JavaScript en el lado del cliente debe hacerse en el lado del servidor de todos modos; hacerlo del lado del cliente debería ser una conveniencia para el usuario del sitio.

Por supuesto, hay excepciones que requerirán JavaScript, pero generalmente hay una expectativa involucrada. Por ejemplo, existe la expectativa de habilitar JavaScript para BioLab Disaster , un juego, pero ninguno para un sitio como A List Aparte , en su mayoría solo texto.

Cuando estoy llenando un formulario, ¿debería haber una expectativa de que tengo habilitado JavaScript para enviar el formulario? ¿Por qué? ¿Para que el código de JavaScript pueda verificar que no haya ingresado un número en lugar de una letra?

    
respondido por el pbdiode 07.02.2011 - 21:31
3

Javascript está deshabilitado de forma predeterminada para aquellos de nosotros en una caja de Windows Server. Nuestra política de TI bloquea tantos sitios, la única forma de leer contenido es navegar en un servidor, donde JS está deshabilitado de forma predeterminada.

Aunque no es mi configuración preferida, es lo que tengo que hacer algunas veces.

    
respondido por el random65537 04.12.2010 - 03:47
3

Uso Google Chrome + AdBlock Plus, y tengo activado JavaScript.

EDITAR: uso NotScript ahora. :)

Chrome ALONE bloquea casi todas las ventanas emergentes (solo encontré un sitio [Chess.com] que se abrió paso una vez), y AdBlock elimina todos los anuncios, así que no tengo problemas con esos.

OMI, JavaScript te ofrece una "mejor experiencia" en general, y siempre que visites sitios confiables (que no hayan sido pirateados ...), estás bien. Como "informáticos" / desarrolladores, creo que deberíamos tener un "sentido de Internet" muy agudo, y poder saber si un sitio puede ser malicioso.

    
respondido por el muntoo 06.02.2011 - 03:23
3

En mi opinión, la accesibilidad supera a casi todo lo demás. Los usuarios que confían en la tecnología de asistencia siempre deben poder obtener la mayor parte de la funcionalidad de un sitio, incluso si es posible que tarde un poco más. No importa el porcentaje de usuarios que dependen de él para importar. Me alegro de haber programado un proyecto web de código abierto en el que la accesibilidad es uno de los principales enfoques y realmente aprendí cómo puedo hacer que las cosas sucedan en ambos sentidos, con y sin JavaScript. (Y muchas otras cosas relacionadas con la accesibilidad, porque JavaScript o no es realmente solo una pequeña parte del problema).

Hay un cuestionario interesante que tiene respuestas de los usuarios del proyecto que acabo de mencionar sobre qué tecnología usan aquí . Puede ser de tu interés.

    
respondido por el pyvi 06.04.2011 - 00:23
2

Hmm, ahora me siento como el Omega Man . :) Aparentemente, soy la última persona que realmente desactiva JavaScript (y las cookies) desactivando . (A menos que lo necesite para un sitio específico como, por ejemplo, Desbordamiento de pila).

Dudo que me esté perdiendo mucho, por lo general cuando do enciendo JavaScript para un sitio, hace algo totalmente inútil, como permitir que arroje toneladas de personal. información para extraños o me muestra algunos anuncios en movimiento, justo lo que quería, algún movimiento aleatorio en la pantalla mientras intento concentrarme en leer un artículo ...

    
respondido por el Cyclops 07.02.2011 - 21:37
2

Acabo de responder una pregunta en AskUbuntu.com: tuve que (temporalmente, en este momento) habilitar JavaScript en el sitio. Utilizo NoScript y habilito JavaScript para un sitio cuando creo que está claro, pero no hasta. De forma predeterminada, JavaScript está desactivado para los sitios que no he visitado antes.

    
respondido por el Jonathan Leffler 06.04.2011 - 00:26
2

Lo hago. NoScript todo el camino. Dejaré de hacerlo cuando los navegadores estén en un espacio aislado, y no antes.

    
respondido por el Satanicpuppy 06.04.2011 - 00:31
2

La gente sigue hablando de esta decisión como si fuera binario. O bien se degradan o no lo hacen. En su lugar, ¿por qué no considera los costos en comparación con los beneficios de degradar con gracia para cada característica individual? Por ejemplo, puedes asegurarte de que el sitio tenga una funcionalidad básica, pero aún así requieres Javascript para que alguien use funciones específicas.

También tenga en cuenta que muchas personas que deshabilitan Javascript lo hacen porque quieren usar un sitio web ligero y sencillo con solo lo esencial. Podría pasar todo ese tiempo haciendo que suenen las campanas y los silbatos para los usuarios que están específicamente tratando de evitarlos.

La gente se queja de que es mucho trabajo degradar con gracia. Si se está quejando de cuánto trabajo es, entonces probablemente esté trabajando en una función por la que vale la pena requerir Javascript.

En mi opinión, los usuarios sin Javascript siempre deben poder navegar por el sitio, usar la página de contacto y leer cualquier artículo o publicación de blog que tenga. Para una funcionalidad más compleja, haga una llamada de juicio en función del trabajo frente al beneficio involucrado.

    
respondido por el lala 16.05.2011 - 04:33
1

Solo lo doy vuelta para buscar Pr0n (¡mal vecindario!) ;-)

Renuncié a intentar apagarlo para navegar regularmente porque las cosas se rompieron demasiado. Y a veces ni siquiera sé que se rompió hasta que lo volví a encender.

    
respondido por el nate c 04.12.2010 - 03:23
1

Si su sitio puede ser utilizado por personas con discapacidades, es una buena idea asegurarse de que haya una copia de seguridad en JavaScript.

    
respondido por el nkassis 06.04.2011 - 00:24
1

La estrategia y planificación del sitio web es específica para cada caso . Es decir, un sitio web no puede tener ninguna necesidad de ser compatible con el navegador IE, y mucho menos pensar en problemas menores como el apoyo border-radius de CSS3. Pero es posible que otros sitios web deban ser compatibles con versiones anteriores hasta IE6.

¿Cómo podemos entender lo que tenemos que planificar para un sitio web? En parte de nuestra experiencia. Los sitios web que se dirigen a programadores y desarrolladores pueden asegurarse de que sus usuarios utilicen navegadores bastante nuevos y actualizados con casi todas las funciones activadas. Sin embargo, los sitios web de noticias deben pensar que alguien de un lugar desconocido de la Tierra puede conectarse a su sitio web para ver qué pasa dentro de su país.

Pero además de nuestra experiencia e intuición, también necesitamos instalar algún tipo de servicio analítico en nuestro sitio web, para que nuestras decisiones futuras sean más sólidas, basadas en datos estadísticos. Por ejemplo, Google Analytics es una muy buena herramienta. A partir de ahí, puede ver si realmente necesita admitir navegadores antiguos o no.

Sin embargo, si queremos seguir las Pautas de Accesibilidad a la Web del W3C, definitivamente debemos apoyar muchas cosas, sin considerar las circunstancias específicas del sitio.

En su caso especial, digo que no . Podemos olvidarnos con seguridad del no-script en sitios web pequeños y de nivel medio. Pero para proyectos más grandes, no es una mala idea incluir un poco más de marcado en sus páginas.

    
respondido por el Saeed Neamati 29.08.2011 - 20:11
0

No puedo decidir si algunas respuestas en este hilo son hilarantes o serias: ¿las cookies son más peligrosas que javascript? Jajaja

Cualquier sitio debe probarse con js y las cookies están desactivadas, sin embargo, es un mínimo.

    
respondido por el wildpeaks 04.12.2010 - 00:53
0

No olvides las cookies. Considero que las cookies son más peligrosas que JavaScript. Solía ser un usuario de NoScript, pero lo he desactivado en favor de la inclusión de sitios de cookies en la lista blanca.

    
respondido por el brad clawsie 07.02.2011 - 21:38
0

Solo si el cliente lo solicita explícitamente

A menos que tenga un número significativo de usuarios que se verán afectados, es simplemente un esfuerzo adicional.

    
respondido por el Darknight 07.02.2011 - 21:39
0

Siempre tengo JavaScript activado. También siempre tengo mi kit de restauración mínimo, a mi lado.

Necesitamos la desactivación de veto de línea de JavaScript, así que puedo decir "sin alertas, sin redirecciones, sin websockets". La funcionalidad está en WebKit al menos, a juzgar por la consola y varios inspectores.

Pero sí, siempre JavaScript en. Principalmente porque muy pronto la gente usará sockets web para causar todo tipo de maldad, exactamente como sucedió cuando Flash obtuvo la VM "genial". Entonces apago JavaScript. Si me lo permiten por supuesto.

Quiero disfrutar de todo lo bueno que pueda. Así que tengo algunos recuerdos agradables de esta época. Quiero estar impresionado, quiero reírme de las locuras de JavaScript, porque realmente extraño lo que teníamos en 2007, el flujo de información gratuita y dulce como el agua de manantial, fuentes abiertas en todas partes.

No lo apagaré hasta que tenga que hacerlo.

    
respondido por el chiggsy 06.04.2011 - 00:26
0

El arranque desde un CD / DVD en vivo (físicamente o en una máquina virtual) me hace sentir mucho mejor al permitir que Flash y JavaScript hagan lo suyo. Si recuerdo correctamente, Mint de Linux tiene soporte Flash de fábrica.

En cuanto al desarrollo del sitio, generalmente hago una cantidad razonable de intercambio de div y menús en JavaScript, pero trato de hacer que todo se vea bien y básicamente funcione con CSS.

    
respondido por el Peter Mortensen 06.04.2011 - 00:31
-1

En lugar de centrarme en asegurarse de que una página completa se degrada con gracia, trato de asegurarme de que aproximadamente el 75% (o más, si se hace fácil o rápidamente) de la página se degrada con gracia (o funciona sin JavaScript ). También trato de asegurarme de que este 75% complete una parte completa de la funcionalidad de la página.

Por ejemplo, uso JavaScript para cargar comentarios para publicaciones en mi blog; Me dio flexibilidad, consistencia en la presentación de comentarios y me ayuda a mantener un límite de solicitud / consulta único autoimpuesto. Sin embargo, la razón principal por la que vas a mi blog (leer publicaciones) sigue siendo generada por el servidor y funcionará con cualquier navegador. Los comentarios son completamente independientes en un archivo .js limpio.

TL; DR La clave aquí es what se degrada con gracia, no cuánto se degrada con gracia.

    
respondido por el Nate Symer 22.08.2015 - 00:15

Lea otras preguntas en las etiquetas