• Frontenderos
  • Posts
  • #130 SolidStart, un diferente Meta-Framework

#130 SolidStart, un diferente Meta-Framework

El concepto de Workspaces: Bit, NPM, NX

SolidStart, un diferente Meta-Framework

Con Next.js se popularizo el termino de Meta-framework para distanciarse de los tradicionales frameworks por todas las herramientas listas para usar que integran y los casos de uso específicos que pueden tener. Y es ahi donde entra SolidStart, porque después de todo, ¿quién necesita una solución todo-en-uno cuando puedes tener una solución que sea interconectable?

El concepto de Workspaces: Bit, NPM, NX

Algo que siempre ha gustado de Node y su ecosistema, es que siempre hay nuevas soluciones para probar, y la competencia lleva a la innovación. Antes del tooling actual de NPM, existieron Grunt y Gulp; lo que hizo que este primero innovara.

¿Qué pueden hacer las PWA hoy?

Hace 10 años el término Progressive Web Application estaba de moda. Pero con la popularización de los frameworks JavaScript para construir aplicaciones híbridas como Ionic o React Native, las evidentes ventajas de una PWA hicieron que muchos clientes prefiriesen apps híbridas a PWAs. Pero, ¿te has dado una vuelta por el status de las APIs PWA en la actualidad? Echale un ojo, quizás te inspires a hacer PWAs de nuevo.

HERRAMIENTA 🛠️ 
Qwik

El ecosistema de frameworks y meta-frameworks JS esta en 🔥. Y uno de los frameworks mas interesantes, es Qwik, porque es una solución todo-en-uno para todo lo que necesitas. Sobre todo hay que hacer mención a las herramientas de utilerías y al soporte para deployment a las principales nubes en el mercado. Por si estabas buscando una alternativa a Next.js, prueba Qwik.

BOILERPLATE 🗃️ 
Node-Boilerplate

A veces, un frontendero tiene que hacer backend, y se convierte en un fullstaquero. Si alguna vez te pasa, ya sea porque necesitas hacer un demo o una prueba de trabajo, prueba este boilerplate que tiene lo necesario para iniciar ese proyecto Node, sin que parezca que estamos en 2013.

VIDEO 📹️ 
HTMX para React devs en 10 minutos

¿Eres de esos que aprenden más con video que con tutoriales en texto? ¿Quieres aprender htmx por los lolz o porque puede que sea una herramienta que se comience a pedir ya este año? Aquí tienes un video que te va a gustar, si respondiste que sí a las dos preguntas.

NOTICIA 📰 
El primer trolleo del año

Hace unas semanas, un usuario llamado PatrickJS, creó una biblioteca llamada everything que publicó en NPM, y tenía como dependencias más de 3000 bibliotecas. Esto causó un caos y puso en evidencia que, a veces el ecosistema de Node, puede ser muy frágil.

UN DÍA COMO HOY 🗓️ 

El 19 de enero de 2012, el FBI en compañía del Departamento de Estado de los Estados Unidos cierra el sitio web Megaupload.com. El dominio de megaupload atrajo más de diez millones de visitas en 2008 de acuerdo según un estudio de Compete.com y ocupaba el ranking 72 según Alexa. El servicio básico de se encontraba disponible de forma gratuita y permitía a los usuarios subir archivos de hasta 2 GB. Varias corporaciones habían demandado a Megaupload por alojar contenido protegido por derechos de autor y ese 19 de enero lograron su objetivo.

VACANTE 💼 
Front End Software Engineer

Ubicación: México (Remoto)
Empresa: DaCodes
Requisitos: Preferentemente Ingeniero en Sistemas, Informática o afín. +3 años de experiencia con ReactJS (Hooks, Redux o Context) , Angular o VueJS. Habilidades sólidas en JavaScript y TypeScript (EcmaScript). Conocimientos en CSS, HTML y Frameworks CSS. Entre otros.
Beneficios: Integración a marcas globales y startups disruptivas. Trabajo remoto/ Home office. Estarás informado desde la primer sesión si alguna de las posiciones llega a requerir algún formato híbrido o presencial ¡Descuida la mayoría son remotas! Horario ajustado a tu célula de trabajo/proyecto asignado. (Zona horaria del cliente asignado) Trabajo de Lunes a Viernes. Entre otros.

Para conocer más sobre eta vacante y postularte, ingresa aquí. 🤞 

RESULTADO DEL CHALLENGE DE AYER 🧐 
¡Gracias a los que contestaron el challenge de ayer! Aquí te dejamos nuestra respuesta:

function convertirRomanoADecimal(romano) {
    const mapa = { I: 1, V: 5, X: 10, L: 50, C: 100, D: 500, M: 1000 };
    let valor = 0;

    for (let i = 0; i < romano.length; i++) {
        const valorActual = mapa[romano[i]];
        const valorSiguiente = mapa[romano[i + 1]];

        if (valorSiguiente > valorActual) {
            valor -= valorActual;
        } else {
            valor += valorActual;
        }
    }

    return valor;
}

// Ejemplo de uso
console.log(convertirRomanoADecimal("IX"));  // Debería devolver 9
console.log(convertirRomanoADecimal("XLII")); // Debería devolver 42
  • La función convertirRomanoADecimal toma un string romano como argumento.

  • Un objeto mapa mapea cada carácter romano a su valor decimal correspondiente.

  • Se inicializa una variable valor para acumular el resultado.

  • La función itera sobre cada carácter del string romano. En cada iteración, compara el valor actual con el valor del siguiente carácter.

  • Si el valor del carácter actual es menor que el del siguiente carácter, esto indica una combinación especial en números romanos donde se debe restar el valor actual (como en "IX" donde "I" se resta de "X").

  • Si el valor del carácter actual es mayor o igual al del siguiente, se suma al total acumulado.

  • Al final del bucle, valor contiene el equivalente decimal del número romano.

CHALLENGE DE HOY ⚔️ 
Crea una función en JavaScript que tome un objeto y lo convierta en una cadena de parámetros de URL.

  • La función debe aceptar un objeto donde las claves representan nombres de parámetros y los valores representan los valores de los parámetros.

  • Debe devolver una cadena de texto que represente estos parámetros en formato de URL, comenzando con ? y separando los pares clave-valor con &.

  • Asegúrate de que los valores sean correctamente codificados para URL.

Ejemplo:

const params = { nombre: "Ana", edad: 23, ciudad: "Madrid" };

La función debería convertir esto en: "?nombre=Ana&edad=23&ciudad=Madrid"

Comparte tu respuesta en redes sociales y etiquétanos (@frontenderos), compartiremos nuestra respuesta en el issue de mañana. 😎 

Tu feedback nos ayuda a mejorar

Por favor elige una opción y dinos lo que te gustó y lo que no. Leemos todas las respuestas 👀

¿Qué te pareció el email de hoy?

Iniciar Sesión o Suscríbete para participar en las encuestas.

¡Hasta mañana! 🤟