2009-05-16 13 views
5

No estoy seguro si esto pertenece en la wiki de la comunidad ...Consejos para el desarrollo de una aplicación ASP.NET que no depende de JavaScript

Puede alguien dar algunas pautas generales sobre cómo construir con éxito un sitio ASP.NET que no depende de JavaScript? Tengo entendido que debería crear un sitio funcional inicialmente sin JavaScript y usarlo para mejorar la experiencia del usuario. Es más fácil decirlo que hacerlo ... ¿cómo puedo asegurarme de que mi sitio funcione sin JavaScript, salvo que deshabilite JavaScript y lo intente? ¿O es esto algo que viene con la experiencia?

Respuesta

1

He creado sitios ASP.Net que funcionan con poco o nada de JavaScript, por lo que es definitivamente posible (solo un dolor real). El truco, y esto suena tonto, es utilizar las menos etiquetas de tipo <ASP:> posibles. Todos estos generan varios niveles de JavaScript. Los elementos HTML normales de la vieja escuela funcionan bien sin scripts.

Así que, al final, escribe, digamos, su formulario usando todos los elementos HTML simples, y luego tiene ese formulario en otra página que acepta el envío de formularios y se lo entrega a su servidor- redacción lateral.

Para decirlo de otra manera, pretende que todo lo que obtienes con ASP.NET es un lenguaje de programación del lado del servidor y estás escribiendo HTML en 1998.

Ahora, una vez hecho esto, puedo decirles que esto termina siendo una página web ASP clásica con una sintaxis de programación más limpia. ;) La mayoría de las características que hacen que ASP.NET sea "mejor" que el ASP clásico dependen de JavaScript, por lo que escribir un sistema ASP.NET sin JavaScript es un ejercicio de disparos en el pie repetidamente.

Sin embargo, lo único que debe hacer es asegurarse de que la primera página o dos funcionen sin JavaScript. A diferencia de hace 10 años, puede suponer que cualquier navegador que acceda a su página tiene JavaScript, y a diferencia de hace 8 años, sus visitantes probablemente no tienen JavaScript desactivado por razones de velocidad, pero bien podrían tener algo como el NoScript el complemento para Firefox marcaba todo el camino hasta 11. Por lo tanto, sus primeras páginas necesitan funcionar lo suficientemente bien para a) decirle al nuevo visitante que necesita JavaScript, yb) seguir buscando y trabajar lo suficientemente bien como para hacer que parezca que su sitio a la lista blanca lo vale. (En mi experiencia, la mayoría de la gente hace la primera, pero de manera tal que deja caer la pelota en el segundo. Para decirlo de otra manera, si tu súper web súper elegante comienza a parecerse a craigslist si no se lanza ningún script arriba, probablemente no voy a molestarme en permitirle ejecutar scripts en mi máquina.)

1

Si desea utilizar muchos de los controles ASP.NET (es decir, DataGridView), las páginas ASP.NET se generan con muchos JavaScript para manejar los eventos en los controles (es decir, seleccionar una fila en DataGridView) . Creo que vas a perder tanto ASP.NET que intentar que ASP.NET funcione sin JavaScript habilitado es poco práctico.

+0

Eso es interesante. Entonces, ¿debería controlar mis páginas que requieren JavaScript? ¿Me estoy limitando haciendo eso, o estoy obligado a hacerlo con ASP.NET? –

1

Deshabilitar Javascript es la mejor manera de probar cómo funciona un sitio web sin él. Buenas noticias, las herramientas de desarrollo de IE8 proporcionan una manera rápida y fácil de hacer precisamente eso. Ahora, una vez dicho esto, muchas veces lo único que puede hacer es poner un mensaje con una etiqueta noscript en el sentido de que su sitio requiere javascript para una mejor función.

+0

¿Es práctico intentar crear sitios que no requieren JavaScript en ASP.NET? –

+0

@Mike: depende del contenido de su sitio. Los sitios web completos e interactivos no pueden prescindir de las secuencias de comandos del lado del cliente. Sin embargo, los sitios web informativos de texto sin formato probablemente funcionarían. – Cerebrus

0

Si su preocupación es que JavaScript esté deshabilitado en el navegador del usuario, entonces puede verificarlo y manejar su sitio en consecuencia.

Si decide construir el sitio sin JavaScript, terminará construyendo un sitio web algo estático. Si su necesidad es solo construir un sitio web estático, entonces puede continuar con este enfoque.

+0

Supongo que para mí todo se reduce a si es posible o práctico intentar crear un sitio en ASP.NET que no requiera JavaScript para funcionar completamente. –

0

Escribe todo con formularios html básicos y CSS, y entonces sabrás que funciona sin javascript.

Una vez que esté satisfecho con él, mire la javascript discreta, para que pueda modificar la forma en que funciona la aplicación cuando JavaScript está habilitado.

1

Muchas funcionalidades de ASP.NET & controles no funcionarán cuando JavaScript se haya deshabilitado. Piensa en el evento onclick de LinkButton que contiene una llamada a una función de JavaScript.

LinkButton es solo un ejemplo. Pero hay muchas otras cosas también.

2

¡Pruebe ASP.NET MVC! Asegúrese de que la mayoría de los ejemplos usen JavaScript para la funcionalidad AJAX, pero es fácil construir un sitio totalmente funcional que no use JavaScript.

Dado que ASP.NET MVC no utiliza controles de servidor con todo su JavaScript incrustado, es una excelente forma de crear un sitio con HTML mínimo y liviano, mientras sigue escribiendo su acceso a datos y lógica de negocios en C#, VB. NET, o cualquier otro lenguaje .NET.

+0

Estoy empezando a aprender MVC ahora. –

+0

Además, ¿cómo gestiona su funcionalidad AJAX por lo que es compatible con personas que no usan JavaScript? ¿Es posible o práctico hacerlo? –

+0

Eso sería una buena pregunta nueva o valdría la pena una búsqueda. Intento que una aplicación web funcione sin AJAX primero y luego agrego esa funcionalidad. Para los navegadores de escritorio, cuento JavaScript como algo dado y no me preocupo mucho por las personas que no lo tienen, pero los navegadores móviles son probablemente una historia diferente. Aún estoy averiguando cómo manejaré estos problemas en las aplicaciones que estoy construyendo ahora. – CoderDennis

0

La última vez que miré algunas estadísticas sobre esto, desactivé alrededor del 1% de JavaScript, así que ¿por qué dedicar horas y horas a esto cuando debería? do es mostrar un mensaje que le dice al usuario que su sitio requiere javascript.

Use su tiempo para ser productivo en lugar de tratar de escribir sobre las limitaciones percibidas.

Cuestiones relacionadas