jueves, agosto 19, 2010

La web ha muerto

Son muchos los giros que ha dado a lo largo de la "historia" la tecnología aplicada a la información. Algunos recordarán la época en la que los ordenadores personales no existían, y que la informática básicamente se ceñía a entornos mainframe, con supermáquinas costosísimas que sólo las grandes empresas, como la banca, podían permitirse, ¿verdad? En estos entornos, la gran máquina realizaba todo el trabajo, y unas pantallas "tontas", acompañadas de un teclado, hacían de interfaz entre el mainframe y el usuario. En estas pantallas no se producía ningún tipo de proceso. Simplemente cumplían como meras "ventanas" al interior del ordenador, y permitian centralizar los costes en el gran ordenador, dando acceso a los usuarios a través de equipamiento barato y kilómetros de cableado por toda la empresa.

El mercado, la economía, y las nuevas tendencias hicieron que esos grandes desembolsos económicos en el superordenador "se minimizasen" cambiando la arquitectura tecnológica. Por aquel entonces se dio forma a los ordenadores personales, haciendo que entonces, un PC de reducidísimo coste comparado con un mainframe, pudiera realizar cálculos, obtener entrada del usuario y presentar información en pantalla, por una pequeña fracción de dinero. Estos pequeños ordenadores se podían conectar en red, y permitir la comunicación entre ellos, pero al final hay que almacenar la información en algún lugar, y compartirla con todos los usuarios, por lo que se hicieron necesarios los "servidores", máquinas más potentes que las estaciones de trabajo de usuario, y con dedicación exclusiva a la gestión de discos y ejecución de procesos que sirviesen de apoyo a los equipos de los usuarios. En estos servidores se instalarían bases de datos que ayudarían a esta labor, y a las que accederían los usuarios desde sus equipos a través de la red. Nacía la arquitectura cliente/servidor.

Se establecieron las interfaces de usuario gráficas, se encareció el coste por PC debido a la mejora en calidad, posibilidades y cualidades multimedia de los mismos, se incrementó el riesgo de "fallos de seguridad" en las empresas debido a los puertos USB y los pendrives, y con el tiempo Windows se proclamó "gran ganador" en la carrera de los sistemas operativos en la empresa (para bien o para mal).

Más tarde el entorno cliente/servidor se nos antojó caro, pues había que invertir muchísimo dinero en un gran número de PCs para los usuarios, además del gasto que se producía en infraestructura para el mantenimiento de los mismos. Esto dio lugar a una nueva corriente de creencia en que lo centralizado era mejor, y nacieron tecnologías como Citrix, que permitían anidar caros servidores en "granjas", que ejecutarían múltiples sesiones de usuario que a su vez serían visualizadas en "Thin Clients" (clientes ligeros) económicos consistentes en una pantalla, teclado, ratón, y un mini PC económico que apenas tenía capacidad de proceso. Sorprendentemente se había vuelto a una rediseñada arquitectura mainframe en cuyo interior seguía cociendo el mundo cliente/servidor.

Pasó el tiempo e Internet empezó a despuntar. Sus «geocíticas» y feas primeras páginas "1.0" que hoy todavía podemos consultar gracias a la Wayback Machine fueron las precursoras de lo que hoy conocemos como "La Web 2.0", un entorno en el que las páginas web pueden mostrarnos vídeo, reproducir música, ejecutar aplicaciones complejas como Google Docs, y en muchos casos, sin cambiar de página entre clic y clic gracias a "tecnologías" como Ajax (o mejor dicho, gracias a las llamadas asíncronas).

Poco a poco las aplicaciones cliente/servidor y de escritorio en general fueron siendo defenestradas en favor de la web. Todo el mundo sacaba versiones de sus aplicaciones de gestión en entorno web, se crearon infinidad de frameworks en multitud de lenguajes para la construcción de aplicaciones web. Capas de broza sobre otras capas que cada vez dificultaban más y más la comprensión de las mismas, hasta llegar al punto en el que (sujetarse a la silla los que no estéis muy puestos en esto de la programación) cuando uno pinchaba en un enlace, lo que el servidor devolvía no era html, sino xml que el navegador interpretaba gracias a librerías javascript, y modificaba el árbol DOM, cambiando el aspecto de la página visitada "al vuelo" y sin las molestas recargas de antaño.

Todo esto había cambiado la web para siempre, y lo que en su momento era cuestión de abrir un bloc de notas y empezar a escribir con un alegre "<html>" se había convertido en toda una locura de tecnologías, frameworks, capas, etiquetas descriptivas, xmls, y brozas varias que pocos podían entender, y los que querían mantenerse "al día" debían estar en constante reciclaje. En Java ya no había un dios que supiese por donde empezar, en .net salían versiones y versiones de sus frameworks, con cambios constantes, y un asp.net cada vez más complejo.

Stop! Si echamos la vista a atrás en este preciso momento, hace años explicarle a un chaval de doce años lo que era programar era relativamente sencillo. Con la programación orientada a objetos, todavía era más fácil hacerle entender las cosas, pues tomaban forma del mundo real, y ahora, en este punto, a mi no se me ocurre cómo explicarle lo que es una aplicación web, pues ni yo mismo comprendo cómo hemos llegado a esta ingente e indecente cantidad de capas de morralla y brozas que las aplicaciones web requieren para existir. Y no es cuestión de edad (por el chaval), no. Tampoco sabría ni remotamente cómo explicarle esto a mi padre. Doy fe.

Sigamos. Hayámonos en este punto, cuando llega Wired (la famosa revista) y un colgao con nombre de símbolo (antes creo que se llamaba Prince XDD) y dicen que "la web ha muerto", y otros blogs se hacen eco, lo critican, y opinan al respecto. No me extraña. ¡Esto ni es web ni es na! Resulta que ahora los dispositivos móviles son «los jefes», y en ellos lo que molan son las aplicaciones. Aplicaciones de escritorio que acceden a recursos en "la nube" y los traen a las diminutas pantallas de los teléfonos del personal. Aplicaciones que en muchos casos utilizan el protocolo http y una buena cantidad de capas de más broza para acceder a dicha información. Una vez más estamos retrocediendo al pasado, con tecnología de hoy, complicándolo todo para simplificarlo hasta que de nuevo sea tan complejo que haya que subir un nivel más, y volver a simplificar metiendo más broza.

Resulta que ahora la web ha muerto, pero muchas aplicaciones siguen usando webs para la capa de presentación, por lo que son webs embebidas en aplicaciones, un desastre ecotecnológico que sólo podrá ser superado por su futuro e incierto sucesor. Tanta capa hace que necesitemos ordenadores con 4Gb de RAM y teléfonos con micros de 1Ghz en los que podrían correr las aplicaciones más exigentes de PC de hace unos años.

Si a esto le añadimos la virtualización y sus "máquinas virtuales", que habitan dentro de máquinas físicas, y que permiten que sea posible llegar a perder la pista por completo a dónde se encuentra tal programa, tal fichero, o tal base de datos, apaga y vámonos.

Ahora resulta que la web ha muerto, y que las aplicaciones son el futuro. Mañana algún lumbreras se dará cuenta de que los App Stores, Markets, y demás lugares donde conseguir aplicaciones son un engorro, y los convertirán en sitios web donde adquirir las aplicaciones, y ejecutarlas en un escritorio virtual presentado en web (que hoy ya existen). Hasta el punto de encender el PC/teléfono, y encontrarnos con un navegador en BIOS que nos abra una página donde estará todo, en la nube, claro, arropado con tantas capas de broza que los programadores del futuro necesitarán una interfaz como la usada en Matrix para enseñar Kung Fu a Neo, para poder aprender a programar.

Llegará el día en el que llevemos en el bolsillo teléfonos con la capacidad de computación de los equipos del gran colisionador de hadrones del CERN, para poder ver nuestro correo, y alguien dirá: "la «ponga_aquí_el_nombre_de_tecnología_de_turno» ha muerto".

Etiquetas: , , , , ,


Comments:
al final la aplicación en si misma es lo que menos te cuesta programar, en lo que realmente tardas tiempo es en las miles de interfaces de usuario que tienes que desarrollar.
 
Publicar un comentario en la entrada

<< Home

This page is powered by Blogger. Isn't yours?