Aplicaciones Web - tectijuana/redes7a-Archived GitHub Wiki
Aplicaciones Web
Inicialmente la idea o definición de una pagina web es muy distinta a la actual, en un inicio no eran mas que una colección de páginas estáticas, documentos, etc., que podían consultarse o descargarse.
Aunque esto no fue asi por mucho ya que el siguiente paso en su evolución fue la inclusión de un método para confeccionar páginas dinámicas, es decir que permitieran que el contenido fuese dinámico (generado o calculado a partir de los datos de la petición). Dicho método fue conocido como CGI (common gateway interface) y definía un mecanismo mediante el cual podíamos pasar información entre el servidor HTTP y programas externos. Los CGI siguen siendo muy utilizados, puesto que la mayoría de los servidores web los soportan debido a su sencillez. Además, nos proporcionan total libertad a la hora de escoger el lenguaje de programación para desarrollarlos. (Anon, 2017)
El esquema de funcionamiento de los CGI tenía un punto débil: cada vez que recibimos una petición, el servidor web lanzaba un proceso que ejecutaba el programa CGI. Como, por otro lado, la mayoría de CGI estaban escritos en algún lenguaje interpretado (Perl, Python, etc.) o en algún lenguaje que requería run-time environment (VisualBasic, Java, etc.), esto implicaba una gran carga para la máquina del servidor. (Anon, 2017)
Por ello se empiezan a desarrollar alternativas a los CGI para solucionar este grave problema de rendimiento. Las soluciones vienen principalmente por dos vías. Por un lado se diseñan sistemas de ejecución de módulos más integrados con el servidor, que evitan que éste tenga que instanciar y ejecutar multitud de programas. La otra vía consiste en dotar al servidor de un intérprete de algún lenguaje de programación (RXML, PHP, VBScript, etc.) que nos permita incluir las páginas en el código de manera que el servidor sea quien lo ejecute, reduciendo así el tiempo de respuesta. (Anon, 2017)
A partir de este momento, se vive una una llamada explosión del número de las arquitecturas y lenguajes de programación que en esos momentos nos permiten desarrollar aplicaciones web. Todas ellas siguen alguna de las dos vías ya mencionadas con anterioridad. De ellas, las más útiles y las que más se utilizan son aquellas que permiten mezclar los dos sistemas, es decir, un lenguaje de programación integrado que permita al servidor interpretar comandos que “insertemos” en las páginas HTML y un sistema de ejecución de programas más enlazado con el servidor que no presente los problemas de rendimiento de los CGI. (Anon, 2017)
En la actualidad una gran parte del negocio del desarrollo de software se está trasladando a la nube. No solo como sistema de almacenamiento de información o procedimientos, sino también el propio proceso de desarrollo de aplicaciones. Tanto es así, que es muy posible que 2016 sea el año en el que la mayoría de las aplicaciones que no se encuentren en la nube, sí deben ser compatibles con ella ante un previsible traslado de esas aplicaciones empresariales a la nube. (BBVAOpen4U, 2017)
Pero ademas de lo que ya se menciono sobre la nube no es lo unico que esta sucediendo actualmente con las aplicaciones, tambien es remarcable mencionar a las aplicaciones web progresivas o mejor conocidas como PWAs y en Android como WebAPKs, son aplicaciones que usan las más recientes tecnologías web, así como services workers para ofrecer al usuario una experiencia de uso muy similar o incluso mejor a las apps que instalamos en nuestros dispositivos.
Podríamos decir que han llegado a eliminar la distancia entre una aplicación móvil y un sitio web, pudiendo incluso enviar notificaciones push. (Soco, 2017)
Referencias
Anon, (2017). [online] Available at: http://www.uoc.edu/masters/softwarelibre/esp/materials/Desarrollo_web.pdf [Accessed 30 Jan. 2017].
Soco, M. (2017). Las aplicaciones web progresivas llegan ya Google Chrome para Android. [online] Xatakandroid.com.mx. Available at: https://www.xatakandroid.com.mx/web-movil/las-aplicaciones-web-progresivas-llegan-ya-google-chrome-para-android [Accessed 30 Jan. 2017].
BBVAOpen4U. (2017). Tendencias en desarrollo de software para 2016. [online] Available at: https://bbvaopen4u.com/es/actualidad/tendencias-en-desarrollo-de-software-para-2016 [Accessed 30 Jan. 2017].