¡Bienvenido a la 5ª edición de JavaScript Rising Stars!, nuestra revisión anual del mundo JavaScript.

La idea es la misma que la de años anteriores: descubrir que proyectos han sido más influyentes a lo largo del 2020, basándonos en el número de estrellas ganadas durante los últimos 12 meses.


Los siguientes gráficos comparan el número de estrellas añadidas en GitHub durante los últimos 12 meses. Hemos analizado proyectos procedentes de Best of JS, una lista de los proyectos más destacados del mundo web cuidadosamente seleccionados. Si lo deseas, puedes hacer click en cualquier proyecto para conseguir más información.

Categorías

  1. Proyectos más populares del 2020
    DenoVue.jsReactPlaywrightVS CodeesbuildVue Element AdmineDEX-UINext.jsTailwind CSS
  2. Frameworks Front-end
    Vue.jsReactAngularSvelteAlpine.js
  3. Frameworks Node.js
    Next.jsStrapiNestNuxtBlitz
  4. Ecosistema React
    Next.jsReact QueryRecoilAnt DesignReact Hook Form
  5. Ecosistema Vue
    Vue Element AdminViteNuxtElement Plusvue-next
  6. Ecosistema Angular
    ngx-adminMaterial Design for AngularScullyAngular CLING-ZORRO
  7. Build
    esbuildRomeViteSnowpackWebpack
  8. Frameworks CSS
    Tailwind CSSBootstrapBulmanew.cssHalfmoon
  9. CSS en JavaScript
    Styled ComponentsTwinEmotionLinariaTheme UI
  10. Testing
    PlaywrightStorybookPuppeteerCypressHeadless Recorder
  11. Móvil
    React NativeExpoQuasarIonicSonar
  12. Compiladores JS
    TypeScriptswcBabelReasonFlow
  13. Estado de la aplicación
    RecoilXStateImmerZustandRedux
  14. GraphQL
    GatsbyHasura GraphQL EngineRedwoodPrismaApollo client
  15. Recursos de aprendizaje
    JS Algorithms & Data StructuresNode.js Best PracticesYou Don't Know JSClean Code30 seconds of code
  16. Conclusión

Proyectos más populares del 2020

1
Deno

Deno

A secure JavaScript and TypeScript runtime
+30.2k☆

Tendencias en 2020

2.8k
1.5k
1.0k
1.3k
13.7k
3.0k
1.3k
897
836
742
912
1.2k
E
F
M
A
M
J
J
A
S
O
N
D

Datos de GitHub

Creado
2018-05
Total estrellas
71.1k☆

Links

2
Vue.js

Vue.js

A progressive, incrementally-adoptable framework for building UI on the web
+22.5k☆
3
React

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.
+19.8k☆
4
Playwright

Playwright

Node.js library to automate Chromium, Firefox and WebKit with a single API
+19.7k☆
5
VS Code

VS Code

Visual Studio Code
+19.1k☆
6
esbuild

esbuild

An extremely fast JavaScript bundler and minifier
+16.6k☆
7
Vue Element Admin

Vue Element Admin

A magical vue admin
+16.0k☆
8
eDEX-UI

eDEX-UI

A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.
+15.7k☆
9
Next.js

Next.js

The React Framework
+15.5k☆
10
Tailwind CSS

Tailwind CSS

A utility-first CSS framework for rapid UI development.
+15.5k☆

2020 ha sido un año muy especial por muchas razones. La más importante: por primera vez en 5 años, el ganador de esta categoría en Rising Stars no se llama Vue.js sino Deno...¡menuda sorpresa!

Deno es un runtime de JavaScript gestado por el mismo creador de Node.js, Ryan Dahl.

Frecuentemente es considerado como la secuela de Node.js, ya que arregla o mejora muchas de sus características, sacando provecho de sus 10 años de experiencia e iteraciones con Node.js.

Entre sus principales características, destacan:

  • El compilador de TypeScript viene incluido por defecto (aunque puedas trabajar con vanilla JavaScript).
  • No usa un package manager centralizado, las dependencias puede ser cargadas desde cualquier URL.
  • La "standard library" trae incorporadas soluciones que normalmente requieren paquetes externos en Node.js.
  • Deno usa siempre que puede los standards de la web, como por ejemplo Fetch API.
  • Permite importar ficheros usando ECMAScript modules.
  • Viene con sistema de tests y debugger incluidos.

El ecosistema entorno a Deno es todavía joven pero se espera que evolucione rápido debido a su gran hype y popularidad.

El éxito de Deno confirma dos fuertes tendencias:

  • El crecimiento de TypeScript, en ambos, frontend y backend.
  • El uso de ES6 modules al vuelo por soluciones como Snowpack, echa un vistazo a las nuevas caras aparecidas este año en la sección "Build".

Frameworks Front-end

1
Vue.js

Vue.js

A progressive, incrementally-adoptable framework for building UI on the web
+22.5k☆
2
React

React

A declarative, efficient, and flexible JavaScript library for building user interfaces.
+19.8k☆
3
Angular

Angular

One framework. Mobile & desktop.
+13.3k☆
4
Svelte

Svelte

Cybernetically enhanced web apps
+12.0k☆
5
Alpine.js

Alpine.js

A rugged, minimal framework for composing JavaScript behavior in your markup.
+11.5k☆

Vue.js y React continúan luchando por la primera posición de la categoría Front-end Frameworks.

Detrás tenemos a Angular que vuelve al tercer lugar, intercambiando posiciones con Svelte respecto al año pasado.

La nueva cara de este año en el top 5 es Alpine.js, un framework reactivo minimalista, del creador de Laravel LiveWire.

Este toma prestadas ideas de Vue.js y Angular como: directivas HTML personalizables, two-way binding...

Es muy sencillo usarlo en un clásico tag <script> añadido a una página HTML, sin necesidad de proceso de build, puedes hacer cualquier cosa desde la sintaxis HTML, siendo una perfecta solución para mejorar rápidamente una página existente sin necesidad de incorporar todo un pesado framework.

Siendo una solución muy ligera para añadir interactividad a la web, combina bien con frameworks modernos como Elixir Phoenix. Incluso se ha creado un nuevo set the herramientas llamado PETAL que incluye ambos Alpine.js y Tailwind CSS, hablaremos de ello más adelante...

Frameworks Node.js

1
Next.js

Next.js

The React Framework
+15.5k☆
2
Strapi

Strapi

Open source Node.js Headless CMS to easily build customisable APIs
+11.8k☆
3
Nest

Nest

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications on top of TypeScript & JavaScript (ES6, ES7, ES8)
+10.3k☆
4
Nuxt

Nuxt

The Intuitive Vue Framework
+8.2k☆
5
Blitz

Blitz

️The Fullstack React Framework — built on Next.js
+6.0k☆

Este año tenemos dos tipos proyectos que destacan en la categoría Node.js Frameworks.

Por un lado, frameworks full-stack como Next.js y Nuxt, ambos posicionados en la forma de crear tu aplicación, ya que traen React y Vue.js en el lado servidor.

Por otro lado tenemos opciones más clásicas que solo se ejecutan en el servidor como Nest (el número uno del año pasado) o Fastify.

Al igual que en 2018, la categoría es liderada por Next.js. En sus comienzos se hizo famoso como solución para renderizar aplicaciones React en el servidor. Ahora destaca por ser una solución más completa permitiendo construir aplicaciones web full-stack web con React.

Las últimas versiones traen funcionalidades como Incremental Static Regeneration que compone lo mejor de los mundos: dinámico y estático, teniendo gran flexibilidad para muchos casos de uso.

Los dos nuevos participantes como frameworks full-stack, Blitz y Redwood intentan proporcionar la mejor experiencia de desarrollo para crear aplicaciones web completas.

Cabe destacar que Express, nacido ya hace 11 años, continúa siendo relevante en el panorama JavaScript.

Ecosistema React

1
Next.js

Next.js

The React Framework
+15.5k☆
2
React Query

React Query

Hooks for fetching, caching and updating asynchronous data in React
+13.6k☆
3
Recoil

Recoil

An experimental state management library for React apps
+11.1k☆
4
Ant Design

Ant Design

A UI Design Language and React UI library
+10.9k☆
5
React Hook Form

React Hook Form

React Hooks for forms validation (Web + React Native)
+10.8k☆

Escritor invitado: Lee Robinson

Lee Robinson es un desarrollador, escritor y creador que trabaja en Vercel como Solutions Architect.

Guest Writer leerob

La línea general que ha seguido el mundo React en 2020 ha sido estabilidad. Mientras que React 17 no introdujo ningún breaking change, allanó el camino para el futuro: React Server Components.

Los React Server Components cambiarán la forma en que construimos aplicaciones React, reduciendo los bundles en el lado cliente y mejorando el tiempo de carga. Además, esto simplificará el data fetching y el acceso a recursos como bases de datos o sistemas de ficheros.

Next.js ha evolucionado siendo una de las soluciones más populares para crear aplicaciones React. Su enfoque híbrido será su primera aplicación en los React Server Components.

Librerías como React Query, Recoil y React Hook Form han madurado y evolucionado alrededor de hooks. Cada uno de ellos simplifica una pieza del desarrollo con React. Combinados junto a librerías de componentes, los desarrolladores React tienen más herramientas que nunca.

Ecosistema Vue

1
Vue Element Admin

Vue Element Admin

A magical vue admin
+16.0k☆
2
Vite

Vite

Next generation frontend tooling. It's fast!
+14.1k☆
3
Nuxt

Nuxt

The Intuitive Vue Framework
+8.2k☆
4
Element Plus

Element Plus

A Vue.js 3.0 UI Library made by Element team
+7.3k☆
5
vue-next

vue-next

Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
+5.9k☆

La mayor novedad de la comunidad Vue.js este año ha sido el lanzamiento de la version 3.

Viene con el nuevo Composition API que soluciona algunas limitaciones que tenía la versión 2 de Vue.js:

  • Era difícil organizar el código por logical concerns dentro de los componentes.
  • Hace más fácil reutilizar código en diferentes components (con Vue 2, mixins, mixing factory y scoped slots no eran óptimos).
  • Tiene mejor soporte para TypeScript.

Echa un vistazo a la guía de migración para más detalles sobre que cambios ha introducido la versión 3.

También mencionar que Vite ha sido creada en 2020, una nueva herramienta para el build. Potenciada por ES modules, es el método más rapido para empezar con Vue.js desde la línea de comandos.

Ecosistema Angular

1
ngx-admin

ngx-admin

Customizable admin dashboard template based on Angular 10+
+2.5k☆
2
Material Design for Angular

Material Design for Angular

Component infrastructure and Material Design components for Angular
+1.5k☆
3
Scully

Scully

The Static Site Generator for Angular apps
+1.4k☆
4
Angular CLI

Angular CLI

CLI tool for Angular
+1.3k☆
5
NG-ZORRO

NG-ZORRO

Angular UI Component Library based on Ant Design
+1.2k☆

El top 5 de proyectos en la categoría de Angular se mantiene casi idéntico al año pasado, menos por un nuevo candidato en el número 3.

Scully es un generador de web estáticas que lleva a Angular al Jamstack. El proyecto fue lanzado en diciembre del 2019 y proveé una buena documentación para ayudarte a arrancar con ello.

Angular ha tenido tres major releases en 2020.

La versión 9 fue lanzada en febrero. El mayor cambio fue el uso del Ivy compiler, que ayudó a generar bundles más pequeños y muchas otras mejoras en el build. Las versiones 10 y 11 salieron a mediados y finales de año respectivamente.

En la segunda mitad del año, el equipo de Angular hizo especial hincapié en escuchar a la comunidad. El equipo hizo un gran esfuerzo en resolver issues y PRs para comprender e implementar las necesidades de la comunidad. Incluso anunciando un roadmap para compartir en que están trabajando y que planean para el futuro.

Build

1
esbuild

esbuild

An extremely fast JavaScript bundler and minifier
+16.6k☆
2
Rome

Rome

The Rome Toolchain. A linter, compiler, bundler, and more for JavaScript, TypeScript, HTML, Markdown, and CSS.
+14.2k☆
3
Vite

Vite

Next generation frontend tooling. It's fast!
+14.1k☆
4
Snowpack

Snowpack

WASM-powered frontend build tool. Fast, lightweight, unbundled ESM.
+10.1k☆
5
Webpack

Webpack

A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
+4.5k☆

Escritor invitado: Sébastien Lorber

Sébastien lleva usando React desde su aparición, trabaja con Facebook Open-Source en Docusaurus.

Guest Writer slorber

2020 ha sido un gran año para las herramientas de build y nos hemos encontrado con nuevas tendencias.

Snowpack y Vite apuestan por un enfoque priorizando ES modules. Estas herramientas no hacen bundle de tu código en dev, se centran en conseguir un extremadamente rápido feedback y solo hacen bundle para producción (hasta que el soporte en navegadores mejore).

swc y esbuild aprovechan Rust y Go para ofrecer un gran rendimiento, ambos usando TypeScript.

Muchas veces se describe a Webpack como demasiado complejo y alternativas como Parcel y Rollup han madurado. Aún así Webpack continúa siendo la herramienta de build por defecto para muchos y su nueva caching layer puede mejorar significativamente tu rendimiento a la hora de crear el build.

La popularidad de Monorepos está creciendo: Yarn y Lerna son ampliamente utilizados, npm 7 también se unió a la fiesta de los Monorepos este año.

Selección personal para no perder de vista en 2021: Rome, Toast, Turborepo

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Conclusión

Una vez más, ha sido un año estupendo para el mundo JavaScript, con nuevos proyectos liderando diferentes categorías en Best of JS.

Los desarrolladores backend han podido disfrutar de Deno y empezar a usar TypeScript directamente sin tener que preocuparse de ninguna dependencia.

En el front-end, tenemos herramientas más rápidas y simples para crear nuestros build, con soluciones como esbuild, Snowpack y Vite.

La version 7 de NPM nos trae workspaces, para poder manejar varios paquetes en un solo repositorio, uno de los mayores beneficios que proporcionaba su gran rival Yarn.

Hablando de estilos, soluciones como Tailwind CSS nos lleva por el mismo camino, dándonos mayor simplicidad y construyendo su ecosistema alrededor de un concepto sencillo.

¿Qué esperamos del 2021?

Será interesante ver que sale de los React Server Components.

Ahora que Sebastian McKenzie está trabajando a tiempo completo en Rome, nos preguntamos como de lejos llegará en su intento de unificar los diferentes tipos de herramientas JavaScript. ¿Podremos ver una sola dependencia que proporcione build, testing, linting...?

También estaremos atentos al framework fullstack Redwood , que trabaja bien con GraphQL y tiene una manera única de manejar data fetching usando algo que llaman "cells".

No os olvidéis de echar un vistazo a los resultados de la gran encuesta State of JS si queréis tener otro punto de vista sobre las tendencias, basado en feedback de usuarios reales.

¡Muchas gracias por vuestro interés! ¡Nos vemos el año que viene!

Spanish version

Authors