para - la llamada al código javascript debe colocarse en
¿Debería diseñar sitios web que requieran JavaScript en este día y edad? (30)
Es otoño de 2008, y aún escucho a los desarrolladores decir que no se debe diseñar un sitio que requiera JavaScript.
Entiendo que debe desarrollar sitios que se degraden 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 la demografía. ¿Hay números de cuántas personas navegan sin JS?
El problema de accesibilidad es el único problema técnico importante, todos los demás problemas pueden diseñarse socialmente. 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 al navegador, y tal vez se pegue con una barra de herramientas del lector de pantalla.
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 ser legibles 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.
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 usa JavaScript para la navegación básica entre páginas. Suspiro Como resultado, no es utilizable desde mi dispositivo móvil.
Asegúrese de estar familiarizado con la regla de poder mínimo al considerar JavaScript:
Al diseñar sistemas informáticos, a menudo uno tiene que elegir entre utilizar un lenguaje más o menos potente para publicar información, expresar restricciones o resolver algún problema. Este hallazgo explora las compensaciones que relacionan la elección del idioma con la reutilización de la información. La "Regla del Poder Menor" sugiere elegir el lenguaje menos poderoso adecuado para un propósito dado.
5% según estas estadísticas: http://www.w3schools.com/browsers/browsers_stats.asp
Algunos entornos corporativos no permitirán Javascript, por política o por firewall. Cierra la puerta a una vía de infección de virus.
Si crees que es una buena idea o no, ten en cuenta que no todos tienen control total sobre su navegador y que tal vez no sea su elección.
Como dijiste, 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.
Creo que las implementaciones de Javascript en la mayoría de los navegadores modernos ahora han alcanzado un nivel razonable de madurez y hay un montón de marcos de interfaz de usuario de Javascript que te permiten crear aplicaciones web basadas en JavaScript muy atractivas utilizando servicios web (independientemente de la plataforma de servidor de fondo) )
Un ejemplo es ExtJS : 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).
Creo que los días de "solo sitios de contenido" ya no están. 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 una respuesta de sí / no a su pregunta; debe decidir dónde se encuentra el sitio de contenido <----> la continuidad de la aplicación web de su sitio y qué tan esencial es la experiencia que proporciona JavaScript. En mi opinión, sí, es aceptable tener aplicaciones web que requieren Javascript para funcionar.
Creo que todo se reduce a lo que estás 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.
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.
Construir la aplicación de esta manera significa que SIEMPRE funcionará, que en última instancia es lo que estás buscando.
Debe vincular la funcionalidad de su sitio web a su audiencia. Dicho esto, todos los navegadores modernos (salvo para la plataforma móvil) incluyen javascript, por lo que a menos que su audiencia incluya luddites con computadoras de décadas anteriores, puede suponer que tienen javascript.
Las personas de las que debe preocuparse son aquellas que específicamente lo desactivan. Esto incluye:
- Redes corporativas con una fuerte seguridad (no es común, pero algunas instituciones financieras y de defensa)
- Cabezas web paranoides
Entonces, primero, ¿quién es tu audiencia? ¿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 tiene como objetivo aplicaciones móviles, no puede garantizar javascript.
-Adán
Degradar con gracia es una necesidad. Como mínimo, asegúrese de utilizar la etiqueta NOSCRIPT para informar a los clientes potenciales primero que su sitio requiere javascript y, en segundo lugar, por qué lo necesita.
Si se trata de menús llamativos y presentaciones que honestamente podrían importarme 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.
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 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.
Dos preguntas simples para ayudarte a decidir ...
- ¿El uso de JavaScript proporciona alguna funcionalidad básica de su sitio?
- ¿Estás preparado para limitar tus usuarios potenciales a aquellos que tienen JS? (es decir, la mayoría de las personas)
Si respondes que sí a ambos, ¡adelante!
Los sitios web se están moviendo (¿se han movido?) De páginas de información estáticas a aplicaciones web interactivas. Sin algo como Javascript o Flash, a veces no es posible realizar interacciones atractivas con el usuario.
En términos de software de cliente, considere a 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.
Es el siglo XXI. 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.
Es razonable diseñar sitios que usen JavaScript, pero no es seguro suponer que todos los clientes tienen soporte para Javascript y, por lo tanto, es importante que proporcione una experiencia satisfactoria incluso cuando JavaScript no esté disponible.
Estoy de acuerdo con la mayoría de los encuestados de . 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.
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ías 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?
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 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 está creando datos en tiempo de ejecución, es momento de especificar y averiguar si su página web es realmente una pieza de software (por ejemplo, una calculadora de hipotecas) o si es un documento que contiene datos (por ejemplo, una lista de tasas de interés hipotecarias). 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 (robots 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 punto de vista lateral sobre los lectores de pantalla y otras consideraciones de accesibilidad para discapacitados. 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 Javascript de consideración. 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í.
La respuesta de sabiduría recibida es que puede usar JavaScript (o cualquier otra tecnología) siempre que ''se degrade graciosamente'' ...
Tengo experiencia con organizaciones de discapacidad, por lo que el acceso 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.
De todos modos, 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 empresa ha sido procesada por incumplimiento).
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 prominentes en las personas mayores y los discapacitados a sabiendas
Si su sitio se dirigirá a la audiencia general de usuarios de Internet, hágalo degradar con elegancia, pero si no puede hacerlo, cree una versión sin JavaScript (como G-mail).
Nunca debe diseñar un sitio público para confiar en NINGUNA tecnología / plataforma. Es posible que el agente de usuario no muestre el color (piense en lectores de pantalla), muestre gráficos (de nuevo, piense en lectores de pantalla o navegadores de solo texto como enlaces), etc.
Diseñe su sitio para el denominador común más bajo y luego mejore progresivamente para 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.
Se realizó una pregunta relacionada en nuestro propio blog de : http://blog..com/2008/06/is-it-ok-to-require-javascript/
Siempre que sepa las limitaciones de accesibilidad que podría estar presentando, es decir, para los usuarios de software de lectura de pantalla, etc.
Una cosa es excluir a las personas porque eligen desactivar JS o utilizar un navegador que no lo admite, y otra completamente diferente es excluirlas por una discapacidad.
Yo diría que deberías mirar a tu 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, sin embargo, 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.
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 algo no estático hasta que confíen en usted.
si desea que su sitio sea visible para las 100 mejores compañías en los EE. UU. Escribiría sin javascript.
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.
Como muchas personas dicen, es importante tener en cuenta su base de usuarios, pero independientemente de sus usuarios existe una gran posibilidad de que algunas (estadísticas dicen 10%) de ellos tengan algún tipo de discapacidad, y a los lectores de pantalla no les gusta el 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).