2009-03-15 25 views
12

Muchas aplicaciones (especialmente las redes, como el uso compartido de archivos, el programa de consulta sql, algunos juegos de varios jugadores), tal como las conocemos actualmente, pueden proporcionarse fácilmente mediante el uso de una interfaz web.¿Cuándo elegir entre la interfaz web y la GUI nativa?

Mi pregunta es cuándo debo hacer que una aplicación sea accesible usando un navegador?

Cuando será aconsejable utilizar una aplicación de escritorio que se construye utilizando interfaces como Qt, visuales, etc.,

Respuesta

2

No hay una respuesta general a esta pregunta. Eso depende de algunos factores:

  • Su grupo objetivo - ¿Es muy extendida o pool?
  • Portabilidad - ¿En qué plataformas trabajan sus usuarios?
  • Rendimiento - ¿Es necesario en gran parte? Si es así, una aplicación de escritorio sería mejor. No me puedo imaginar un software de edición de video ejecutándose en un navegador. Tal vez en 10 años :)
  • y más que tiene que ser descubierto de forma individual

embargo, la tendencia va claramente a las aplicaciones basadas en la Web. Puede llegar a un buen grupo de personas con ellos.

1

estoy cada vez más de la opinión de que debemos usar basado en la web, javascript (o flexión) Interfaces básico como el predeterminado. Significa mucho menos código en la imagen de la aplicación, además de que permite una base de código que hace algo bien, sobre varias que pueden, por ejemplo, hacerlo peor.

Si construye una interfaz web para empezar, nunca encontrará que necesita un proyecto separado para construir una interfaz web.

Con los navegadores modernos, javascript y ajax, y las bibliotecas javascript, puede crear una interfaz extremadamente rica que se puede cambiar fácilmente.

+0

muchas GUI le ofrecen una forma de incrustar html/javascript usando webkit eche un vistazo a Qt y Gtk (webkitGtk). Intenté html/javascript y Gtk. Con Galde (diseñador de Gtk) se necesita mucho menos tiempo para obtener lo que quieres y exactamente sabes cuál es el comportamiento de un widget, pero intenta poner un "div" dentro de otro "div" dentro de un "lapso", etc. Puedes predecir el comportamiento de esto. Con Gui with the POO puedes hacer tu propio tipo de evento, puedes diseñar tu widget usando CSS (sí, Qt y Gtk ofrecen CSS para diseñar sus widgets). La IU web no es eficiente en términos de ejecución y la memoria –

3

Algunos puntos para una interfaz web:

  • Cuando el programa necesita ser administrado desde otro equipo de una red
  • Cuando se necesita un desarrollo más rápido velocidad (generalmente más rápido para escribir html/Javascript de Qt/GTK etc)
  • para mantener el programa como plataforma cruzada compatible posible
+2

no concuerda con el hecho de que es más rápido escribir html/javascript tha Qt/Gtk. Con Qt/Gtk usted conoce exactamente el comportamiento de cada componente y, utilizando un diseño Gui, puede acelerar la codificación de la interfaz de usuario. Pero con html y javascript, el comportamiento de los elementos html no puede predecirse, debes tratar de intentar de nuevo obtener lo que deseas, lleva mucho tiempo hacer una UI usando html y javascript. Ningún código escrito en html no se ejecuta de la misma manera en todos los navegadores web, no es cierto. Hay muchas etiquetas que no dan el mismo resultado en cada navegador en el mismo sistema operativo y en diferentes sistemas operativos también. –

0

Si la interfaz de usuario de su aplicación se puede implementar como un servicio web/aplicación que se comporta correctamente, debe considerarla seriamente como una opción.

El mayor beneficio de una interfaz de usuario que se puede ejecutar en el navegador es que es independiente del sistema operativo del cliente. La mayoría de los usuarios de computadoras de hoy en día tienen más de una computadora generalmente conectada en una red. La distribución de los diferentes sistemas operativos se hace más grande cada día (las alternativas a las ventanas obtienen una mayor participación en el mercado). Entonces obtienes la máxima portabilidad de la IU. Su aplicación se puede iniciar una vez en una computadora y acceder desde cualquier lugar.

+0

GUI puede hacer servicios web. POST + JSON es la clave. ej. USANDO solicitudes Python + Gobject + Gtk + (lib de python web) puede intercambiar con un servidor web –

1

Creo que esta es la pregunta incorrecta.Lo que debe hacer es analizar las diferencias entre las plataformas y cómo afectan a su organización. Para darte un ejemplo del mundo real.

Trabajé para una pequeña empresa que solo había construido aplicaciones basadas en web. Una de las aplicaciones no fue exitosa, en parte porque teníamos muchos usuarios de acceso telefónico y necesitábamos soporte fuera de línea.

La compañía siguió adelante y desarrolló una aplicación cliente .NET, y obtuvieron un rudo despertar. La compañía no estaba preparada para la complejidad de implementar en cualquier cantidad de configuraciones de clientes. Obtuvimos un poco de Novell Networks, por ejemplo. No estaban preparados para el aumento del costo de respaldar una aplicación cliente. (Y sí, el desarrollo había advertido y tratado de advertirles lo que esto significaba).

Así que no solo debe hacer varias preguntas, sino que debe evaluarlas en el contexto de la organización que produce el software.

Cosas que hacer incluyen:

  1. Primero y formost es su aplicación se pueden ejecutar como una aplicación web? Algunas aplicaciones simplemente no son factibles. si necesita acceso a recursos de bajo nivel, no tendrá muchas opciones.
  2. ¿Puede pagar los costos de mantenimiento del software del cliente? Si se trata de una aplicación distribuida, ¿qué ocurre cuando actualizas el servidor pero los clientes no se actualizan?
  3. ¿Puede apoyar al cliente?
  4. ¿Qué experiencia tiene el equipo en la creación del software? Esto es enorme en mi humilde opinión. No importa qué tan bueno sea un equipo en la creación de aplicaciones web, cometerán errores al hacer aplicaciones de cliente que un desarrollador de cliente experimentado no haría.
1

sólo van para la aplicación de escritorio, si se puede controlar el entorno (intranet) o programa para el medio ambiente (versión multiplataforma) en el que se ejecutará el paquete/aplicación.

Mirando la tendencia actual, todo va dentro de los navegadores y estamos obteniendo una interacción igualmente buena en comparación con la aplicación de escritorio. También lo único que se requiere para ejecutar la aplicación es el navegador, que siempre es bueno y algo que podemos preguntar el usuario tiene una versión correcta y está listo para usarlo.

1

En mi experiencia, he descubierto que las aplicaciones web suelen tardar un poco más en desarrollarse, pero existen algunas ventajas en el desarrollo de una aplicación web.

  1. Usted no tiene que implementar aplicaciones basadas en web
  2. Las personas a menudo son más acostumbrado a utilizar un navegador web de una aplicación personalizada, por lo general, las ganancias de aplicación en usablility
  3. lo general, es más fácil para que los usuarios encuentren lo que buscan en una aplicación web debido a la interfaz.
  4. Solo tiene que probar con algunos navegadores, y evita tener que probar muchas configuraciones de clientes que pueden entrar en conflicto.
  5. Con la aplicación web, no tiene que preocuparse por el sistema operativo que el cliente pueda estar utilizando. Por ejemplo, supongamos que su empresa decide trasladar sus computadoras de escritorio a Linux, no tendrá que crear una nueva versión.

Debe desarrollar software de escritorio, si necesita que se desarrolle algo rápido, o necesita interfaces de rendimiento/respuesta (la web es más lenta que en el escritorio) o si está desarrollando algo que no se puede hacer en la web (piense en software de gráficos/juegos complejos).

+0

hay muchas etiquetas que no funcionan en el mismo navegador acron de maner en el mismo sistema operativo y para el mismo navegador el comportamiento es diferente en diferente sistema operativo. Intente leer en algún html/javascript que encuentre alguna extraña etiqueta solo disponible en mozilla, otras en IE y otras en Chrome –

1

Para desarrollar una aplicación, es mejor dividir el código de Cliente y Servidor. En una aplicación de escritorio esto normalmente no es el caso. El código del cliente que maneja la interacción del usuario se integra con el código del servidor que procesa los comandos del usuario. Sin embargo, este no es el caso, solo divida el código y comuníquese a través de TCP/IP.

La siguiente pregunta es si su código de cliente debe ejecutarse en un navegador o como una GUI nativa. Para mí, una interfaz gráfica de usuario nativa es mejor para un número de razones: - corre más rápido - el mismo lenguaje de programación para el cliente y el código del servidor - menos dependiente de las cambiantes componentes de software: navegador, HTML, CSS, el servidor web

mayoría GUI los marcos son multiplataforma.

La única desventaja es que debe instalar el software del cliente en una computadora. Si desea evitar que instale el cliente en el servidor también y acceda a través de programas de servidor de terminal, como Citrix.

Por supuesto, si su aplicación es utilizada con poca frecuencia por sus usuarios, entonces una aplicación web es más útil.

Las grandes compañías de software han gastado millones para cambiar su GUI a la Web, sin agregar funcionalidades adicionales a sus aplicaciones. La mayoría de las veces, la interfaz se hizo más primitiva. Así que eso ha sido una enorme pérdida de dinero, que todavía está sucediendo. Entonces no sigas siempre al rebaño.

Cuestiones relacionadas