¿Aplicaciones web ligeras?

Hace ya mucho que se habla de los Network Computer, donde los JavaStation y JavaOS se dieron un tremendo golpe. Hace todavía más de los Thin client, por ejemplo aquellos terminales VT100.

Hoy en día, esta tendencia vuelve renovada, en gran medida sustentada sobre HTML, Javascript y las Single Page Applications. Ni más ni menos que trabajar desde nuestro navegador web, lo que se denomina aplicaciones web ligeras.

Sin embargo, basta una rápida prueba para darnos cuenta, que de ligeros no tienen nada. Abro un Chromium x64 en blanco, y me consume 98 Mb. de RAM. Cargo Gmail en esa misma pestaña, y el consumo asciende a 248 Mb. Hago lo mismo con Outlook 2013 x64, y el consumo son 85 Mb. O sea que es más liviana la última versión de Outlook que un navegador web vacío. Con Firefox x64, la situación tampoco cambia demasiado. 150 Mb. nada más abrirse.

El problema no está en las aplicaciones, que efectivamente suelen ser ligeras. Tampoco el JITter de Javascript, que genera un código relativamente rápido y compacto. El problema estriba en la creciente complejidad de un navegador web. Me refiero a todos sus elementos, desde el compilador JIT de Javascript, hasta el motor de parseo, el modelo de objetos, el motor de renderizado, la interfaz gráfica, … Lo que nos viene a explicar porqué una instalación de Chrome, roza los 300 Mb.

Si lo comparamos con una aplicación típica nativa, incluso aunque utilice frameworks gráficos no demasiado eficientes como Qt, apenas rebasarán los 100 Mb. de consumo de memoria. O mi FileOptimizer, basado en la poco eficiente VCL, que no llega a los 8 Mb.

En Chromium, las cosas empeoran aún más, por su diseño de procesos independientes en cada pestaña, las necesidades de memoria crecen de manera casi lineal a medida que aumenta el número de pestañas.

Me consta que los desarrolladores de Chromium/Chrome, están poniendo mucho énfasis en reducir el consumo de recursos. La prueba es que en casi 2 años, Chromium ha aumentado solamente de un consumo de disco de 200 Mb, a algo más de 250 Mb, a pesar de todo lo nuevo que se ha implementado.

No critico la utilidad de las aplicaciones web, en general son útiles y los son mucho, lo único en lo que estoy en desacuerdo es en su livianez, o que se las llame aplicaciones web ligeras.

17 comentarios en “¿Aplicaciones web ligeras?”

  1. Cierto es, yo no las llamo aplicaciones web ligeras… simplemente aplicaciones web.

    Si puedo evito en todo lo posible hacer las típicas aplicaciones de escritorio: me hes mucho más simple configurar un XAMPP en un servidor preexistente (o hasta contratar un hosting, según las preferencias del cliente) y con especificar que funciona en Firefox/Chrome es suficiente para que todos los clientes puedan funcionar sin casi configuración.

    Ahora mismo tengo un problema con una aplicación específica del gremio de mi empresa donde he tenido que reportar al proveedor que la aplicación va consumiendo memoria hasta llegar al gigabyte y luego no la libera correctamente si no es cerrándola…

    Así que yo te diría que para las aplicaciones típicas (correo, ofimática…), si tienes detrás de la aplicación un buen equipo de programadores, es normal que la aplicación de escritorio sea más eficiente (en cuanto a recursos) que un navegador, que por definición es de uso «genérico» y por tanto menos optimizado para una tarea concreta.

    Un saludo

  2. y volviendo a rememorar clientes «thin» del pasado no te dejes las «terminales X», a las que algunos llamaban «terminales tontos» pero que de tontos no tenían un pelo (como para lanzar un servidor X11!)

  3. Recuerdo aquellos tiempos en los que apareció Java. Con su navegador HotJava, sus applets, sus historias… y todo el mundo decía lo mismo; que aquello era pesadísimo y no había quien trabajar con eso. (Recuerdo haber llegado la misma conclusión tras probar Corel WordPerfect para Linux, que lo hicieron en Java).

    Creo que ahora está pasando lo mismo con los navegadores; son auténticas bestias y tienen tal stack de abstracciones (incluyendo uno o varios motores de renderizado para mantener la compatibilidad) que es imposible que sean «ligeros». Además la experiencia de usuario que se espera en este tipo de aplicaciones *debe* rivalizar con la de una aplicacón nativa y yo diría que todavía no estamos ahí.

    Sin embargo esto también lo hemos vivido… con los editores de texto. Permíteme la disgresión. Había quien se refería al acrónimo de Emacs como «Eight Megabytes and Constantly Swapping», cuando 8 megas de RAM era un lujo. A día de hoy, creo que no se puede considerar a Emacs un editor de texto «pesado» y su lugar (en cuanto a pesadez) lo ocupa Atom, al que se le achaca sobre todo eso. Y sin embargo dentro de, pongamos, 5 años o bien Atom se habrá otpimizado lo suficiente o bien el hardware lo habrá alcanzado.

    Pues todo este embrollo era para decir que con los navegadores estamos en las mismas. Tarde o temprano terminaremos llegando a una paridad de funcionalidad con el escritorio (en cuanto a posibilidades, soltura de manejo…) y a partir de ahí se «optimizará» todo.

  4. Un interesante punto de vista Juan Lupión, el de la paridad hardware-software. Estoy convencido que se llegará a ella en el caso de los dispositivos y los navegadores, pero no deja de ser desalentador, que hagan falta 256 MB para correr Google Docs, cuando no es demasiado distinto a lo que hacía Office 97 con 8 MB.

  5. Creo que a los veteranos de esto se nos ponen los pelos como escarpias cuando rememoramos lo que se podía hacer, por ejemplo, con Office 97 como dices, sí.

    Joel Spolsky hablaba de lo mismo en cuanto a los requerimientos de hardware de Microsoft Office y afirmaba que en términos de coste, las versiones posteriores de Excel eran mucho más económicas que las anteriores.

    O, traducido a nuestro caso, esos 8MB que te servían para correr Office 97 eran en su momento más caros que los 256MB de Google Docs.

    Yo la verdad es que no lo veo tan claro y creo que en realidad todo es cuestión de las toneladas de capas de software que son necesarias para que un programador de aplicaciones web sea capaz de emular lo que en el mundo de escritorio son invocaciones más o menos sencilla a una API básica.

    Pero vaya, que aún así, dentro de unos años nos plantearemos el debate a otro nivel, estoy convencido, y nos parecerá que las apps web son rápidas 😉

  6. Menudo temita «ligero» has ido a tocar… 😀

    Si es por ligereza, nada gana a un sistema operativo multitarea/multiusuario con el que trabajé cuando era joven y guapo. Se trataba del sistema Prologue y era capaz de hacer eso, con hasta cuatro terminales virtuales por pantalla, en un triste 8086 con 640 KB de RAM, y aún podía manejar dos terminales de tiop VT100 por los puertos serie!!!. De hecho, solo necesitaba un máximo de 128 KB por sesión. Cuando se pasó al Prologue 386 en un Bull Micral 75 con 4 MB de RAM, ya era la repera. Los X-Terminals no son equiparables a nada, porque su idea era otra.

    El meollo del asunto es que esto se ha vuelto inmanejable a nivel operativo y de gestión. Administrar un parque de 500 PC’s o más obliga a «provisionar», como mínimo, un recurso humano en helpdesk por cada 50 PC’s o menos, y aún así van de cráneo. Por si les faltaban dolores de cabeza, se puso de moda ese invento infernal llamado VmWare, se gasta mal y demasiado, y la cosa cada vez es más incontrolable, con un efecto mancha de aceite que afecta a toda la empresa de una manera u otra.

    Así que, después de años de vender la moto con la arquitectura cliente/servidor, resulta que mal aplicada es una pesadilla. Para colmo, la explosión de dispositivos móviles y de conexiones remotas, hace que lo que antes estaba confinado a PC’s dentro de la oficina, acaben repartidos por sedes geográficamente dispersas e incluso en casas particulares (éste último es dolorosamente mi caso).

    A estas alturas, el menor de los problemas es si un navegador consume 10 MB o 100MB por sesión, dado que las máquinas con menos de 8 GB empiezan a ser raras (o deberían). El verdadero problema es el que hay detrás, el que se intenta resolver cuando se recurre a ese tipo de «clientes ligeros».

    My two cents…

  7. José Luis, recuerdo haber visto Prologue en alguna revista de la época, coexistiendo en reportajes y anuncios con PC/GEOS, aunque a diferencia de éste nunca lo he llegado a probar, y ahora tengo curiosidad.

    Por cierto que según vi, luego sacaron Twin Server, su sucesor, que parece ser se abandonó en favor de distribuciones personalizadas de Linux.

    Si tienes alguna idea de donde conseguirlo, me lo instalo en un VM 🙂

  8. Completamente de acuerdo. Hoy para hacer lo mismo con un navegador el consumo de recursos es enorme (en parte gracias a Google).

    Por cierto, y hablando de optimizar recursos, tu web no termina de cargar nunca (con Chrome, no he probado con otro). Se queda esperándo «algo» que no encuentra, y así por los siglos de los siglos…

  9. Completamente de acuerdo, un navegador de hoy es una pesadilla. De nada sirve tener los mejores motores que procesen la mejor información si luego son inutilizables, o los vídeos de alta calidad que tan de moda se están poniendo. Y con el HTML5 a tirar de javascript a raudales.
    Muy acertados los comentarios a nivel de empresa, pero a nivel de cliente final que está en su casa intentando rellenar un simplón formulario en google docs, es la excusa perfecta para que empiece a pensar en adquirir un nuevo PC, y así la pescadilla que se muerde la cola.
    Y creo que todo esto es solo el preludio de lo que va a acontecer, a las compañías les interesa vender, y si pueden colocarte su paquete de office a los dos años de lanzar el anterior, mucho mejor que a los tres, o que a los cuatro. Y luego te meten el miedo con las actualizaciones de seguridad, la mayoría favorecidas por ellos mismos, cuando no específicamente programadas y buscadas, ¿o por qué los más famosos hackers acaban trabajando en ese tipo de compañías? Venga bah…

  10. Exactamente. Es una historia vieja, y que se repite. Reconozco que Wordperfect 5, se pueda quedar algo corto hoy día. Pero estoy seguro que Word 95 o 97, es más que suficiente para el 90% de los usuarios. En cambio no pueden usarlo, porque no es capaz de manejar los formatos nuevos. Así que nos pasamos a los pesados Word 2013, Google Write u OpenOffice.

    Necesitamos más hardware para ejecutarlos, son exponencialmente software más complejos, en cambio al 90% de los usuarios, no les aporta nada.

  11. En efecto Guti, llevas totalmente la razón y estoy al cien por cien de acuerdo contigo. Pero también pienso que estoy hablando demasiado, ya sabes que si yo tengo PC casi nuevo es precisamente gracias a esa política de las compañías de software y de Microsoft, jeje 😀 Así que estoy tirando un poco piedras contra mi mismo tejado 😀

    Por otro lado -virtualizado, eso sí, para librarme de virus y sustos- en Windows 2000 ando perfectamente con Lotus Word, Lotus 1,2,3 y Windows 95, y no veas lo rápido que van esas aplicaciones en un PC de 1 Gb de memoria, joder, es un lujo. Y no hablo por hablar, las de hoy las he probado y las he tenido (incluyendo paquetes gratis como Open Office que mencionas) y como acertadamente dices al usuario normalito, de la calle, la mayoría de añadidos no le aportan nada, y de funcionalidades menos. Pero claro, tienen que tenerlas porque todo el mundo lo tienen, y tienen que ponerle adornos y menús con degradados y dibujos de nave interestelar porque mola un montón, aunque en materia de productividad sean «un cascajo» comparados con sus viejos rivales.

    Por cierto, podrías también hablar un día de suites antivirus, ahí habría también mucha tela que cortar.

  12. Nada que añadir a tus puntualizaciones Nelbu.

    Sobre antivirus, es un tema que me apasiona casi desde que empecé con la informática. Voy hablando de vez en cuando de ellos, aunque ahora quizás haga bastante tiempo ya. El problema, es que aún no he encontrado el producto revolucionario que antes si había. Todos vienen a hacer más o menos lo mismo, productos más pesados, con más funciones inútiles, …

Deja un comentario