10 Years of Best of JS

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2025
November 17 - 20, 2025
New York, US & Online
See JS stars in the US biggest planetarium
Learn More
In partnership with Focus Reactive
Upcoming event
JSNation US 2025
JSNation US 2025
November 17 - 20, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

La historia detrás del proyecto, su misión de curar lo mejor del ecosistema de JavaScript, y cómo se ha adaptado al paisaje en constante cambio. También exploraremos las tendencias clave, herramientas y tecnologías que han dado forma a JavaScript en la última década.

This talk has been presented at JSNation 2025, check out the latest edition of this JavaScript Conference.

Michael Rambeau
Michael Rambeau
28 min
16 Jun, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Michael discute la evolución de JavaScript desde sus primeros días hasta las modernas capacidades del lado del servidor, el impacto de jQuery, Node.js y aplicaciones de una sola página con bibliotecas populares como Backbone y AngularJS. La aparición de bibliotecas de UI como React, Vue.js y Angular, junto con marcos meta como Next.js, Remix, Veltkit y Solid con componentes del servidor. El proyecto Best of JS rastrea las tendencias de proyectos de JavaScript, filtra proyectos obsoletos y monitorea las estrellas de GitHub para el mantenimiento. La importancia de mantener la relevancia del proyecto, agregar nuevos proyectos continuamente y clasificar proyectos bajo etiquetas significativas. La evolución de TypeScript, lanzamientos de herramientas como Deno y Burn, la evolución del estilo de CSS a componentes sin cabeza, y el impacto de Tailwind CSS. Análisis de la optimización de CSS, ecosistema CLI, tendencias de herramientas, herramientas emergentes y tendencias de desarrollo de JavaScript en la última década.
Available in English: 10 Years of Best of JS

1. Analizando la Evolución de JavaScript

Short description:

Michael presenta el proyecto Best of JS y discute la evolución de JavaScript desde sus primeros días como un lenguaje de juguete hasta las capacidades modernas del lado del servidor a través de Node.js.

Hola a todos. Soy Michael de Japón. Estoy muy feliz de ser parte de la nación JavaScript y hoy me gustaría presentar un proyecto llamado Best of JS que creé hace 10 años. Así que aquí está el plan para hoy. Primero, echaremos un vistazo rápido a la evolución de JavaScript a un alto nivel. Luego, les contaré la historia detrás de Best of JS. Y al final, veremos algunas tendencias clave de los últimos años.

Así que comencemos con una rápida visión general de la evolución de JavaScript. Así que hace casi 30 años, JavaScript comenzó como una especie de lenguaje de juguete. Así que principalmente, se utilizaba para agregar cosas como la validación de formularios. Pero lo real era Java, por eso se llamó JavaScript. Era solo un pequeño navegador. Tenía soporte limitado en los navegadores y solo una manipulación básica del DOM. Y no pude resistir compartir un fragmento de lo que llamo vintage HTML JavaScript.

Así que todas las etiquetas, en mayúsculas, algunos comentarios en el medio, por si acaso el navegador no entiende JavaScript. Y también noten que había este atributo de lenguaje porque en ese momento, JavaScript no era el único script que podía ejecutarse en el navegador. Así que todo cambió 10 años después, en 2005, cuando comenzó la revolución Ajax.

2. Evolución de las Bibliotecas de JavaScript

Short description:

El impacto de jQuery en la evolución de JavaScript, la introducción de Node.js y el auge de las aplicaciones de una sola página con AJAX, patrones MVC y bibliotecas populares como Backbone y AngularJS.

Porque permitió aplicaciones ricas en el navegador. Y en ese momento, tuvimos una explosión de nuevas bibliotecas como Prototype, Moodle, Dojo, YUI. Pero había una que ganó el juego. Supongo que lo recuerdas. Es jQuery, por supuesto. Se lanzó en 2006 y se convirtió en una especie de estándar que significa JavaScript en el navegador en ese momento. Tenía una API magnífica, excelente documentación, resolvía muchos problemas. Estaba integrado con WordPress, por supuesto. Y todavía se puede encontrar en todas partes hoy en día. Porque está integrado por defecto en muchos frameworks.

Otra revolución en 2009, cuando JavaScript básicamente se trasladó al servidor con la creación de Node.js por Ryan Dow. Así que, por supuesto, hizo posible ejecutar JavaScript en el servidor. Pero aún más importante, desencadenó una nueva era del ecosistema de JavaScript, comenzando con el gestor de paquetes MPM que se convirtió en el gestor de paquetes más popular. Y había todo un ecosistema que se creó en ese momento. Y lo interesante era que las herramientas en sí estaban escritas en JavaScript. Así que, se construyeron herramientas como Grant, Gulp, Webpack, Transpiler, puede que recuerdes CoffeeScript, Babel, que es realmente importante para la ejecución de scripts en el cliente. Lintels, pruebas. Muchas herramientas.

Y luego entramos en el comienzo de la edad dorada de la SBA, aplicación de una sola página. Así que, estas aplicaciones fueron habilitadas por AJAX porque todo sucede gracias a una solicitud asíncrona realizada por el navegador. La característica clave tenía esta navegación muy rápida entre las páginas. Porque no necesitas una recarga completa. Todo sucede utilizando el API de historial del navegador. Otra buena cosa es que pueden ser fácilmente alojadas en cualquier servicio de alojamiento estático porque utilizan una API JSON para comunicarse con el backend. Así que, son fáciles de experimentar una nueva interfaz de usuario porque puedes intercambiarlas sin cambiar el backend. Y solían tener estas bibliotecas que eran muy populares para crear una aplicación de una sola página. Estaba Backbone que introdujo esta idea de MVC en el navegador. Knockout que introdujo el enlace entre la entrada y los datos. Y lo hice fue refinado y completado por AngularJS. También había esta biblioteca llamada Ember.

3. Bibliotecas de UI y Meta Frameworks

Short description:

React, Vue.js y Angular como principales bibliotecas de UI, desventajas de SBA y la aparición de meta frameworks como Next.js, Remix, Veltkit y Solid con componentes del servidor para una integración fluida entre frontend y backend.

Pero la que la gente recuerda más fue React, Vue.js y Angular. AngularJS se transformó en Angular 2. Así que, estas son las tres principales bibliotecas que todavía hoy son las principales bibliotecas de UI. La única desventaja no solo de esto, sino que hay algunas desventajas relacionadas con SBA. A veces se trata de rendimiento. Cuando comienzas pequeño con unas pocas páginas, no hay mucho problema debido al tamaño del paquete. Pero cuanto más agregas páginas y más aumenta el tamaño de tu paquete, puede volverse enorme.

Otra desventaja es el SEO cuando todo es generado por JavaScript. No es genial para los robots que indexan páginas. Además, hay algo de fricción a veces cuando trabajas con el equipo de backend porque tienes que sincronizar entre el equipo de backend y el equipo de frontend. Tienes que asegurarte de que la versión de la API que usas es correcta y no hay cambios disruptivos, por ejemplo, este tipo de cosas. Así que, esa es la razón por la que una nueva UI comenzó hace unos años. Comenzó con lo que llamamos frameworks de pila completa. JavaScript tanto en el cliente como en el lado del servidor.

Y recientemente, el nombre cambió un poco. Lo llamamos meta framework porque están construidos sobre frameworks como React o Vue.js. Así que, el más famoso es Next.js. Y luego tenemos el equivalente para Vue.js que es Next. Y más recientemente, tenemos Remix, Veltkit, Solid. Veltkit está construido sobre el belt, y Solid está construido sobre Solid. Esa es una alternativa muy buena a React. Y luego tenemos nuevos paradigmas porque ahora tenemos componentes del servidor en ambos, React y también vienen al ecosistema de Vue. Estos componentes pueden comunicarse directamente con el backend.

4. JavaScript Projects Tracking

Short description:

Integración fluida entre frontend y backend, evolución de PHP a React, y la creación de best of JS para rastrear tendencias de proyectos de JavaScript, bibliotecas y crecimiento, mientras se filtran proyectos obsoletos.

Así que, permiten una integración fluida entre frontend y backend. Y en algún momento, la gente solía burlarse de PHP, pero había muchos memes y chistes sobre PHP llegando a React porque el hecho de que React pueda hablar directamente con una base de datos ahora nos recuerda la simplicidad de PHP. Entonces, pasemos a la segunda parte después de esta una introducción un poco aburrida.

Me gustaría hablar sobre best of JS. Entonces, primero, ¿qué es best of JS? Así que, es una lista creada de proyectos de JavaScript. Y el objetivo es ayudar a los desarrolladores a descubrir tendencias, bibliotecas, y también rastrear el crecimiento del proyecto. También es una herramienta para ayudar a los usuarios a encontrar nuevos proyectos clasificados bajo etiquetas que tengan sentido.

Y también, es una forma de encontrar rápidamente un proyecto que ya conoces si quieres buscar documentación. Y si no quieres llamar a Google o DuckDuckGo cada vez que necesitas algo, trato de hacer la búsqueda muy rápida. Tal vez pueda compartir muy rápidamente mi navegador que está conectado a best of JS.

5. Maintaining Web Projects Relevance

Short description:

Destaca proyectos populares en la página de inicio, añade nuevos proyectos continuamente y clasifica todos los proyectos bajo etiquetas significativas. La pasión del creador por las tecnologías web llevó a best of JS, compartiendo tendencias y filtrando proyectos obsoletos, monitoreando la evolución de las estrellas de GitHub para el mantenimiento y la calidad del proyecto.

Puedes ver la página de inicio que por defecto destaca los proyectos populares del día. Y también tenemos, si desplazamos hacia abajo, las últimas adiciones porque sigo añadiendo nuevos proyectos. Y tenemos algunas clasificaciones, también. Y si revisas aquí, tenemos algunas etiquetas populares porque, de nuevo, una de las principales debilidades de la aplicación, uno de los principales intereses es que todos los proyectos están clasificados bajo etiquetas que tienen sentido.

Así que, trato de hacerlas significativas. Volviendo a mis diapositivas. Entonces, ¿por qué fui creado por best of JS?

Así que, la razón es que realmente amo las tecnologías web que funcionan en todas partes. Porque realmente me empodera como desarrollador full stack para crear cualquier cosa. Pero el problema es que las cosas están cambiando tan rápido que puede ser un desafío mantenerse al día.

6. Maintaining Project Relevance

Short description:

Filtrar proyectos obsoletos, asegurar relevancia, etiquetado significativo, 10 años de best of JS, evolución de estrellas de GitHub como métrica central.

Y el objetivo es compartir las tendencias también utilizando algunos filtros. Y también, algo importante que quiero es filtrar proyectos que están obsoletos o proyectos que ya no son relevantes. Porque es fácil en la web encontrar una publicación de blog o cosas como, ya sabes, listas increíbles. Básicamente, read me hizo una lista de proyectos. Pero nadie va a eliminar un proyecto que ya no es relevante o un proyecto que se vuelve obsoleto después de unos años más, depende. Así que, trato de ser muy cuidadoso al asegurarme de que todo esté actualizado.

Y luego, sí, también existe este concepto de etiquetas. Sabes, que trato de pensar cuidadosamente sobre cómo etiquetarlos de manera significativa. Así que, lancé todo hace 10 años usando este increíble dominio gratuito llamado js.org. Más tarde, obtuve mi propio dominio. Pero al principio, comenzó así. Así que, estoy agradecido con ellos.

Cómo funciona. Así que, la métrica central es la evolución de las estrellas de GitHub. Puede que te parezca un poco tonto, porque realmente no significa la calidad del proyecto. Pero no es solo un número. Es la evolución a lo largo del tiempo que está integrada. Noté que si un proyecto no recibe ninguna estrella durante, digamos, un período determinado de tiempo, como por un año, significa que generalmente el proyecto ya no se mantiene o no está en buen estado.

7. Maintaining Project Updates

Short description:

Añadiendo proyectos, instantánea diaria de tendencias, JavaScript Rising Stars, proyecto Astro, clasificaciones anuales, estadísticas de proyectos.

Así que, el proceso es que generalmente trato de leer boletines, leer, ya sabes, seguir a personas importantes. Y cada vez que noto un proyecto que es interesante, lo añado manualmente a best of JS, tratando de encontrar la etiqueta, a veces creando nuevas etiquetas que faltan. Y cada vez, cada día, hay un proceso que toma una instantánea del número de estrellas y que almacena todo en una base de datos para que cada día podamos generar una nueva página de inicio computando las tendencias diariamente, semanalmente, mensualmente.

También tengo que mencionar que hay una especie de proyecto hermano llamado JavaScript Rising Stars. He estado dirigiendo eso durante nueve años ya. Tú puedes ver en la captura de pantalla, desde 2016. Es una especie de instantánea de los datos de best of JS que tomo cada año. Y está mejorado por muchos comentarios escritos por mí o por escritores invitados como Ivan o Anthony, personas que son realmente buenas en lo que hacen. Tengo otro proyecto publicado en Astro, que es un gran framework, por cierto.

Y puedo mostrarte muy rápidamente, si quieres. Así que, esta es la edición de este año, lanzada en enero. Y, ya sabes, tenemos básicamente las clasificaciones del año con el proyecto más popular del año, que es ChatZ y UI. Vamos a hablar de ellos un poco más tarde. Volviendo a las diapositivas. Así que, solo algunos números antes de ir a la última parte de la masterclass. Así que, el primer commit fue hace 10 años. Hice manualmente más de 3,000 proyectos. Pero solo hay 2,200 proyectos que aparecen en la UI.

8. Analizando la Evolución de TypeScript

Short description:

Relevancia de proyectos, ediciones de Rising Stars, 205 etiquetas, ecosistemas de React y Vue, biblioteca de componentes, proyectos populares como ChatZ y UI, evolución de TypeScript.

Así que, la razón es que existe este proceso que mencioné que elimina los proyectos que ya no son relevantes. Así que, es parte del proceso. Sabes, los proyectos ganan tracción y con el tiempo sucede que a veces pierden tracción. Nuevos proyectos los reemplazan y así sucesivamente. También tenemos nueve ediciones de los Rising Stars, como mencioné. Y tenemos 205 etiquetas que puedes encontrar en la UI aquí nuevamente. Así que, la más popular es el ecosistema de React. Tenemos el ecosistema de Vue, por supuesto. Y tenemos la biblioteca de componentes.

Así que, veamos, por ejemplo, cuál es la biblioteca de componentes más popular en este momento. Puedes verificar usando diferentes criterios. Por ejemplo, si quiero verificar solo el último mes, verás que, nuevamente, es ChatZ y UI. Fue el proyecto más popular. Puedes ajustar y puedes incluso agregar más etiquetas. Por ejemplo, si quieres limitar tu búsqueda al ecosistema de Vue, puedes hacer clic aquí y obtienes otra vista. Así que, si tienes tiempo, por favor revisa Face.js. Volviendo, entonces me gustaría pasar a la última parte de la masterclass. Así que, me gustaría discutir algunas tendencias clave y algunas historias de éxito que elegí, de este análisis. No esperes que sea exhaustivo. Son solo algunas selecciones aleatorias.

Así que, primero, creo que la tendencia más significativa es TypeScript. Porque hace diez años, había varios JavaScripts compitiendo. Había Flow de Facebook que se usaba mucho en el ecosistema de React, TypeScript, pero también algunos lenguajes como CoffeeScript. Estaba Babel, para compilar y agrupar código para el navegador. No había un ganador claro. Un momento clave ocurrió cuando el framework Angular fue escrito en TypeScript en 2014. En ese momento, no era una elección obvia. Y luego, sí, si avanzamos rápidamente, diez años después, es una locura. TypeScript es realmente el estándar de facto para escribir JavaScript. Incluso tenemos nuevos entornos de ejecución que entienden y hablan TypeScript por defecto.

9. Explorando Lanzamientos de Herramientas y Evolución del Estilo

Short description:

Lanzamientos de Deno y Burn, registro de paquetes GSR, soporte nativo de TypeScript, Node.js entendiendo TypeScript directamente, evolución de CSS a componentes headless, tendencia de preprocesadores CSS, CSS en JavaScript, style components y emotion.

Así que, Deno se lanzó en 2018. Burn se lanzó en 2021. Ambos son grandes herramientas para escribir cosas como scripts, por ejemplo. Porque puedes escribir TypeScript sin las mismas herramientas. Quiero agregar dos noticias emocionantes del año pasado. Hubo este nuevo registro de paquetes llamado GSR, del equipo de Deno. Así que, es un registro que soporta TypeScript de manera nativa. Además, otra gran noticia fue el hecho de que TypeScript va a ser entendido por Node.js directamente, sin ninguna bandera, desde Node.js 23. No es una compilación completa. No va a lanzar errores, pero va a poder leer y entender tu código TypeScript eliminando anotaciones.

Luego, otra cosa de la que me gustaría hablar es la evolución del estilo y cómo básicamente pasamos de CSS, CSS puro, a componentes headless. Todo comenzó hace más de diez años, 15 años, con Bootstrap. Bootstrap fue un gran framework CSS con grandes ideas y un gran soporte para diseño web responsivo. Aún recuerdo esos días, me sorprendía por los componentes responsivos. Solía verificar cómo funcionaba, y todas las media queries eran manejadas por el framework CSS. También, esta clase utilitaria que podías poner para hacer que tus componentes o tus elementos HTML fueran amigables para móviles. La principal desventaja era que eran muy opinativos sobre el diseño. Así que, obtienes un aspecto y una sensación consistentes desde el principio, pero puede ser difícil de personalizar. Tienes que luchar con el CSS a veces y evitar conflictos en las clases, especialmente cuando tratas con una gran base de código.

En ese momento, también había esta tendencia de generar CSS a partir de lo que llamamos preprocesadores. Así que, tenemos este tipo de CSS, headless, stylus, post-CSS. Así que, todas estas herramientas podían generar CSS, dándote el poder de usar cosas como variables, funciones. Y también había la tendencia de CSS en JavaScript. Era una gran opción para SPA porque las aplicaciones de una sola página son muy dinámicas, así que a veces necesitamos ajustar el estilo dependiendo del estado. Así que, al poder escribir los estilos en JavaScript, obtienes mucha flexibilidad. Y también, pudimos limitar los estilos y pudimos hacer que los estilos estuvieran cerca del código al que pertenecen. Y las dos soluciones más famosas fueron style components y emotion. Pero hay algunos compromisos. Cosas como la sobrecarga de tiempo de ejecución, lo que significa que hay algunas cosas sucediendo en tiempo de ejecución cuando ejecutas este tipo de bibliotecas. El motor de JavaScript va a actualizar la cabecera de tu página para hacer algunos cambios en los estilos.

10. Explorando Componentes Headless y Tailwind CSS

Short description:

Impacto en el tamaño del paquete, componentes headless para accesibilidad, enfoque atómico de Tailwind CSS, sin riesgo de archivo CSS, sistema de diseño consistente, optimización del tiempo de construcción, estándar de Tailwind CSS con gran documentación, escalabilidad, reutilización del conocimiento, relación amor-odio.

Además, tienen un impacto en el tamaño del paquete porque en JavaScript, añade más JavaScript a veces a un paquete que ya está grande si tienes mucha lógica en tu aplicación. Además, la idea, cuando quieres lidiar con el renderizado del lado del servidor, puede añadir complejidad. Y todas estas tendencias llevaron a algo llamado componentes headless. Esa es una tendencia que encontré muy interesante en los últimos años. Entonces, ¿qué son los componentes headless? Son componentes sin estilo, lo que significa que vienen sin estilo. Tienes que estilizarlo tú mismo. Pero vienen con una gran accesibilidad incorporada. Cuando piensas en accesibilidad, puedes pensar en usuarios con discapacidades, pero también piensas en usuarios con recursos limitados, cosas como atajos de teclado, por ejemplo. Todos los detalles son difíciles de acertar al principio cuando quieres escribirlos tú mismo. Así que, estas bibliotecas, como tenemos ARIA, LSUI, Redux Primitives, te ayudan a crear aplicaciones que manejan todos estos aspectos tediosos.

Y ahora quiero hablar de Tailwind CSS, porque ese es uno de los estándares actuales en el desarrollo web. Así que, Tailwind CSS, debes haber oído hablar de eso, utiliza este enfoque de CSS atómico. Así que, en lugar de escribir estilos en tu CSS, los escribes directamente en HTML como atributos. Así que, ya no hay más archivo CSS. Ya no hay más riesgo de conflicto debido a todos los estilos que pueden chocar. También ayuda a obtener un sistema de diseño consistente porque tienen, por defecto, un sistema muy bonito. Proporcionan, por ejemplo, un espacio de escalado. También tienen una gran Dx, experiencia del desarrollador, si usas las herramientas adecuadas en el IDE. Y hay algo llamado optimización del tiempo de construcción, lo que significa que hay un proceso que asegura que mantienes, envías solo la cantidad correcta de CSS a tu navegador. Así que, de alguna manera, es una solución a muchos problemas que describí muy brevemente anteriormente.

Otra razón por la que se convirtió en un estándar, debido a la gran documentación. Además, el hecho de que escala muy bien, sin importar el tamaño de tu aplicación. También, para los desarrolladores, es genial poder reutilizar el conocimiento que has acumulado en diferentes proyectos. Y por último, pero no menos importante, hay una comunidad nativa y un enorme ecosistema. Algo interesante es que hay este tipo de relación amor-odio. Algunas personas aman, algunas personas odian. Tenemos que decir que a veces se siente extraño depender de la concatenación de cadenas. He incluido aquí un fragmento de mi propia base de código. Este es el cuadro de búsqueda de la tecla de comando que ves en algunos sitios elegantes. Puedes ver este enorme nombre de clase.

11. Analizando la Optimización de CSS y el Ecosistema CLI

Short description:

Desafíos de depuración, soluciones alternativas para la seguridad de tipos y la optimización de CSS, crecimiento del ecosistema TeleWin CSS, personalización de ChatCN UI, integración del ecosistema CLI.

Así que, cuando tienes que depurar eso, no es tan divertido. Así que, esa es una razón por la que hay algunas alternativas que proporcionan tanto seguridad de tipos como también la misma idea de procesamiento en el tiempo de construcción para asegurar que enviamos solo la cantidad correcta de CSS al navegador. Hay Uno-CSS de Anthony Fu. Hay Talex de Meta. Hay Panda del equipo de Chakra. Algo que encontré muy interesante es que a veces no es el mejor concepto el que gana, sino más bien la mejor ejecución. Lo que significa que también es el ecosistema, la documentación y todo lo que sucede en las redes sociales que ayuda al crecimiento de un proyecto.

Así que, de alguna manera, TeleWin CSS cumple con todas estas casillas. Y otro proyecto que me gusta destacar es ChatCN UI. Viene porque, de alguna manera, está relacionado con todo lo que mencioné antes. Está relacionado con el componente headless porque está construido sobre Redix UI. También está relacionado con TeleWin CSS porque es algo que puedes personalizar muy fácilmente con TeleWin CSS. Fue el proyecto más destacado en 2023 y 2024 en el proyecto Rising Stars que introduje anteriormente.

Y cuando llegó, fue un tipo de cambio de juego porque, en lugar de proporcionar componentes que instalas ejecutando npm install, copias y pegas los componentes en tu base de código. También hay una herramienta de línea de comandos que puede ayudarte con eso, pero aún así, al final del día, el código pertenece a tu base de código. Lo que significa que tienes propiedad y puedes personalizar las cosas como quieras. Así que, por eso mencioné que es genial. Es realmente impresionante cómo puedes personalizarlo. Y ha creado todo un ecosistema porque esta CLI puede funcionar no solo con los componentes de ChatCN UI, sino con cualquier registro que básicamente siga el contrato que fue introducido por ChatCN UI.

12. Analizando las Tendencias de Herramientas y Herramientas Emergentes

Short description:

Equivalencia de ChatCN para varios frameworks, influencia de ChatCN en proyectos, evolución de herramientas de Node.js, introducción de herramientas de Go y Rust, herramientas clave como PSBuild y Vite, herramientas próximas de Void Zero y Wordown.

con cualquier registro que básicamente siga el contrato que fue introducido por ChatCN UI. Así que, tenemos la equivalencia de ChatCN para Vue, para Svelte, para Solid. Y recientemente, en Best of JS, introduje una etiqueta llamada ChatCN. Creo que puedes verlo aquí. Sí, ChatCN. Puedes ver el código disponible del registro de ChatCN. Así que, la mayoría de los proyectos aquí están inspirados por ChatCN.

Lo que significa que puedes agarrar fácilmente estos componentes e integrarlos en tu base de código. Y el último punto que quería señalar sobre las tendencias, ya sabes, es la herramienta. Porque al principio, dije que con Node.js, teníamos muchas herramientas que estaban escritas en JavaScript mismo. Es genial, pero la única desventaja es que no son súper rápidas, especialmente cuando tratas con una gran base de código. Pero esa es la razón por la que a lo largo de los años, obtuvimos nuevas herramientas que están escritas principalmente en Go y Rust. PSBuild fue una especie de pionero en este espacio y es un empaquetador de bajo nivel que es utilizado por muchas otras herramientas.

Luego está Vite. Así que, Vite es una parte clave del ecosistema porque potencia muchos proyectos, incluyendo frameworks, bibliotecas. Estoy hablando del framework Astro, por ejemplo. Hay Vitess, una prueba moderna. Está inspirada en la API de Jest, pero tiene un gran soporte para TypeScript. Siempre es un placer trabajar con ella porque funciona de inmediato. Y también está Beom, que es un reemplazo de ESlint y Pwt. Es más rápido que estas herramientas, pero conduce a menos boilerplate porque combina estas dos herramientas. Además, tengo que mencionar que hay herramientas más emocionantes que llegarán pronto. Hay esta empresa llamada Void Zero, creada el año pasado por Ivan Yu, creador de Vue.js.

13. Reflecting on JavaScript Development Trends

Short description:

Resumen de tendencias en los últimos diez años, transición de React y Webpack a Next.js, uso de TypeScript y monorepo, desafíos para mantenerse actualizado, relevancia de Best of JS, disponibilidad en GitHub.

Creo que eso es todo lo que quería compartir sobre las tendencias. Solo para resumir, hace diez años, estaba construyendo SPA con React, Webpack para compilar todo con Babel. Estaba usando un preprocesador llamado Stylus. Diez años después, usé Next.js. Usé componentes de React. Por supuesto, TypeScript en todas partes. Todo se ejecuta en un monorepo. Es bastante divertido.

Nuevamente, el mismo problema que hace diez años. Es difícil mantenerse al día. Creo que lo mejor de JS sigue siendo relevante. Espero que te ayude a navegar este paisaje en constante cambio. Por favor, házmelo saber. Échale un vistazo. Puedes encontrarme en GitHub.

Gracias a todos. Diviértanse en JS Nation. Hablamos pronto.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Debugging JavaScript is a crucial skill that is often overlooked in the industry. It is important to understand the problem, reproduce the issue, and identify the root cause. Having a variety of debugging tools and techniques, such as console methods and graphical debuggers, is beneficial. Replay is a time-traveling debugger for JavaScript that allows users to record and inspect bugs. It works with Redux, plain React, and even minified code with the help of source maps.
Haciendo JavaScript en WebAssembly Rápido
JSNation Live 2021JSNation Live 2021
29 min
Haciendo JavaScript en WebAssembly Rápido
Top Content
WebAssembly enables optimizing JavaScript performance for different environments by deploying the JavaScript engine as a portable WebAssembly module. By making JavaScript on WebAssembly fast, instances can be created for each request, reducing latency and security risks. Initialization and runtime phases can be improved with tools like Wiser and snapshotting, resulting in faster startup times. Optimizing JavaScript performance in WebAssembly can be achieved through techniques like ahead-of-time compilation and inline caching. WebAssembly usage is growing outside the web, offering benefits like isolation and portability. Build sizes and snapshotting in WebAssembly depend on the application, and more information can be found on the Mozilla Hacks website and Bike Reliance site.
¿Webpack en 5 años?
JSNation 2022JSNation 2022
26 min
¿Webpack en 5 años?
Top Content
In the last 10 years, Webpack has shaped the way we develop web applications by introducing code splitting, co-locating style sheets and assets with JavaScript modules, and enabling bundling for server-side processing. Webpack's flexibility and large plugin system have also contributed to innovation in the ecosystem. The initial configuration for Webpack can be overwhelming, but it is necessary due to the complexity of modern web applications. In larger scale applications, there are performance problems in Webpack due to issues with garbage collection, leveraging multiple CPUs, and architectural limitations. Fixing problems in Webpack has trade-offs, but a rewrite could optimize architecture and fix performance issues.
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Node Congress 2022Node Congress 2022
34 min
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Top Content
There is a need for a standard library of APIs for JavaScript runtimes, as there are currently multiple ways to perform fundamental tasks like base64 encoding. JavaScript runtimes have historically lacked a standard library, causing friction and difficulty for developers. The idea of a small core has both benefits and drawbacks, with some runtimes abusing it to limit innovation. There is a misalignment between Node and web browsers in terms of functionality and API standards. The proposal is to involve browser developers in conversations about API standardization and to create a common standard library for JavaScript runtimes.

Workshops on related topic

Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
React Day Berlin 2022React Day Berlin 2022
86 min
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
Top Content
Workshop
Hussien Khayoon
Kahvi Patel
2 authors
Usar una biblioteca puede parecer fácil a primera vista, pero ¿cómo eliges la biblioteca correcta? ¿Cómo actualizas una existente? ¿Y cómo te abres camino a través de la documentación para encontrar lo que quieres?
En esta masterclass, discutiremos todos estos puntos finos mientras pasamos por un ejemplo general de construcción de un editor de código usando CodeMirror en React. Todo mientras compartimos algunas de las sutilezas que nuestro equipo aprendió sobre el uso de esta biblioteca y algunos problemas que encontramos.
Testing Web Applications Using Cypress
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Testing Web Applications Using Cypress
Top Content
Workshop
Gleb Bahmutov
Gleb Bahmutov
Esta masterclass te enseñará los conceptos básicos para escribir pruebas end-to-end útiles utilizando Cypress Test Runner.
Cubriremos la escritura de pruebas, cubriendo cada característica de la aplicación, estructurando pruebas, interceptando solicitudes de red y configurando los datos del backend.
Cualquiera que conozca el lenguaje de programación JavaScript y tenga NPM instalado podrá seguir adelante.
Desatando los Componentes del Servidor React: Una Inmersión Profunda en el Desarrollo Web de la Próxima Generación
React Day Berlin 2023React Day Berlin 2023
149 min
Desatando los Componentes del Servidor React: Una Inmersión Profunda en el Desarrollo Web de la Próxima Generación
Workshop
Maurice de Beijer
Maurice de Beijer
¡Prepárate para potenciar tus habilidades de desarrollo web con los Componentes del Servidor React! En esta inmersiva masterclass de 3 horas, desbloquearemos el potencial completo de esta tecnología revolucionaria y exploraremos cómo está transformando la forma en que los desarrolladores construyen aplicaciones web rápidas y eficientes.
Únete a nosotros mientras nos adentramos en el emocionante mundo de los Componentes del Servidor React, que combinan sin problemas el renderizado del lado del servidor con la interactividad del lado del cliente para un rendimiento y una experiencia de usuario inigualables. Obtendrás experiencia práctica a través de ejercicios prácticos, ejemplos del mundo real y orientación experta sobre cómo aprovechar el poder de los Componentes del Servidor en tus propios proyectos.
A lo largo de la masterclass, cubriremos temas esenciales, incluyendo:- Entender las diferencias entre los Componentes del Servidor y del Cliente- Implementar Componentes del Servidor para optimizar la obtención de datos y reducir el tamaño del paquete JavaScript- Integrar Componentes del Servidor y del Cliente para una experiencia de usuario fluida- Estrategias para pasar datos efectivamente entre componentes y gestionar el estado- Consejos y mejores prácticas para maximizar los beneficios de rendimiento de los Componentes del Servidor React
0 a Auth en una Hora Usando NodeJS SDK
Node Congress 2023Node Congress 2023
63 min
0 a Auth en una Hora Usando NodeJS SDK
WorkshopFree
Asaf Shen
Asaf Shen
La autenticación sin contraseña puede parecer compleja, pero es fácil de agregar a cualquier aplicación utilizando la herramienta adecuada.
Mejoraremos una aplicación JS de pila completa (backend de Node.JS + frontend de React) para autenticar usuarios con OAuth (inicio de sesión social) y contraseñas de un solo uso (correo electrónico), incluyendo:- Autenticación de usuario - Administrar interacciones de usuario, devolver JWT de sesión / actualización- Gestión y validación de sesiones - Almacenar la sesión para solicitudes de cliente posteriores, validar / actualizar sesiones
Al final del masterclass, también tocaremos otro enfoque para la autenticación de código utilizando Flujos Descope en el frontend (flujos de arrastrar y soltar), manteniendo solo la validación de sesión en el backend. Con esto, también mostraremos lo fácil que es habilitar la biometría y otros métodos de autenticación sin contraseña.
Tabla de contenidos- Una breve introducción a los conceptos básicos de autenticación- Codificación- Por qué importa la autenticación sin contraseña
Requisitos previos- IDE de tu elección- Node 18 o superior
Búsqueda de texto completo basada en JavaScript con Orama en todas partes
Node Congress 2023Node Congress 2023
49 min
Búsqueda de texto completo basada en JavaScript con Orama en todas partes
Workshop
Michele Riva
Michele Riva
En este masterclass, veremos cómo adoptar Orama, un potente motor de búsqueda de texto completo escrito completamente en JavaScript, para hacer que la búsqueda esté disponible donde sea que se ejecute JavaScript. Aprenderemos cuándo, cómo y por qué sería una gran idea implementarlo en una función sin servidor, y cuándo sería mejor mantenerlo directamente en el navegador. Olvídate de las APIs, configuraciones complejas, etc.: Orama facilitará la integración de la búsqueda en proyectos de cualquier escala.