Seleccionar página

En aras de la productividad el mundo del desarrollo se ha ido ampliado de forma constante con funciones, módulos, librerías, paquetes, frameworks y entornos de desarrollo cada día más completos, complejos y sofisticados: Angular, React, Vue, Express, Socket.io, Meteor, etc. Esta pléyade de código desarrollado por personas muy inteligentes, juiciosas y experimentadas nos hacen cada día la vida más fácil. De esta forma podemos centrarnos en los requisitos de nuestros clientes, usuarios o product owners y olvidarnos de los procesos internos que realizan estos códigos. Es sin duda algo muy positivo.

El problema es que el uso continuado de este código nos aísla de la base, de lo básico y, con el tiempo, llegamos a olvidarlo. Ya casi nadie sabría programar en un navegador sin en omnipresente JQuery o se plantearía desarrollar un servidor HTTP en NodeJS sólo con la librería nativa. No es algo necesariamente malo, pero debemos ser conscientes de que cada día estamos un poco más alejados del desarrollo base, aquel que se hace sin complementos, sólo con lo que nos ofrece un editor de texto y las funciones y funcionalidades que dispone nuestro navegador o en NodeJS sin incluir otras dependencias.

Es recomendable desarrollar de vez en cuando -por ejemplo, una vez al año- un pequeño proyecto con cero dependencias, programando por nosotros mismos todo lo que necesitamos. Es seguro que deberemos sacrificar la productividad, pero volveremos a recordar lo básico de la programación, volveremos a comprender las bases de nuestro entorno y, seguramente, seremos más conscientes de la gran cantidad de cosas que están en el fondo de nuestra caja de herramienta y, por falta de costumbre, hemos olvidado.

Por ejemplo, el recordaremos el uso de document.querySelector() en vez del casi universal $(), descubriremos que los módulos incluidos en NodeJS tienen una gran cantidad de funcionalidades y que no siempre hay que utilizar NPM. Volveremos a descubrir un mundo sin Gulp, Grunt, Webpack, Babel, etc. Veremos que, por ejemplo, mientras nosotros usábamos Babel para todo, el soporte de ES6 está cada día más extendido y la necesidad de un compilador es, en ocasiones, menor de lo que pensábamos.

Seguramente también nos encontraremos con alguna funcionalidad verdaderamente difícil de abordar sin echar mano de una librería externa bien desarrollada. Por ejemplo, en el último ejercicio que estamos abordado sin dependencias nos hemos encontrado con la dificultad de desarrollar un servidor WebSocket desde cero. En estos casos es una buena idea copiar y adaptar un código de otros, siempre con el objetivo de comprender como funciona. Hay que recordar que estamos haciendo un ejercicio para aprender o recordar lo que se nos había olvidado después de trabajar todos los días con funcionalidades de mayor nivel.

Ahora que empieza la parte más calurosa del verano en el hemisferio norte, y entramos en la parte más fría del invierno en las tierras australes, es un buen momento para darnos este pequeño respiro y trabajar por unos días sin dependencias externas, o casi -que tampoco hay que ser extremista. Estamos seguros de que disfrutareis y aprenderéis al desarrollar un proyecto con cero dependencias.

Novedades

Observables en Javascript con Proxies

Observables en Javascript con Proxies

En esta charla, organizada por MadridJS, Pablo Almunia nos habla de la observación reactiva de objetos en Javascript por medio de Proxy. Se describe paso a paso cómo funcionan los Proxies y en que casos pueden ser nuestro mejor aliado. Veremos que no hay que tenerles miedo, son bastante sencillos de utilizar, y nos ofrecen una gran abanico de posibilidades.

Aplicaciones JAMStack, SEO friendly y escalables con NextJS

Aplicaciones JAMStack, SEO friendly y escalables con NextJS

En esta charla de Madrid JS, Rafael Ventura nos describe las funcionalidades clave de NextJS, nos muestra en vivo cómo desarrollar una completa aplicación JAMStack con Server Side Rendering (SSR) y Static Site Generation (SSG) y termina mostrando como publicar esta aplicación en Vercel.

Stencil JS: mejora el Time To Market de tu producto, por Rubén Aguilera

Stencil JS: mejora el Time To Market de tu producto, por Rubén Aguilera

En esta charla Rubén Aguilera nos cuenta los problemas que tienen muchas empresas a la hora de sacar productos accesibles, vistosos y usables en el Time To Market que requiere Negocio y cómo podemos minimizar este tiempo gracias al DevUI con StencilJS para adecuar una aplicación de Angular a las exigencias del mercado en tiempo record.

Svelte JS: por qué dedicarle tiempo, por Jesús Cuesta

Svelte JS: por qué dedicarle tiempo, por Jesús Cuesta

Jesús Cuesta cuenta qué es Svelte, para qué sirve, cómo compite contra aplicaciones construidas con React o Vuejs, si sirve para desarrollar web components, si la curva de aprendizaje es muy alta, y sobre todo si está suficiente maduro para utilizarlo. Si quieres conocer Svelte no puedes perderte esta introducción.