miércoles, 20 de mayo de 2020

Tecnologías Web 101

Los Inicios

Hoy os vengo a presentar el primero de una serie de cuatro posts en los que iremos viendo como ha ido evolucionando el desarrollo web en función de algunos factores clave como la llegada de los smartphones. En este primero os dejo además alguna reflexión y vamos a ir viendo como empezó todo.

LitElement, React, Flutter, Vue, Ionic, Angular, React Native... seguro que alguno de estos nombres nos suenan, o puede que nos suene algún otro que no he escrito en la lista. Da igual, todos ellos son nombres de Tecnologías Web.

Algunas son de las últimas tecnologías que han salido y otras de aquellas que ya llevan un tiempo y son de las más usadas actualmente. Algunas nos permiten desarrollar aplicaciones web y otras aplicaciones para móviles (híbridas y nativas) pero usando lenguajes que se usan en la web.


Seguro que ahora mismo acaba de publicarse alguna librería nueva, o hay alguien a quien se le ha ocurrido crear un nuevo framework que hace lo mismo que otro que ya existe. Pero bueno, con el tiempo puede darse a conocer y algunos desarrolladores quieren aprenderlo y cambiar aquel que están usando en sus proyectos por este nuevo, solo por estar a la última. Y al poco tiempo le saldrá algún competidor que hace exactamente lo mismo pero cambiando la sintaxis y replicando alguna de las funcionalidades de otro framework/librería y vuelta a empezar.

Ojo, con esto no quiero decir que sea algo malo. Esta muy bien aprender y conocer cuales son las tecnologías web que acaban de salir, conocer las ventajas y desventajas frente a otras, y sobre todo que problemas se han encontrado los creadores para que dijeran "vamos a desarrollar Vuelar Native" y terminaran por crearlo. Lo que quiero decir es lo siguiente, ¿es necesario cambiar el proyecto de tecnologías porque ha salido una nueva y queremos usarla?, es decir, tenemos un proyecto con Angular, ha salido Vue y decidimos volver a desarrollar en Vue todo lo que ya teníamos funcionando. Yo creo que no.

Pieter Levels (@levelsio en Twitter) es un nómada digital que ha construido varias aplicaciones web para las personas que se dedican a viajar por el mundo al mismo tiempo que trabajan. Una de estas aplicaciones es Nomad List, una herramienta que proporciona mucha información importante para estos nómadas, como por ejemplo, el tiempo, el coste de vida, la velocidad de internet...

Mirad los siguientes tweets:
















Algunos me podríais decir, es de 2017, seguramente ya haya cambiado jQuery por otra librería. Pues ya os digo yo que no es así.


Bueno, no me quiero ir por las ramas, entonces, ¿cómo han ido evolucionando las tecnologías web desde los inicios hasta la actualidad, donde nos encontramos con tantas librerías y frameworks?

El Despertar de la Web


Todo empezó en 1989, cuanto Tim Berners-Lee, un ingeniero del CERN, crea un documento en el que define una forma de compartir la información que se encontraba repartida entre los distintos ordenadores que usaban en el CERN. Y en el 1990 Tim crea el primer servidor de páginas web.

Lo siguiente que hizo Tim fue proponer un nuevo sistema de hipertexto que les permitiera compartir los documentos, y de esta forma se empieza a desarrollar lo que hoy conocemos como HTML. En  1991 se publica un primer documento que llevaba el nombre de HTML Tags en el que se definían 18 etiquetas que les permitirían estructurar los documentos, permitiendo usar títulos, párrafos, listas, enlaces...

En 1993 se presentan dos propuestas (HTML y HTML+) para convertirlo en un estándar, y en estas propuestas se incluían nuevas etiquetas bastante importantes a la hora de crear los documentos científicos, como permitir crear tablas y añadir imágenes. Pero no se convierte en un estándar hasta 1995, cuando se publica HTML 2.0.

Durante estos años las aplicaciones ya incorporaban formularios grandes que se validaban en el servidor, lo que conllevaba que los usuarios tuvieran que esperar hasta que el servidor respondiera si eran correctos y cumplían con las validaciones, o no.


Ante este problema, en 1995, Brendan Eich (trabajador de Netscape) desarrolló un lenguaje que podía ser ejecutado en el navegador para reducir el tiempo de espera ante la respuesta del servidor. El nombre del lenguaje empezó siendo Mocha, más tarde ese mismo año se cambió a LiveScript, y por último se le llamó JavaScript debido a que el lenguaje de moda de aquella época era Java y querían atraer a los programadores de este lenguaje.


Ahora solo faltaba poder cambiar la apariencia de los sitios web que había por aquella época, y aquí es donde entra CSS que se presenta oficialmente el mismo año que JS. Aunque ya existían anteriormente otros lenguajes de estilos, este permite aplicar en forma de cascada unas propiedades a los elementos de la página que se han definido en distintas hojas de estilos.

Esta primera versión permitía definir estilos para los textos, cajas y listas, permitiendo añadir márgenes, establecer el tamaño y tipos de letras, añadir los bordes, cambiar los colores de las letras y los fondos...

Este año, Rasmus Lerdof empieza a desarrollar PHP, inicialmente para contar el número de visitas que se realizaban a su CV, y que va a ir evolucionando permitiendo generar páginas dinámicas incrustando código PHP dentro del HTML. Este es considerado uno de los primeros lenguajes de programación en el lado del servidor.

La Amenaza Flashtasma


Durante el 1996, Adobe Flash (en aquel momento conocido como Macromedia Flash) entra en juego permitiendo que se puedan ver videos y escuchar música en los navegadores, algo que hasta este momento era imposible de hacer con cualquier otra tecnología. Lo único necesario era tener instalado el plugin en los navegadores.

Pero su destino no iba a ser muy bueno. Debido a la gran cantidad de agujeros de seguridad en el código, los dispositivos de Apple eran incompatibles debido a la gran cantidad de recursos que consumía Flash, y por último la llegada de HTML5 que permitía hacer lo que Flash pero con la ventaja de que lo hacía de forma nativa sin necesidad de instalar plugins en los navegadores, se ha terminado porque Adobe haya decidido de dejar Flash.

A finales de este mismo año, Microsoft lanza ASP, una tecnología del lado del servidor que va a permitir crear páginas web dinámicamente inyectando en el HTML a través de código de scripting con el que se puede llegar incluso a hacer que los datos se obtengan de una BBDD. El principal problema de esta tecnología es, que solo funciona bajo los entornos de Microsoft.

Otra de las tecnologías que aparecen este año es XML, un metalenguaje desarrollado por la W3C y que permite declarar lenguajes de marcado. XML se ha usado para definir los mensajes que se envían cuando varias aplicaciones se tienen que comunicar (SOAP, WSDL...),

Al siguiente año, Sun Microsystems saca la especificación de los Java Servlets, la alternativa a ASP y PHP de los que hemos hablado anteriormente, pero esta vez para el lenguaje Java. Estos servlets son clases de Java que se van a ejecutar cuando el servidor recibe las peticiones, y es dentro de los métodos donde se va a ir generando la página de HTML dinámicamente, mientras que con las otras tecnologías, el código se incrusta en el HTML.

Por 1998 se publica HTML 4.0 que incluía varias mejoras frente a las versiones anteriores. Pero a partir de esta versión, la W3C que se encargaba de la estandarización de este lenguaje lo deja de lado para centrarse en XHTML, lo que lleva a algunas empresas como Apple, Mozilla u Opera a crear la WHATWG (Web Hypertext Application Technology Working Group) que se iba a encargar de seguir trabajando en la especificación de HTML llegando a sacar HTML5 más adelante.

También es este año cuando se publica la especificación de CSS2 en la que se añaden algunas propiedades que permiten indicar como se tienen que posicionar los elementos en la página, también se añadieron los media types que permitían aplicar las propiedades en la pantalla, en el página de impresión... y las sombras.

Ya que ASP era de Microsoft, y todo aquello que pertenecía a Microsoft solo funcionaba en sus plataformas, en el 1999 aparece una nueva tecnología, JSP (Java Server Pages), la cual va a permitir generar dinámicamente las páginas en el servidor incrustando el código de Java dentro de la página HTML. Además, viene a resolver el principal problema de ASP, la portabilidad.

Y hasta aquí llega este primer post, en el que hemos visto como aparecen los principales lenguajes usados en el cliente y algunas herramientas que nos permiten generar las páginas dinámicamente desde el servidor. No os perdáis el siguiente post, Tecnologías Web 102

0 Comments:

Publicar un comentario