Saltar al contenido

Categoría: Javascript

Node.js: el documental de su origen

Le llegó el turno a Node.js para ser protagonista de un documental de Honeypot. Esta vez veremos en Node.js: el documental, una mirada íntima a la creación, evolución y triunfos de una de las tecnologías más influyentes en la última década. Desde sus humildes comienzos hasta convertirse en un pilar fundamental en el desarrollo web moderno, el documental nos sumerge en la historia de Node.js, contada por su creador original, Ryan Dahl, y las mentes brillantes que contribuyeron a su crecimiento.

El documental relata cómo Ryan Dahl, inicialmente no estaba seguro sobre el potencial de su proyecto, pero cuando liberó Node.js al público, desató una ola de interés a medida que los desarrolladores descubrían las ventajas de las operaciones de entrada/salida asincrónicas. También Node.js: el documental, explora los desafíos enfrentados en las primeras versiones, donde la implementación de nuevas características a menudo requería sacrificar la retrocompatibilidad. Ocasionando quejas de los primeros usuarios de Node quienes querían una versión estable para sus proyectos.

El relato continúa con la aparición de npm y el arduo trabajo de aquellos que llevaron Node.js a Windows, superando obstáculos para manejar operaciones de archivos de manera asincrónica y desarrollando bibliotecas para facilitar el proceso.

El drama en Node.js: el documental

El documental toma un giro intrigante al abordar la controversia en torno al control de Node.js por parte de Joyent y la posterior creación de io.js. Mientras los desarrolladores buscaban innovar y actualizar el motor de node, la empresa priorizaba la estabilidad para sus principales clientes. Sin embargo, a través de entrevistas francas, obtenemos una visión completa de ambos lados. De hecho, me gustó como incluyeron el CEO de Joyent de esa época, para revelar los motivos para tener control de Node.

Esta sección culmina mostrando como fue la fusión de los proyectos y la formación de la Node Foundation, un hito crucial que garantizó una gestión colaborativa y transparente del desarrollo de Node.js. También luego muestra como Node.js ahora es parte integral de la Open JS Foundation y cuenta con un desarrollo abierto.

En resumen, «Node.js: El Documental» no solo ofrece una mirada fascinante a la historia de Node.js, sino que también presenta un drama empresarial cautivador y un final feliz para una tecnología que ha transformado nuestro mundo digital. Espero que te inspires con en este documental emocionante y descubre cómo una idea revolucionaria cambió para siempre el panorama tecnológico.

Node.js: The Documentary | An origin story
Deja un comentario

Como actualizar npm cuando se usa nvm

Si eres un desarrollador de Node.js, es muy probable que utilices nvm para gestionar las diversas versiones de Node en tu equipo. Esta herramienta resulta extremadamente útil al trabajar en varios proyectos, realizar pruebas en diferentes versiones de Node o ejecutar software en una versión específica que difiere de la que normalmente usas o la que viene pre-instalada en tu sistema operativo. Sin embargo, al emplear este servicio, es posible que necesites actualizar npm, y aquí te mostraré cómo hacerlo.

Actualizar NPM

NPM, o Node Package Manager, es la herramienta que se utiliza para gestionar las dependencias de JavaScript de una aplicación. También sirve como el servicio de alojamiento donde se almacenan dichas dependencias.

No obstante, en ocasiones pueden surgir actualizaciones para esta aplicación. Si utilizas NVM (Node Version Manager), actualizar npm no es tan sencillo como con cualquier otra aplicación, ya que su actualización dependerá de cada versión de Node.js instalada.

Por lo tanto, solo necesitas ejecutar este comando:

nvm install-latest-npm

¡Listo! Ya vas a ver como se va a descargar npm a su última versión y va a funcionar con nvm sin problemas.

Deja un comentario

Documental de la creación de TypeScript

TypeScript Origins: The Documentary es un documental creado por Keyboard Stories que explora el proceso de creación de TypeScript. Lo más me gustó de ese documental, es que cuenta con comentarios de sus creadores y de las personas involucradas en su desarrollo, presentación y difusión, ofreciendo una visión completa de la historia detrás de este lenguaje. Este documental de TypeScript es algo que no se deben perder si están involucrados de alguna forma con el mundo de la programación.

¿Qué tiene de importante TypeScript?

Si te parece extraño que hayan hecho un documental de TypeScript de este calibre, es porque actualmente es uno de los lenguajes mas populares. JavaScript probablemente es el lenguaje mas popular actualmente, pero tiene muchas carencias como la falta de tipado/tipos (para mí es una de las cosas por las cuales opino que no es un buen lenguaje) que permite entre muchas cosas, crear código mas complejo, ayudar a los programadores escribir mejores programas limitando el tipo de datos que se pueden guardar o pasar en funciones, optimizar la velocidad de ejecución de los programas, entre otros.

TypeScript nace como solución a este problema, expandiendo su uso rápidamente e inclusive siendo sustituto de JS en muchas compañías. Ademas de ser el lenguaje que hizo posible en su día a tecnologías como Angular y Visual Studio Code.

Mi opinión del documental de TypeScript

El documental comienza con los principales creadores narrando cuáles fueron las causas para desarrollar este lenguaje dentro de Microsoft. Luego, muestra un poco el proceso de desarrollo y, posteriormente, el lanzamiento al público. En estas partes, podemos recordar las conferencias en las que fue anunciado.

Me llamó la atención, cómo comentan que querían liberarlo bajo una licencia abierta pero Microsoft no estaba acostumbrado a eso. Pero con la nueva gerencia les tocó evolucionar y lo consiguieron.

En el proceso de creación de TS, vemos como el lenguaje fue usado para construir Visual Studio Code; posteriormente el equipo de Angular (del rival Google), se unió para hacer que TypeScript soportara decoradores gracias al proyecto AtScript.

Pero en vez de contarte mas, te recomiendo que lo veas a continuación:

TypeScript Origins: The Documentary

Me pareció muy inspirador ver este documental de TypeScript. Ver la historia contada por los mismos creadores, observar como creció desde una idea para poder terminar otro proyecto, hasta ser uno de los principales lenguajes de programación, es muy placentero.

Ojalá hagan mas documentales de este tipo, tal vez uno de Visual Studio Code. Pues luego de ver este documental me dio curiosidad de cómo desarrollaron este editor.

Finalmente, te recomiendo aprender este lenguaje y hacer tu experiencia con JS mas placentera.

Deja un comentario

React vs Vue: ¿Cuál usar?

Este es un artículo que quería publicar hace un par de años. Quería escribir una comparación breve de React vs Vue para que cualquier persona con deseos de empezar con un nuevo proyecto o aprender front-end tenga una base de cual elegir. Pero siempre quedaba en borrador porque sentía que necesitaba mas experiencia con React (Vue lo uso diariamente en mi trabajo). Pero con la actualización de mis plugins de WordPress he logrado trabajar mas con React y poder hacer una comparación.

Comparación inicial entre React vs Vue

Algo que tienes que tener claro es que ambas tecnologías son librerias. No incluyen todos los componentes para hacer SPA. Pero si permiten crearlas y son la base para crear buenas interfaces dinámicas y ligeras.

Ambas tienen una funcionalidad similar pero con una sintaxis y forma de resolverlo diferente. Por ello, cuando quieres saber de React vs Vue debes enfocarte en cual se te hace mas fácil o te beneficia para tu próximo proyecto.

Ninguna es mejor que la otra, y todo se reduce a facilidad de conseguir programadores, documentación y cual se adapta a tu manera de pensar. Por eso lee los siguentes puntos que me parecen importante para que puedas elegir tu próxima librería de frontend.

Curva de aprendizaje y sintaxis

En mi opinión Vue es el mas fácil de aprender. La sintaxis es HTML con unos atributos especiales como v-if, v-if, v-model que permiten controlar el flujo de ejecución o generación del HTML, de resto es HTML estándar usando {{ }} (doble llaves) para mostrar las variables.

Actualmente posee dos formas de crear los componentes: usando Composition API y Options API. La diferencia entre ellas, es que la primera es parecida a la de React y esta enfocada en la facilidad de importar y reutilizar código. El otro, es la versión clasica donde creamos un objeto del componente con llamadas a los metodos, propiedades, datos, entre otras cosas.

También Vue tiene conceptos como variables computadas y asignación de modelos, que abstraen procesos que se harían manuales en otras librerias pero aqui se hacen de forma automática y podemos, por ejemplo, tener una variable que se compute automaticamente ante cambios, sin preocuparnos por desarrollar el proceso de actualización de la misma.

Aquí puedes ver un ejemplo de un componente sencillo que usa Composition API:

import { ref } from 'vue';

export default {
  setup() {
    const mostrarMensaje = ref(false);
    const nombre = 'María';

    const toggleMostrarMensaje = () => {
      mostrarMensaje.value = !mostrarMensaje.value;
    };

    return {
      mostrarMensaje,
      nombre,
      toggleMostrarMensaje
    };
  },
  render() {
    return (
      <div> 
        <h1>¡Bienvenido/a, {nombre}!</h1>
        <button onClick={toggleMostrarMensaje}>
          <span v-if="mostrarMensaje">Mostrar mensaje</span>
          <span v-else>Ocultar mensaje</span>
        </button>
        <p v-if="mostrarMensaje">Este es un ejemplo de sintaxis de renderización en Vue.</p>
      </div>
    );
  }
};

En cambio React usa JSX para renderizar los componentes. Es una sintaxis que mezcla XML con JS. Utiliza JS para controlar la lógica de renderizado y luego etiquetas HTML para definir los componentes y elementos de la página. Pero no es 100% igual, hay atributos como las clases que se llaman className, en vez de class y otros detalles que debes aprender.

Respecto a la parte de datos, utiliza algo llamado hooks que nos permite reutilizar el código mas facilmente. Aqui la data se maneja con estados. En mi opinión en React como no se abstraen tantas cosas, puedes tener mayor control de tu componente pero requiere que comprendas mejor el ciclo de video de ellos para obtener mejores resultados.

Aquí puedes ver un ejemplo de un componente sencillo que usa hooks:

import React, { useState } from 'react';

const Saludo = () => {
  const [mostrarMensaje, setMostrarMensaje] = useState(false);
  const nombre = 'María';

  const toggleMostrarMensaje = () => {
    setMostrarMensaje(!mostrarMensaje);
  };

  return (
      <div>
        <h1>¡Bienvenido/a, {nombre}!</h1>
        <button onClick={toggleMostrarMensaje}>
              { mostrarMensaje ? 'Ocultar mensaje' : 'Mostrar mensaje'}
        </button>
        { mostrarMensaje && <p>Este es un ejemplo de React JSX.</p> }
      </div>
  );
};

export default Saludo;

Aunque si observan ambos casos la sintaxis es muy similar, con saber buen HTML, no importa si es React vs Vue. Respecto a la sintaxis general

Documentación y comunidad

React debido a su popularidad posee una comunidad mas grande que provee mayor información y contenido. La documentación oficial es muy buena y enseña su uso sin importar que no tengas experiencia en la librería. Está dirigida a todo publico y me parece que nunca tuve dificultad para conseguir información para resolver problemas con React.

Vue también tiene una documentación muy buena, pero no es tan detallada. La comunidad es mas pequeña y en algunos casos debido a esto, no encontrarás mucha información o tutorial como los que existen en React.

En realidad ambos tienen documentación que te permiten aprender a usar estas tecnologías, solo que la de React tiene mas forma de tutorial y por el tamaño de su comunidad, te será mas fácil de encontrar solución a tus problemas.

Developer tools

Ambas librerías poseen herramientas para los navegadores a través de una extensión. En mi opinión las de Vue son mas cómodas, soporta gran variedad de tecnologías, permite ver mejora la información y son mas sencillas.

En cambio las de React, me pareció menos potente. A pesar de que puedes ver todos los componentes, no puedes editarlo o hacer operaciones avanzadas sobre los componentes. Y hay limitaciones como no poder usarlas dentro de un iframe que le quitan puntos.

Herramientas de desarrollo de React en Firefox

Pero ambas funcionan correctamente, permiten interactuar con los componentes y cumplen con el objetivo principal de ayudar al programador ver como se renderizan los componentes y ver las variables internas.

Mis recomendaciones

Si estás comenzando en el desarrollo front-end, considero que Vue es la opción ideal debido a su curva de aprendizaje suave y el uso de HTML simple para la creación de componentes visuales. No obstante, si tu objetivo es adquirir habilidades que te ayuden a conseguir trabajo, React es la elección más acertada debido a su mayor popularidad en el mercado laboral. Además, es posible encontrar una mayor cantidad de recursos e ejemplos para aprender, aunque es importante tener en cuenta que se requerirá un dominio previo de JavaScript y mayor esfuerzo inicial para dominarlo por completo.

¡Elige el que te parezca mas cómodo y se ajuste a tus necesidades! Comenta cual usas tú y por qué.

Deja un comentario