Redes de área local: ¿Es mejor crear aplicaciones en una LAN que crear un software nativo?

Es posible construir e implementar una aplicación web en un entorno LAN. Dependerá de sus necesidades si esta es una mejor opción.

Las aplicaciones web tienen limitaciones significativas para acceder a los recursos informáticos locales. El acceso al sistema de archivos local y la potencia de procesamiento son dos de ellos.
Y las aplicaciones web también pueden requerir más potencia de procesamiento del servidor y / o ancho de banda de la red LAN.
Si estos no son problemas para sus necesidades, no veo por qué no puede crear aplicaciones web en una LAN.

El navegador web impone el acceso limitado al sistema de archivos por razones de seguridad. Sin embargo, esto puede cambiar en la configuración del navegador, con algunos riesgos de seguridad.
El poder de procesamiento a menudo está limitado por el intérprete de Javascript (u otro idioma). Se podría construir un complemento del navegador con Java, C #, C / C ++ para un mejor rendimiento, pero dudaría en llamar a esto una aplicación web.

A diferencia de las aplicaciones web, una aplicación nativa puede tener acceso directo al sistema operativo.

En primer lugar, querrá asegurarse de cuál es el público objetivo de su aplicación. Si está seguro de que está destinado a ser utilizado en una LAN, entonces esto básicamente se reduce a una cuestión de responsabilidad. Si crea una aplicación web general en Internet, entonces es su responsabilidad mantener la aplicación, es DB, etc. Sin embargo, también le brinda la ventaja de poder actualizar / mejorar fácilmente su aplicación. Si lo crea para una LAN, entonces no puede acceder directamente a su aplicación, por lo que es responsabilidad del cliente configurarla y ejecutarla y / o mantenerla. La desventaja es que si hay algunos errores o actualizaciones, los clientes tendrán que volver a descargar y configurar la aplicación.

He pasado años haciendo ambas cosas, así que este es mi criterio.

Si todas las computadoras que usan la aplicación estarán físicamente conectadas a la LAN, hágalo nativo. Si la usarán personas ajenas a la seguridad de la LAN, conviértala en una aplicación web; use AJAX para que parezca una aplicación nativa de una sola pieza (no cliente-servidor).

¿Es viable? Espero que sea, en ambos sentidos, nativo en la LAN o en Internet con un navegador. (IE 5.5 está muerto, por lo que usar un navegador es viable). O mucha gente me va a demandar por los que han estado usando durante años, escribí.

¿Es mejor? Como dije anteriormente, mi preferencia es construirlo como una aplicación nativa si solo las personas en la LAN lo usarán. Es un poco más fácil y más seguro (suponiendo que la misma persona lo haya escrito en ambos sentidos: algunas personas no pueden programar “¡Hola, Mundo!” En un mes, algunas personas no saben la diferencia entre la seguridad y un vaso de leche. ) Pero si se va a acceder desde fuera de la LAN, construyo exactamente la misma aplicación usando PHP y Javascript para lograr una apariencia de “aplicación nativa”. Elija un país y el menú desplegable Ciudad se rellena igual que en una aplicación nativa, desde la misma base de datos e igual de transparente para el usuario. Elija un fabricante de automóviles y se completará el menú desplegable Modelo. Solo ve un navegador web ejecutándose, de lo contrario no puede notar la diferencia. (Y no es más rápido como una aplicación nativa: las personas en la LAN están ejecutando velocidades de gigabits, por lo que sus computadoras limitan la velocidad. Las personas en la web están limitadas por las velocidades de Internet. El MANEJO de datos todavía se está haciendo en la LAN, la aplicación aún obtiene sus datos de la base de datos a través de una conexión LAN (a menos que ambos se estén ejecutando en la computadora). Enviar ese menú desplegable actualizado al usuario es igual en ambos sentidos.

More Interesting

¿Por qué los fabricantes de software lanzan software que saben que tiene errores?

Cómo poner tu experiencia haciendo tus propias aplicaciones móviles en tu currículum

¿Cuáles son las cosas básicas necesarias para saber antes de comenzar el curso de ingeniería informática?

Se da un conjunto de coordenadas de latitud y longitud. ¿Cómo puede saber si estos puntos están en un cuerpo de agua o tierra?

¿Cómo es útil GitHub para la programación y el desarrollo de software?

Cuando dice sobre los requisitos 'Competencia en la programación de C / C ++', ¿significa que se espera que conozcas C y C ++ o cualquiera?

¿La realidad virtual llega a Linux?

Tengo 30 años y tengo un montón de proyectos de software a medio camino que encuentro difíciles de terminar. Son demasiado complejos o existen demasiados sistemas similares. ¿Cómo puedo perforarme para mantenerme en uno y verlo?

¿Cuál es la 'regla noventa y noventa' en ingeniería de software?

¿Cuáles son las herramientas geniales que utiliza el desarrollador de software para facilitar la vida?

Estoy haciendo todo el trabajo en mi departamento de DevOps y los ingenieros superiores no tienen idea, ¿qué puedo hacer para ascender en la escalera?

¿Por qué el desarrollo ágil es tan polarizador?

¿Cuáles son los buenos libros de desarrollo de software / arquitectura que uno puede leer?

¿Cuáles son buenas herramientas de prueba para API?

¿Por qué los asistentes de configuración del programa se llaman 'asistentes'? Hay alguna razón para esto? ¿Qué programa usó primero el término 'asistente'?