miércoles, 10 de junio de 2020

Tecnologías web 103

Más frameworks, ahora para CSS también

Llegamos al ecuador de nuestra serie de posts sobre las tecnologías web, ya hemos visto en el primer post Tecnologías Web 101 los inicios de la web, y en el segundo, Tecnologías Web 102, vimos como empiezan a aparecer los primeros frameworks tanto del backend como del frontend.

Pues como no hay dos sin tres, aquí está el tercer post donde veremos como aparecen los primeros frameworks del CSS, la llegada de los componentes web, hasta llegar a la estandarización de un formato que ya se venía usando.


Diseños flexibles


El año 2011 fue el año del CSS. En este año salió CSS3 que traía novedades en el sistema de layout de las páginas. Aparecen Flexbox y Grid Layout que nos permiten crear plantillas flexibles y definir filas y columnas de una forma sencilla reduciendo el uso de la propiedad float que tanta guerra ha dado, y favoreciendo el diseño responsive de las aplicaciones.

A parte de CSS3, también empiezan a salir los frameworks de estilos como Bootstrap (de Twitter) y Foundation (de Zurb) que nos proporcionan una cantidad muy grande de estilos asociados a unas clases predefinidas y que nos hará muy fácil cambiar la apariencia de nuestras aplicaciones. También definen un sistema de columnas que van a facilitar hacer que las aplicaciones se adapten a los distintos tipos de dispositivos.

Uno para todos y todos para uno


Este mismo año Alex Russell introduce los Web Components en la comunidad, una idea influenciada por las directivas de AngularJS que va a permitir la creación de nuevas etiquetas HTML con una estructura y funcionalidad definida y que se pueden reutilizar entre distintas aplicaciones de una forma sencilla.


Por otro lado Google presenta un nuevo lenguaje para la web como alternativa a JavaScript que se viene usando desde los inicios, este lenguaje es Dart, y está pensado para solucionar algunos de los problemas que nos podemos encontrar con JS. Pero no tuvo una fuerte acogida por parte de los desarrolladores que preferían seguir usando JavaScript, y por ello se desecharon los planes que tenía Google para integrar de forma nativa en su navegador una máquina virtual para ejecutar el código y los cambiaron por crear una herramienta para compilar Dart a JavaScript.

Además surgen otros dos framework.

EmberJS para el frontend, permitiéndonos hacer SPAs, donde dos de sus principales características son las que se siguen con Ruby on Rails, COC y DRY. También incorpora un cli que va a hacer que la productividad aumente proporcionando una forma sencilla y rápida para generar servicios, instalar plugins... Y con el podíamos usar las últimas novedades de JavaScript haciendo uso de Babel para transpilar el código. De este framework se ha llegado incluso a grabar un documental.

En cuanto al otro framework, es Laravel, un framework de PHP. En la actualidad es uno de los frameworks de PHP más usados, junto a Symfony mencionado anteriormente. Viene a proporcionarnos un método sencillo y rápido de construir aplicaciones web, en el que la curva de aprendizaje es muy cómoda.



Durante el siguiente año, Microsoft presenta un nuevo lenguaje de programación basado construido sobre JavaScript, el cual nos va a permitir usar características comunes en otros lenguajes y que JavaScript no permite, como el tipado estático o las interfaces. Este nuevo lenguaje es TypeScript, y vamos a poder usarlo tanto para el cliente como para el servidor, aunque en realidad el código final que se va a ejecutar en estos entornos será JavaScript. Por tanto, necesitamos transpilar el código de TS para obtener el código equivalente en JS.


La ventaja de usar TypeScript frente a JavaScript es que a la hora de transpilar el código se nos van a mostrar errores, sobre todo errores de tipado, de tal forma que nuestro código final será más robusto.



Este mismo año, surge un framework web fullstack llamado Meteor que permite crear aplicaciones web, móviles y de escritorio, de una forma muy rápida. Por defecto, como BBDD usa MongoDB, el servidor está montado con Node y para el frontend al principio usaba Blaze como motor de plantillas, pero según han ido apareciendo nuevas librerías han ido añadiendo más opciones como React o Vue. Pero una de las novedades más importantes que trae este framework es la actualización de los datos en tiempo real, es decir, que si abres la misma página desde distintos dispositivos y se añade algún dato nuevo, este aparecerá en todos los dispositivos automáticamente sin necesidad de refrescar la página.

Tras la aparición de frameworks como AngularJS o Backbone que nos permiten crear SPAs y el uso de los dispositivos móviles para entrar en las aplicaciones web, nos encontramos con que tenemos la aplicación dividida en varios archivos que se tienen que descargar, y cuantos más archivos que descargar haya, más peticiones hay que hacer, con lo que ello conlleva.

Aquí es donde entra Webpack, un module bundler que nos permite gestionar todos los recursos que se van a usar en la aplicación. Webpack va a ir aplicando unos loaders a nuestro código que lo va a ir transformando y uniendo hasta generar los archivos finales (un bundle.js). Por ejemplo, si estamos usando Sass, tendremos que transformar el código a CSS y para ello tendremos que aplicar el loader que se encarga de ello. También se encarga de minimizar el código, haciendo que los archivos que genera ocupen el menor espacio posible.



Para el año 2013 se estandariza el formato JSON que Douglas Crockford había especificado anteriormente. Este formato va a empezar a usarse junto a AJAX por sus ventajas, haciendo que los datos que se van a transferir pesen menos, por lo tanto tarden menos en comunicarse el servidor y el cliente, haciendo que la experiencia del usuario mejore. Los desarrolladores terminarán sustituyendo al XML por JSON en las peticiones AJAX.


Aquí terminamos por hoy. En el siguiente post, Tecnologías Web 104,  veremos como la llegada del iPhone hace que se empiece a pensar en el desarrollo responsive, y el desarrollo multiplataforma.

0 Comments:

Publicar un comentario