Cultura Internet XI

Autor: Camila Pastene

Institución: Duoc UC Plaza Vespucio

Asignatura: Lenguaje de Programación

Docente: Luis Felipe Ramírez Varela

Fecha de entrega: 04 de Junio de 2025

Introducción

En el desarrollo web moderno, JavaScript se ha convertido en uno de los lenguajes más utilizados debido a su versatilidad y capacidad para crear experiencias dinámicas e interactivas. Sin embargo, a medida que los proyectos crecen en complejidad, resulta indispensable contar con herramientas que simplifiquen tareas comunes, aumenten la eficiencia del código y extiendan las capacidades nativas del lenguaje. Es en este contexto donde surgen las librerías de JavaScript: conjuntos de funciones reutilizables que abordan necesidades específicas como manipulación de fechas, visualización de datos, animaciones, cálculos matemáticos, entre otras. En este informe se analizan en profundidad siete librerías fundamentales: Moment.js, Anime.js, Chart.js, Hammer.js, Glimmer.js, D3.js y Math.js. Para cada una se expone su objetivo principal, cómo funciona, ejemplos prácticos de uso y referencias confiables que respaldan la información.

Moment.js

Nombre libreria:Moment.js

Objetivo:

Moment.js es una biblioteca de JavaScript diseñada para facilitar la manipulación, validación, análisis y formateo de fechas y horas. Su objetivo principal es simplificar las complejidades asociadas con el manejo de fechas en JavaScript, proporcionando una API coherente y fácil de usar. Aunque ha sido ampliamente adoptada, es importante destacar que Moment.js se encuentra en estado de mantenimiento y se recomienda considerar alternativas más modernas para nuevos proyectos .

Funcionamiento:

Moment.js permite crear objetos de fecha utilizando el constructor moment(). A partir de estos objetos, se pueden realizar diversas operaciones como:

Ejemplo:

// Crear una fecha actual

const ahora = moment();

// Formatear la fecha

console.log(ahora.format('YYYY-MM-DD HH:mm:ss'));

// Sumar 7 días a la fecha actual

const enSieteDias = ahora.add(7, 'days');

console.log(enSieteDias.format('YYYY-MM-DD'));

Referencias

  • Moment.js Documentation:https://momentjs.com/docs/
  • "You Don't (May Not) Need Moment.js":https://momentjs.com/docs/#/use-it/
  • "Alternatives to Moment.js":https://momentjs.com/docs/#/use-it/
  • Anime.js

    Nombre libreria:Anime.js

    Objetivo:

    Anime.js es una biblioteca de animación ligera para JavaScript que facilita la creación de animaciones complejas y fluidas en la web. Su objetivo es proporcionar una API sencilla para animar propiedades CSS, atributos SVG, objetos JavaScript y más.

    Funcionamiento:

    Anime.js funciona declarando animaciones mediante objetos que especifican:

    Ejemplo:

    anime({

    targets: '.cuadro',

    rotate: '1turn',

    duration: 1000,

    easing: 'easeInOutSine'

    });

    Referencias

    Chart.js

    Nombre libreria:Chart.js

    Objetivo:

    Chart.js es una biblioteca de JavaScript que permite crear gráficos interactivos y personalizables utilizando el elemento <"canvas"> de HTML5. Su objetivo es facilitar la visualización de datos de manera clara y atractiva.

    Funcionamiento:

    Chart.js opera creando una instancia de Chart, donde se define:

    Ejemplo:

    new Chart(document.getElementById("miGrafico"), {

    type: 'bar',

    data: {

    labels: ["Enero", "Febrero", "Marzo"],

    datasets: [{

    label: "Ventas",

    data: [120, 150, 180],

    backgroundColor: "rgba(75, 192, 192, 0.2)"

    }]"

    }

    });

    Referencias

    Hammer.js

    Nombre libreria:Hammer.js

    Objetivo:

    Hammer.js es una biblioteca que permite manejar gestos táctiles (touch gestures) como deslizar (swipe), pinchar (pinch), tocar (tap) y rotar en dispositivos móviles. Su objetivo es brindar una forma sencilla de añadir interactividad táctil a elementos web, mejorando la experiencia del usuario en dispositivos con pantallas táctiles.

    Funcionamiento:

    Hammer.js escucha eventos táctiles y los convierte en gestos interpretables con JavaScript, agregando "reconocedores" a los elementos.

    Ejemplo:

    const myElement = document.getElementById('caja');

    const hammertime = new Hammer(myElement);

    hammertime.on('swipe', function(ev) {

    alert('¡Has hecho un swipe!');

    });

    Referencias

    Glimmer.js

    Nombre libreria:Glimmer.js

    Objetivo:

    Glimmer.js es un framework JavaScript desarrollado por el equipo de Ember.js, centrado en crear interfaces de usuario rápidas y eficientes usando componentes reutilizables. Su objetivo es brindar una experiencia de desarrollo moderna con renderizado reactivo, permitiendo construir aplicaciones web de alto rendimiento.

    Funcionamiento:

    Utiliza una sintaxis de componentes basada en HTML y JavaScript, donde se puede manejar el estado y reactividad sin necesidad de recargar la vista.

    Ejemplo Básico

    import Component from '@glimmer/component';

    export default class SaludoComponent extends Component {

    get mensaje() {

    return `Hola, ${this.args.nombre}!`;

    }

    }

    Referencias

    D3.js

    Nombre libreria:D3.js

    Objetivo:

    D3.js (Data-Driven Documents) es una poderosa biblioteca que permite manipular documentos basados en datos, principalmente para crear visualizaciones interactivas y dinámicas en la web. Su meta es transformar datos complejos en gráficos comprensibles, ofreciendo un control total sobre el resultado visual final.

    Funcionamiento:

    D3 permite seleccionar elementos del DOM y modificarlos en función de los datos. Usa SVG, HTML y CSS para construir visualizaciones personalizadas.

    Ejemplo:

    d3.select("body").append("p").text("Hola con D3.js");

    const dataset = [5, 10, 15];

    d3.select("body")

    .selectAll("div")

    .data(dataset)

    .enter()

    .append("div")

    .style("width", d => d * 10 + "px")

    .text(d => d);

    Referencias

    Math.js

    Nombre libreria:Math.js

    Objetivo:

    Math.js es una biblioteca extensiva para trabajar con cálculos matemáticos, álgebra, estadísticas y unidades físicas en JavaScript. Su objetivo es extender las capacidades matemáticas del lenguaje de forma precisa y confiable, proporcionando una herramienta robusta para aplicaciones científicas y de ingeniería.

    Funcionamiento:

    Permite realizar operaciones desde las básicas hasta complejas, incluyendo expresiones simbólicas, matrices, álgebra lineal y conversiones de unidades.

    Ejemplo:

    const resultado = math.evaluate('sqrt(25) + 4^2');

    console.log(resultado);

    const matriz = math.matrix([[1, 2], [3, 4]]);

    console.log(math.inv(matriz));

    Referencias

    Conclusión

    El uso de librerías en JavaScript representa una herramienta esencial para el desarrollo web moderno, ya que permite abordar tareas complejas de manera más eficiente, ordenada y mantenible. A lo largo de este informe se ha analizado cómo cada una de las bibliotecas presentadas cumple un rol específico dentro del ecosistema de desarrollo: desde la manipulación avanzada de fechas, hasta la creación de gráficos, animaciones, interacciones táctiles y cálculos matemáticos. Estas librerías no solo extienden las capacidades nativas de JavaScript, sino que también fomentan buenas prácticas, reducen la carga de trabajo del programador y mejoran la experiencia del usuario final. Su correcta implementación puede marcar la diferencia entre una aplicación funcional y una aplicación sobresaliente, por lo que dominarlas y comprender su funcionamiento es parte fundamental en la formación de todo desarrollador profesional.