2009-02-20 5 views
6

Disculpas por la larga introducción, simplemente tratando de establecer adecuadamente la escena para evitar ambigüedades y confusión.Agradable degradación fuera del dominio de las aplicaciones web: ¿qué tan significativo es un problema?

Las aplicaciones web han pasado de ser interfaces tontas basadas en navegador para la lógica del lado del servidor a ser aplicaciones totalmente basadas en navegador con mínima necesidad de lógica en el servidor. Es posible describir esta evolución a través de la identificación de generaciones claras de aplicaciones web.

Consideremos, por el momento, solo dos generaciones: antes y después de Ajax. Ciertamente hay otros factores, como los relacionados con el soporte de CSS y los encabezados de Control de acceso, pero comencemos de manera simple.

A partir de un sistema simple sin JavaScript y sin estilo, la adición de capas de mejoras degradadas con gracia y el acabado con una aplicación contemporánea muy receptiva y ajax es una tarea desafiante y propensa a errores. No es de ninguna manera fácil.

Según la generación a la que pertenezca, una aplicación web depende de los medios a través de los cuales se accede a la aplicación. La misma aplicación web parece ser una aplicación de primera generación si se accede a través de Lynx y una aplicación de última generación si se accede a través de Firefox 3.1, con algunos niveles intermedios dependiendo del agente de usuario utilizado para acceder a la aplicación.

El problema de crear una aplicación web que graciosamente se degrada en función de las capacidades del agente de usuario, en el que algo creado para aprovechar las características actuales del navegador podría volver a la funcionalidad de algo creado hace unos quince años cuando se enfrentan con Lynx, es muy difícil.

No puedo imaginarme una aplicación de escritorio enfrentando tal variación en el entorno operativo.

Un único ejecutable (a diferencia de un conjunto de variantes específicas del sistema operativo) capaz de aprovechar las funciones de Vista puede funcionar adecuadamente cuando se ejecuta bajo XP y cuando faltan ciertas características de Vista. Para degradarse a una distancia comparable como una aplicación web, la misma aplicación de escritorio todavía tendría que funcionar, aunque de una manera menos elegante, cuando se ejecuta en un entorno de línea de comandos, como DOS.

Ejecútalo bajo Lynx, es una aplicación web de primera generación. Ejecute el mismo en Firefox 3.1, es una aplicación web contemporánea elegante y brillante. Si se enfrenta con tal problema, lo consideraría desafiante, complicado pero factible.

Ejecútalo en DOS, es una aplicación de línea de comandos. Ejecútelo bajo Vista, es una aplicación web contemporánea elegante y brillante. Si se enfrenta con tal problema, lo consideraría una locura. ¿O lo harías?

¿Alguna vez las aplicaciones de escritorio se enfrentan a una variedad tan amplia de entornos operativos como las aplicaciones web?

¿Este problema (la amplitud de varianza, no la varianza misma) es exclusivo del dominio de las aplicaciones web, o se puede encontrar en el desarrollo de escritorio?

Respuesta

1

Las aplicaciones de escritorio no tienen los mismos problemas que las aplicaciones web tienen a este respecto. Por lo general, están diseñados para ejecutarse en una plataforma bien definida.

Esto podría cambiar en el futuro. La informática se está moviendo desde computadoras de escritorio a teléfonos móviles y computadoras portátiles más pequeñas. Las aplicaciones de escritorio tendrán que ejecutarse en una variedad más amplia de plataformas en el futuro. Esto podría causar problemas porque la mayoría de los marcos que utilizamos para desarrollar aplicaciones de escritorio manejan esto incluso peor que el marco para aplicaciones web.

+0

oh, no sé ... QT es realmente bastante bueno para el desarrollo de plataformas cruzadas. Entonces, su mayor problema serán las capacidades del dispositivo, por ejemplo, el tamaño de la pantalla de un teléfono en comparación con el del escritorio. – gbjbaanb

+0

Acepto, el desarrollo multiplataforma ya es posible con varios lenguajes y marcos. Pero la degradación elegante se trata de reducir la resolución de pantalla, el ancho de banda, la CPU, la memoria, etc., cuando sea necesario. Qt u otros marcos realmente no manejan esto bien. – Mendelt

0

En la aplicación y el sistema operativo (SO), el problema generalmente se revierte. Es el sistema operativo el que maneja toda la complejidad de mantener la compatibilidad. Por otro lado, la aplicación generalmente dicta una versión mínima del sistema operativo.

Otro lugar donde las aplicaciones comienzan a ver este problema es el mundo de Java y, en menor grado, todos los otros llamados paquetes de scripts que funcionan en varios sistemas operativos.

1

No puedo imaginarme una aplicación de escritorio enfrentando tal variación en el entorno operativo.

Las aplicaciones de escritorio tienen que lidiar con la varianza, solo que de un tipo diferente. Las tarjetas gráficas en los juegos son un buen ejemplo de eso: desea un soporte decente para los clientes básicos, pero su cliente de gama alta con la nueva y brillante tarjeta gráfica querrá correr por su dinero. Cuando ingrese en el reino del procesamiento on-GPU y la administración de la memoria en la tarjeta, tendrá suficiente razón para maldecir la variación en los entornos operativos.

En general, también se ocupa de más procesadores y software de memoria que una aplicación web, por lo que deberá tenerlo en cuenta también. Y ni siquiera estoy hablando de la operabilidad entre sistemas operativos (que muchos softwares de escritorio manejan muy bien).

Por supuesto, nada mantiene a un editor de software de escritorio imponer criterios estrictos sobre el medio ambiente. Es solo una cuestión de negocios. Pero nada te obliga a admitir navegadores que no sean convencionales (y la mayoría de las aplicaciones web realmente son compatibles con Lynx?!?).

+0

"¿Y la mayoría de las aplicaciones web realmente son compatibles con Lynx?" - Se mencionó a Lynx para demostrar la amplitud de varianza posible en el entorno operativo, es decir, aunque es raro, no es inviable que el soporte para dicha variación sea un requisito. –

+0

Si desea comparar manzanas con manzanas, debe considerar lo que se considera "convencional" en ambos mundos. Para mí, el equivalente a soportar Lynx es como soportar Vista y una versión de 10 años de RedHat (que podría ser un requisito razonable en muchos casos) – Kena

+0

Vista/RedHat no es lo mismo. No tendrías el mismo ejecutable exacto trabajando en ambos, tendrías variantes muy similares para cada OS. La comparación de Vista/RedHat es más similar a tener una versión específica de Lynx de su aplicación web y una versión separada de FireFox/IE/Safari/Chrome/Opera. –

Cuestiones relacionadas