Desarrollo de software

ENDAS-Servicios-Informáticos-Albacete-Logo

legal

@ 2016 ENDAS Consulting

blog y actualidad ENDAS

desarrollo de software a medida

 

software personalizado

 

El desarrollo de software implica mucho más que el diseño de las interfaces de usuario o la escritura de unos cuantos cientos, o miles, de líneas de código. También implica mucho más que la elección del lenguaje de programación adecuado.

Detrás de un desarrollo de software a medida existe una estructura más compleja que hay que definir muy bien para que el proyecto no se convierta en un error. Para poder definir esa estructura es necesaria una fase previa de consultoría y definición de requerimientos en la que participen el equipo de consultoría de la empresa que desarrolla el software y el personal del cliente asignado al proyecto.

Una vez que están claros todos los factores clave del proyecto se debe decidir qué tipo de desarrollo se va a llevar a cabo. Y ¿cuáles son esos factores?, algunos de los más importantes son

Nº de usuarios que utilizarán el software: no es lo mismo diseñar un sistema monousuario que un sistema que deba permitir el acceso simultáneo de multitud de usuarios.

Tipo de acceso: dependiendo de si la ejecución se realizará en un entorno “privado” como por ejemplo una intranet con un número limitado e identificado de usuarios, o si se realizará desde un entorno “público”, como por ejemplo una página web sin que se conozca a priori el número de usuarios que lo ejecutarán, se debe plantear un tipo de sistema u otro.

Disponibilidad: ¿necesitamos disponibilidad del sistema permanente, 24 horas al día y 7 días a la semana?. La respuesta a esta pregunta determinará diferentes planteamientos de software.

 

diferentes tipos de aplicaciones software

 

Desde que comenzó la evolución de internet, las aplicaciones software han experimentado un cambio en la forma de ejecutarse. Hace unos años prácticamente todas las aplicaciones se ejecutaban en entornos locales, con un acceso limitado físicamente a la red local de cada organización.

Esta limitación se ha visto superada gracias a internet, y hoy en día predominan las aplicaciones que se ejecutan vía internet, desde cualquier dispositivo y en cualquier momento.

Esto nos lleva a realizar una primera distinción: software local o software remoto.

¿Debemos confundir software remoto, es decir, aquel que se ejecuta vía internet, con las aplicaciones que se ejecutan en un navegador web? La respuesta es no. Es muy común el uso de aplicaciones que se ejecutan en un navegador web, pero también existen las aplicaciones que se ejecutan en un entorno de ‘escritorio’, fuera del navegador. Esto nos lleva a una segunda distinción: aplicaciones de escritorio o aplicaciones web.

Es fácil identificar aplicación de escritorio con una ejecución local, con un esquema cliente/servidor en una misma red privada y sin acceso a recursos remotos vía internet. Realmente eso no es así, una aplicación de escritorio puede acceder a los mismos recursos usando internet que una aplicación web. Es decir, una aplicación escritorio también se puede ejecutar en remoto.

 

diferencias entre aplicaciones web y aplicaciones de escritorio

 

Cada tipo de aplicación tiene sus ventajas y sus inconvenientes. No se puede decir que un tipo de aplicación sea mejor que el otro, simplemente un modelo encaja mejor que otro según las necesidades de cada cliente.

Las aplicaciones web son más apropiadas si es necesario ejecutarlas en cualquier lugar, puesto que se ejecutan en un navegador web y no precisan ningún tipo de instalación en los equipos cliente. Esto no es así en las aplicaciones de escritorio, aunque existen tecnologías que permiten automatizar y hacer transparente de cara al usuario la instalación de los componentes necesarios.

Las aplicaciones web ejecutan sus procesos en el lado del servidor remoto (servidor web), por lo que cualquier modificación o actualización se aplica automáticamente a todos los clientes. Dependiendo de la tecnología esto es posible en parte también para las aplicaciones de escritorio, pero nunca será tan automático debido a que parte de la aplicación se ejecutará en el lado cliente.

Las aplicaciones web se ejecutan en cualquier sistema, ya sea Windows, Linux o MAC. Las aplicaciones de escritorio pueden ser específicas para un sistema, pero también pueden ser diseñadas para ejecutarse en todos los sistemas, por ejemplo a través de la máquina virtual de Java.

El tiempo de respuesta de las aplicaciones web es más lento que el de las aplicaciones de escritorio, aunque esta limitación se va superando poco a poco, a medida que las velocidades de conexión y las infraestructuras van avanzando.

Las aplicaciones web necesitan una conexión constante a internet para funcionar, las aplicaciones de escritorio pueden funcionar en un modo ‘mixto’, si no hay conexión a internet trabajarían en local, y cuando se recupera la conexión volvería a trabajar en modo remoto.

Las aplicaciones de escritorio generalmente son más robustas y tienen un acceso mucho más amplio a los recursos locales de cada dispositivo que las aplicaciones web. También permiten una funcionalidad más amplia y una mejor experiencia de usuario que las aplicaciones web, aunque poco a poco esta diferencia va desapareciendo con la aparición de diversos frameworks para el desarrollo web.

En cuanto al acceso a los datos, las aplicaciones web acceden a bases de datos centralizadas. Las aplicaciones de escritorio pueden acceder a datos centralizados o a datos en un entorno local.

Podríamos seguir enumerando características, ventajas e inconvenientes de cada tipo de aplicación. Desde nuestro punto de vista, la pregunta clave para decidir qué tipo de aplicación desarrollar es: ¿la aplicación va a ser usada por un número ilimitado de usuarios?
Si la respuesta es SI, la aplicación web es la solución. Si la respuesta es NO la elección no es tan sencilla, puede ser tan adecuada una aplicación web como una aplicación escritorio, dependiendo de la complejidad de la aplicación se debe optar por uno u otro modelo.

Pongamos un par de ejemplos: ¿Tendría sentido que aplicaciones web como Facebook o Gmail, que son usadas por millones de usuarios, fueran aplicaciones de escritorio que tuvieras que descargar e instalar en tu ordenador? Parece obvio que la respuesta es no. Por otra parte, ¿Sería posible que una aplicación de escritorio como Photoshop fuera igual de potente y con la misma experiencia de usuario ejecutándose en un navegador web? La respuesta también es no.

En muchas ocasiones, la combinación perfecta puede ser una aplicación de escritorio complementada por una APP móvil. El resultado suele ser mejor que desarrollar una aplicación web que se adapte a todos los dispositivos.

 

consulta aquí nuestros servicios de desarrollo de software

 

Facebooktwitterlinkedin

Suscríbete a nuestro BLOG
y mantente informado de las últimas noticias tecnológicas y del mundo de las TIC


Nombre (obligatorio)


Correo electrónico (obligatorio)



Confirmando esta suscripción acepta nuestra política de privacidad