From 7e6005d6aa7db67a4cbd97fa2db5c9ea1ed8c132 Mon Sep 17 00:00:00 2001 From: jvalen Date: Sat, 18 Jan 2025 19:07:37 +0100 Subject: [PATCH 1/4] feat(lang): add Spanish 2024 content messages --- src/content/messages/2024/es.json | 42 +++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/content/messages/2024/es.json diff --git a/src/content/messages/2024/es.json b/src/content/messages/2024/es.json new file mode 100644 index 0000000..870e801 --- /dev/null +++ b/src/content/messages/2024/es.json @@ -0,0 +1,42 @@ +{ + "page": { + "title": "2024 JavaScript Rising Stars", + "description": "Un análisis completo del universo JavaScript en 2023: tendencias en front-end, frameworks fullstack y Node.js, ecosistemas React y Vue.js, herramientas para el build, gestión del estado de la aplicación..." + }, + "header": { + "title": "2024 JavaScript Rising Stars" + }, + "introduction": { + "table_of_contents": "Categorías", + "explanation": "Los siguientes gráficos comparan el número de estrellas añadidas en GitHub durante los últimos 12 meses. Hemos analizado proyectos procedentes de {{link}}, 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." + }, + "conclusion": "Conclusión", + "categories": { + "all": "Proyectos más populares del 2023", + "framework": "Frameworks Front-end", + "nodejsframework": "Back-end/Full-stack", + "react": "Ecosistema React", + "vue": "Ecosistema Vue", + "angular": "Ecosistema Angular", + "mobile": "Móvil", + "desktop": "Escritorio", + "compiler": "Compiladores JS", + "build": "Build", + "testframework": "Testing", + "ide": "IDEs & Editores", + "ssg": "Static Sites", + "cssinjs": "Estilo / CSS en JS", + "cssframework": "Frameworks CSS", + "statemanagement": "Estado de la aplicación", + "graphql": "GraphQL", + "misc": "Miscelánea", + "learning": "Recursos de aprendizaje", + "ai": "IA", + "csslib": "Librerías de CSS", + "chart": "Librerías de Gráficos", + "component": "Librerías de Componentes" + }, + "social": { + "text": "Echa un vistazo al panorama JavaScript del 2024" + } +} From 3c38dc439b124807b365615ea809e88ff5b6719d Mon Sep 17 00:00:00 2001 From: jvalen Date: Sat, 18 Jan 2025 22:04:16 +0100 Subject: [PATCH 2/4] feat(lang): add Spanish to 2024 config --- src/settings/years-setup.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/settings/years-setup.json b/src/settings/years-setup.json index e0ad134..6f53431 100644 --- a/src/settings/years-setup.json +++ b/src/settings/years-setup.json @@ -33,7 +33,7 @@ }, { "year": 2024, - "languages": ["en", "zh"], + "languages": ["en", "zh", "es"], "current": true } ] From b7a5342c838ab818b95ffcbfea4f6de17942d959 Mon Sep 17 00:00:00 2001 From: jvalen Date: Sat, 18 Jan 2025 22:08:26 +0100 Subject: [PATCH 3/4] feat(lang): add Spanish 2024 content comments --- src/content/comments/2024/es/categories/ai.md | 16 +++++++ .../comments/2024/es/categories/all.md | 47 +++++++++++++++++++ .../comments/2024/es/categories/build.md | 21 +++++++++ .../comments/2024/es/categories/framework.md | 18 +++++++ .../comments/2024/es/categories/mobile.md | 16 +++++++ .../2024/es/categories/nodejs-framework.md | 16 +++++++ .../comments/2024/es/categories/react.md | 14 ++++++ .../2024/es/categories/statemanagement.md | 18 +++++++ .../comments/2024/es/categories/vue.md | 20 ++++++++ src/content/comments/2024/es/conclusion.md | 21 +++++++++ .../comments/2024/es/guests/danielroe.md | 9 ++++ .../comments/2024/es/guests/evanbacon.md | 7 +++ src/content/comments/2024/es/guests/jherr.md | 8 ++++ src/content/comments/2024/es/guests/lihbr.md | 8 ++++ .../comments/2024/es/guests/rwieruch.md | 8 ++++ .../comments/2024/es/guests/slorber.md | 10 ++++ src/content/comments/2024/es/introduction.md | 7 +++ 17 files changed, 264 insertions(+) create mode 100644 src/content/comments/2024/es/categories/ai.md create mode 100644 src/content/comments/2024/es/categories/all.md create mode 100644 src/content/comments/2024/es/categories/build.md create mode 100644 src/content/comments/2024/es/categories/framework.md create mode 100644 src/content/comments/2024/es/categories/mobile.md create mode 100644 src/content/comments/2024/es/categories/nodejs-framework.md create mode 100644 src/content/comments/2024/es/categories/react.md create mode 100644 src/content/comments/2024/es/categories/statemanagement.md create mode 100644 src/content/comments/2024/es/categories/vue.md create mode 100644 src/content/comments/2024/es/conclusion.md create mode 100644 src/content/comments/2024/es/guests/danielroe.md create mode 100644 src/content/comments/2024/es/guests/evanbacon.md create mode 100644 src/content/comments/2024/es/guests/jherr.md create mode 100644 src/content/comments/2024/es/guests/lihbr.md create mode 100644 src/content/comments/2024/es/guests/rwieruch.md create mode 100644 src/content/comments/2024/es/guests/slorber.md create mode 100644 src/content/comments/2024/es/introduction.md diff --git a/src/content/comments/2024/es/categories/ai.md b/src/content/comments/2024/es/categories/ai.md new file mode 100644 index 0000000..a2f1058 --- /dev/null +++ b/src/content/comments/2024/es/categories/ai.md @@ -0,0 +1,16 @@ +--- +id: ai +language: es +--- + +La IA y los Large Language Models (LLMs) están transformando significativamente cómo trabajan los desarrolladores, revolucionando tanto el desarrollo frontend como backend. + +En el número uno de este año, **{n8n}** es una plataforma no-code de automatización que lleva tiempo en el mercado, pero ha visto un aumento en su popularidad gracias a sus capacidades de IA, permitiendo a los desarrolladores crear funciones de IA con modelos que se ejecutan localmente. Es parte de [un kit de inicio](https://github.com/n8n-io/self-hosted-ai-starter-kit) que configura rápidamente un entorno de IA local con Docker. + +En el número dos, **{Flowise}** es otra herramienta de automatización, construida sobre LangChain, que se especializa en crear flujos de trabajo con LLMs locales. Crear flujos de trabajo es tan simple como seleccionar uno de los bloques disponibles y conectar entradas y salidas a través de la interfaz de usuario. + +En el número tres, **{bolt}** es una herramienta increíble que puede construir aplicaciones full-stack utilizando cualquier framework (Next.js, Remix, Astro, Nuxt, etc.) y desplegarlas (usando **{supabase}**) en tiempo récord, todo a partir de un solo prompt. + +En el número cuatro, **{transformersjs}** es una librería de JavaScript que lleva modelos de procesamiento de lenguaje natural (NLP) de última generación, como los de Hugging Face, directamente al navegador y Node.js. Permite a los desarrolladores ejecutar modelos de IA localmente sin depender de APIs en la nube, haciendo que las tareas de NLP sean más rápidas, privadas y accesibles. Consulta cómo realizar análisis de sentimiento y objetos en imágenes en [esta introducción](https://www.raymondcamden.com/2024/12/03/using-transformersjs-for-ai-in-the-browser). + +En el número cinco, **{vercel-ai-sdk}** es una excelente herramienta para integrar agentes de IA en aplicaciones web. El SDK proporciona una abstracción que permite conectar con cualquier LLM. Funciona perfectamente con aplicaciones Next.js, permitiendo a los desarrolladores crear experiencias excepcionales utilizando funciones como el streaming. Aunque no tiene la flexibilidad de LangChain para la orquestación de agentes, a menudo se considera la mejor opción para la interacción con LLMs en el ecosistema TypeScript. \ No newline at end of file diff --git a/src/content/comments/2024/es/categories/all.md b/src/content/comments/2024/es/categories/all.md new file mode 100644 index 0000000..a786551 --- /dev/null +++ b/src/content/comments/2024/es/categories/all.md @@ -0,0 +1,47 @@ +--- +id: all +language: es +--- + +#### Ganador: shadcn/ui lo hizo de nuevo 🏆 + +Como en 2023, {shadcn-ui} es el proyecto más destacado del año. Encontró un equilibrio perfecto entre bases sólidas (proporcionadas por librerías de componentes como {radix}) y posibilidades de personalización. + +La idea de permitir a los desarrolladores poseer el código de sus componentes, en lugar de proporcionar componentes que debes `importar`, fue realmente revelador. + +En 2024 se añadieron muchas funcionalidades: + +- [Charts](https://ui.shadcn.com/charts) impulsados por la librería [Recharts](http://recharts.org/) +- [Themes](https://ui.shadcn.com/themes) para generar conjuntos de variables CSS personalizables en tu código +- [Blocks](https://ui.shadcn.com/blocks): una colección de layouts para abordar las necesidades de aplicaciones web típicas +- Nuevos componentes como una barra lateral extensible y responsive + +El nuevo CLI es mucho más potente y flexible: + +- `shadcn add` ahora puede instalar componentes, temas, hooks, utilidades, dependencias, etc. +- Soporta múltiples frameworks: Next.js, Remix, Vite, Laravel, etc. +- Puede actualizar tu configuración de Tailwind en lugar de sobrescribirla +- Soporte para monorepos + +Otra razón para su éxito es la estrecha integración con el servicio [v0](https://v0.dev), que puede generar componentes basados en shadcn/ui. + +También es un gran recurso de aprendizaje para mostrar cómo crear componentes y que sean fáciles de extender, ya que estos están directamente en tu carpeta de código fuente. + +#### Número 2: Excalidraw + +{excalidraw} es una herramienta online de código abierto diseñada para crear dibujos digitales y visualizaciones con un estilo a mano alzada distintivo, lo que la convierte en la herramienta perfecta para plasmar ideas o explicar conceptos y flujos de trabajo. + +Las funciones de IA incluyen: De Texto a Diagrama, {Mermaid} a Excalidraw y Wireframe a Código. + +#### Número 3: AFFiNE + +{affine} es una base de conocimiento y herramienta de gestión de proyectos de código abierto que combina las capacidades de herramientas como Notion (con documentos compuestos por bloques) y Miro (lienzo infinito para dibujar). + +Al ser "offline-first", es una excelente herramienta para construir tu propia Base de Conocimientos Personal. + +#### Menciones especiales + +Si quieres explorar lo que un navegador es capaz de hacer, échale un vistazo a: + +- {PGLite}: una base de datos Postgres utilizando WebAssembly +- [WebVM](https://labs.leaningtech.com/blog/webvm-20): una máquina virtual que funciona directamente en el navegador diff --git a/src/content/comments/2024/es/categories/build.md b/src/content/comments/2024/es/categories/build.md new file mode 100644 index 0000000..32bee40 --- /dev/null +++ b/src/content/comments/2024/es/categories/build.md @@ -0,0 +1,21 @@ +--- +id: build +language: es +--- + +2024 ha sido otro gran año para las herramientas de JS, con un trabajo constante para innovar y mejorar el rendimiento. Muchos proyectos han madurado y ganado impulso, mientras que otros proyectos emocionantes aún están en desarrollo. + +[Vite](https://vite.dev/) ha sido nuevamente el gran ganador este año, renovando por segunda vez su [premio State of JS](https://2024.stateofjs.com/en-US/awards/) como la tecnología más adoptada y amada. Es raro lograr un alto uso y retención a la vez, y mucho menos mantenerlo. ¡Estamos ansiosos por ver cómo la nueva [empresa void(0)](https://voidzero.dev/) impactará el ecosistema de Vite el próximo año! + +Vale la pena mencionar que las herramientas más exitosas están facilitando su adopción: + +- [Rspack](https://rspack.dev/) es una alternativa casi directa a webpack que comenzó a ganar tracción, siendo [adoptada con éxito por Docusaurus y Nuxt](https://rspack.dev/blog/announcing-1-1#ecosystem). Debería explotar en 2025, dado lo fácil que es adoptarla y la cantidad de proyectos existentes en webpack que podrían compilar más rápido. +- [Bun](https://bun.sh/) es una herramienta todo en uno de JS, también diseñada para facilitar su adopción gracias a su compatibilidad con Node.js, npm o Jest. Continuó su trabajo de compatibilidad en 2024, destacando el [soporte para Windows](https://bun.sh/blog/bun-v1.1) y el [lockfile basado en texto](https://bun.sh/blog/bun-lock-text-lockfile). +- [Rolldown](https://github.com/rolldown/rolldown) es un bundler rápido con una API compatible con Rollup y paridad de características con esbuild. Todavía está en desarrollo activo, pero progresa rápidamente y recientemente publicó la primera [beta v1.0](https://github.com/rolldown/rolldown/releases/tag/v1.0.0-beta.1). Es uno de los proyectos más esperados, y está previsto que impulse Vite en 2025. +- [Turbopack](https://turbo.build/pack/docs) es un bundler incremental que se centra en ser un detalle de implementación de Next.js, que puedes activar con un simple flag del CLI `--turbo`. [Turbopack Dev](https://nextjs.org/blog/turbopack-for-development-stable) se considera estable, y [Turbopack Prod](https://areweturboyet.com/) está en desarrollo activo. Se planea una versión independiente de Turbopack en el futuro. +- [Biome](https://biomejs.dev/), una alternativa más rápida a Prettier (con un 97 % de compatibilidad) y ESLint, ha sido [ampliamente adoptada con opiniones positivas](https://biomejs.dev/blog/biome-v1-9/#one-year-of-biome) por la comunidad. + +En el ámbito de TypeScript, también vale la pena mencionar: + +- TypeScript 5.5 introdujo [Isolated Declarations](https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/#isolated-declarations), desbloqueando una mejor paralelización de builds +- [Node.js ahora soporta TypeScript por defecto](https://www.totaltypescript.com/typescript-is-coming-to-node-23) y puede ejecutar archivos `.ts` directamente. Llegará en la próxima versión v23.6 y debería ser incorporado en la v22. Tanto Bun como Deno ya tenían soporte. diff --git a/src/content/comments/2024/es/categories/framework.md b/src/content/comments/2024/es/categories/framework.md new file mode 100644 index 0000000..91319b4 --- /dev/null +++ b/src/content/comments/2024/es/categories/framework.md @@ -0,0 +1,18 @@ +--- +id: framework +language: es +--- + +En el número dos en 2023, **{htmx}** alcanzó la cima de la categoría de frameworks frontend en 2024. + +Se puede considerar como una extensión del lenguaje HTML (de ahí su nombre) y a menudo se lo considera más una librería que un framework. Sin embargo, los límites son difusos. Consulta este artículo que explica [por qué htmx es otro framework](https://htmx.org/essays/is-htmx-another-javascript-framework/). + +Es una gran opción si necesitas mejorar un sitio estático con interactividad o si el estado de tu aplicación es "controlado por el servidor." Usando solo una combinación de atributos HTML `hx-*`, puedes implementar funciones como la obtención de datos sin escribir una sola línea de JavaScript. + +¿Quieres verlo en acción? Este mismo sitio web "Rising Stars" está construido con Astro, y htmx impulsa funciones como la carga diferida de categorías adicionales al desplazarte hacia abajo. + +En **{2}**, React sigue reinventándose, lo que es parte de su éxito. Tomó más de tres años lanzar la versión 19, pero finalmente fue lanzada [en diciembre](https://react.dev/blog/2024/12/05/react-19) tras cambios relacionados con el [drama de Suspense](https://tkdodo.eu/blog/react-19-and-suspense-a-drama-in-3-acts). Consulta el [cheatsheet de React 19](https://www.epicreact.dev/react-19-cheatsheet) para más detalles. + +Entre las nuevas características, el soporte para web components ("Custom Elements") es una gran noticia. Hablando de web components, Ryan Carnato, el creador de {solid} (número 8) escribió por qué [los web components no son el futuro](https://dev.to/ryansolid/web-components-are-not-the-future-48bh), creando cierta controversia. Una respuesta interesante vino de Lea Vera en [este post](https://lea.verou.me/blog/2024/wcs-vs-frameworks/) concluyendo que deberíamos usar "las herramientas que consideremos más productivas." + +En **{3}**, **{svelte}** también tuvo un lanzamiento importante con [la versión 5](https://svelte.dev/blog/svelte-5-is-alive). El cambio más destacado es la introducción de "runes," un mecanismo explícito para declarar estado reactivo. Vale la pena mencionar que Svelte tiene la opinión más positiva en los [resultados de State of JS](https://2024.stateofjs.com/en-US/libraries/front-end-frameworks/). \ No newline at end of file diff --git a/src/content/comments/2024/es/categories/mobile.md b/src/content/comments/2024/es/categories/mobile.md new file mode 100644 index 0000000..a48c4df --- /dev/null +++ b/src/content/comments/2024/es/categories/mobile.md @@ -0,0 +1,16 @@ +--- +id: mobile +language: es +--- + +En 2024, React Native continúa dominando el espacio de desarrollo de aplicaciones móviles, manteniéndose como el framework más popular para construir aplicaciones multiplataforma. Expo, por segundo año consecutivo, sigue siendo el proyecto mejor valorado, con un crecimiento significativo desde 2023. + +Una de las mayores tendencias este año es el creciente énfasis en el soporte web/universal en React Native. Expo Router ha avanzado considerablemente en cerrar la brecha entre web y nativo, introduciendo componentes DOM de Expo ('use dom') para permitir una migración incremental entre React web y React universal. Esto también se puede observar en el cambio de Meta, alejándose de [React Native for Web](https://necolas.github.io/react-native-web/) hacia soluciones más enfocadas en la web como {react-strict-dom} y {StyleX}, que están utilizando internamente. Además, la mayoría de los proyectos más destacados se centran en la unificación web/nativo. + +El *estilo* sigue siendo un enfoque clave en el ecosistema. Esto se observa especialmente con [Yoga v3](https://www.yogalayout.dev/blog/announcing-yoga-3.0) (el motor de estilos de React Native), que ha traído una serie de mejoras a los estilos integrados en React Native, impulsadas principalmente por el trabajo de Meta en aplicaciones como Instagram y Facebook para Quest (desarrolladas con React Android). Mientras tanto, las soluciones impulsadas por la comunidad continúan prosperando, trayendo las mejores partes de la web al entorno nativo. + +De cara al futuro, espero que la IA desempeñe un papel aún mayor en las herramientas de desarrollo nativo y aplicaciones. La primicia de Expo Router sobre como usar Componentes de Servidor universales de React probablemente inspire la aparición de nuevas librerías de servidor. Además, las interfaces nativas probablemente evolucionarán aún más, con más integraciones con SwiftUI y Jetpack Compose, ampliando el 'camino al éxito'. + +También predigo que la comunidad nativa crecerá aún más con la introducción de componentes DOM de Expo y las continuas mejoras en las herramientas de implementación de aplicaciones con un solo comando como ([EAS Build](https://docs.expo.dev/build/introduction/)), haciendo que sea un espacio mucho más familiar y emocionante para todos los desarrolladores. + +¡2025 definitivamente será un año emocionante! diff --git a/src/content/comments/2024/es/categories/nodejs-framework.md b/src/content/comments/2024/es/categories/nodejs-framework.md new file mode 100644 index 0000000..d0c0f4d --- /dev/null +++ b/src/content/comments/2024/es/categories/nodejs-framework.md @@ -0,0 +1,16 @@ +--- +id: nodejs-framework +language: es +--- + +En el puesto número uno, **{Payload}** es un CMS de código abierto y versátil que se instala directamente en cualquier aplicación Next.js. La estrecha integración con Next.js App Router facilita configurar un panel de administración directamente dentro de una aplicación existente, sin necesidad de crear una nueva aplicación para los usuarios administradores. + +Originalmente diseñado para MongoDB, ahora admite Postgres y SQLite gracias a la integración de {drizzle-orm}. Proporciona su propio ORM para configurar la estructura de datos y las reglas de control de acceso a un nivel superior, e incluye potentes características como la carga masiva de archivos multimedia. Consulta el anuncio sobre [Payload 3](https://payloadcms.com/blog/payload-30-the-first-cms-that-installs-directly-into-any-nextjs-app) para más detalles. + +En el segundo lugar, **{nextjs}** sigue siendo el framework full-stack más popular. La [versión 15](https://nextjs.org/blog/next-15) incluye soporte para React 19 y mejoras en el rendimiento, aprovechando la nueva API de caché, así como una experiencia mejorada para desarrolladores (DX) gracias a la adopción completa de Turbopack como herramienta de compilación. + +El recién llegado en esta categoría es el servidor web **{Hono}**, ocupando el tercer lugar. Se presenta como un reemplazo moderno para {Express} (en el puesto 13 a pesar de tener 15 años) y es capaz de ejecutarse en múltiples entornos JavaScript: Node.js, Deno, Bun y entornos serverless como Lambda o Cloudflare Workers. Destaca por su tamaño extremadamente pequeño. Lee [la historia de su creador](https://blog.cloudflare.com/the-story-of-web-framework-hono-from-the-creator-of-hono/). + +En el cuarto lugar, **{astro}** se ha convertido en una solución versátil para construir aplicaciones enfocadas en contenido. La [versión 5](https://astro.build/blog/astro-5/) introdujo una nueva Capa de Contenido, que permite la obtención de datos con tipado seguro desde cualquier fuente, ya sea del sistema de archivos o APIs externas. + +He usado Astro para construir este sitio, y estoy impresionado por la DX (¡el CLI que te llama astronauta es adorable!) y el excepcional rendimiento web que ofrece. diff --git a/src/content/comments/2024/es/categories/react.md b/src/content/comments/2024/es/categories/react.md new file mode 100644 index 0000000..6a4d406 --- /dev/null +++ b/src/content/comments/2024/es/categories/react.md @@ -0,0 +1,14 @@ +--- +id: react +language: es +--- + +2024 ha visto cómo React ha tomado paradójicamente fuertes posicionamientos y a la vez ha sido también flexible con estos. + +Por un lado, React ha adoptado una fuerte posicionamiento respecto a la introducción de Componentes y Funciones de Servidor, guiando a los desarrolladores hacia arquitecturas que operan a través de la red. Sin embargo, ha mostrado una postura más flexible a medida que estos nuevos conceptos están siendo adoptados y abstraídos por varios frameworks, cada uno con su propio enfoque. + +React ya no es solo una librería. Está evolucionando hacia una especificación para frameworks, lo que representa un cambio significativo en el ecosistema hacia una mentalidad centrada en frameworks. Sin embargo, aún permite a los desarrolladores no adoptar esta mentalidad y permanecer más cerca del cliente si lo prefieren. + +Durante toda esta transformación, React sigue comprometido con perfeccionar su núcleo. El desarrollo continuo del [React Compiler](https://react.dev/learn/react-compiler) se centra en mejorar tanto el rendimiento como la experiencia del desarrollador. Con el lanzamiento de [React 19](https://react.dev/blog/2024/12/05/react-19), se ha introducido soporte para [custom elements](https://custom-elements-everywhere.com/), junto con nuevos hooks y acciones de formularios que redefinen la gestión de formularios en React. + +Estoy muy emocionado por las posibilidades que React 19 desbloquea. React se está convirtiendo en un framework full-stack, y es fascinante ver cómo esto dará forma al futuro del desarrollo web con todos los actores del ecosistema React. diff --git a/src/content/comments/2024/es/categories/statemanagement.md b/src/content/comments/2024/es/categories/statemanagement.md new file mode 100644 index 0000000..f39fd45 --- /dev/null +++ b/src/content/comments/2024/es/categories/statemanagement.md @@ -0,0 +1,18 @@ +--- +id: statemanagement +language: es +--- + +{zustand} continúa su meteórico ascenso como la librería de gestión de estado preferida para React, así como para React Native y más allá. Zustand es la librería de gestión de estado "esencial" y está claro que los desarrolladores buscan precisamente eso. + +Si analizamos los resultados según el estilo de gestión de estado, surgen patrones interesantes. Zustand, {pinia}, {redux} y {boardgame} son unidireccionales: defines tu estado y las acciones que lo modifican. Con {jotai}, {nano-stores} y {Legend-State}, defines tu estado como átomos y creas átomos computados que dependen de otros átomos. {valtio} es una librería bidireccional para la gestión de estado. Y {XState} es una librería de máquinas de estados. + +Una conclusión que podemos sacar de estos resultados es que el estilo formal de gestión de estado tipo Redux (aunque no necesariamente la librería Redux en sí) sigue siendo el más popular. Mientras tanto, el modelo atómico está avanzando significativamente (Recoil, la librería atómica original, está justo fuera del top diez). + +Sin embargo, {XState} no puede pasarse por alto. Para aplicaciones complejas, las máquinas de estados son una elección fantástica porque modelan tu aplicación en una serie estricta de estados y transiciones entre ellos. Si aún no la has probado, el editor interactivo y el simulador para X-State son imprescindibles. + +{Boardgame} y {Tinybase} son adiciones muy interesantes en el top diez. Boardgame está específicamente orientada al desarrollo de juegos. Tinybase, por su parte, se centra en el almacenamiento de datos local-first y la sincronización de esos datos con servicios backend. Ambas librerías están altamente especializadas, lo que podría indicar una tendencia. Problemas como sincronizar datos local-first con servicios backend son complejos, por lo que tener librerías (como Tinybase y Legend State) que se enfoquen específicamente en eso es algo positivo. + +Algo que no aparece en esta lista son las "señales". No estoy seguro de si esto se debe a que los desarrolladores están esperando que se finalice y adopte ampliamente la propuesta de TC39, o porque está integrado en frameworks como {Solid}, {Svelte} y {Qwik}. Aunque las señales no hayan llegado al top diez, siguen siendo una forma destacada de modelar el estado de manera eficiente. + +Los próximos años prometen ser un período emocionante para la gestión de estado en React, Vue, JavaScript y más allá. \ No newline at end of file diff --git a/src/content/comments/2024/es/categories/vue.md b/src/content/comments/2024/es/categories/vue.md new file mode 100644 index 0000000..940a31a --- /dev/null +++ b/src/content/comments/2024/es/categories/vue.md @@ -0,0 +1,20 @@ +--- +id: vue +language: es +--- + +Este año ha sido excelente para el ecosistema Vue. Vue en sí mismo ha tenido un ciclo de lanzamientos mucho más activo por parte del equipo central, con nuevas versiones menores que traen mejoras en el rendimiento. Por ejemplo, [el sistema de reactividad fue reformado](https://github.com/vuejs/core/pull/10397) en la versión 3.5, y otro cambio para usar el nuevo enfoque más ligero de [alien-signals](https://github.com/stackblitz/alien-signals) ya [está en la rama principal](https://github.com/vuejs/core/pull/12349). + +Un buen indicativo del gran avance de su ecosistema se puede ver en sus librerías de UI, que están floreciendo. Parte de lo que está permitiendo esto es Tailwind CSS. Su enfoque basado en convenciones para escribir CSS y su capacidad multiplataforma significa que librerías de UI como {shadcn-vue} o {Radix-Vue} (próximamente [Reka UI](https://reka-ui.com/)) podrían portarse directamente desde sus equivalentes en React. Del mismo modo, las librerías nativas de Vue como {Element-Plus} y {Naive-UI} siguen prosperando, con usuarios fieles y un crecimiento constante. + +Sin embargo, el mejor resultado entre todas las librerías de UI proviene de [PrimeVue](https://primevue.org/), que puede integrarse con Tailwind CSS pero no lo requiere. PrimeVue logró el segundo lugar con asombrosas 5.4k estrellas. Han visto un desarrollo sostenido este año y tienen ambiciones en los ecosistemas de React y Angular también, lo cual es una buena noticia para el ecosistema [Primefaces](https://www.primefaces.org/) en general. + +También vemos un número de frameworks como Nuxt, Slidev, VitePress y {Vue-Element-Admin} que están funcionando muy bien. + +{Slidev} ofrece una experiencia increíble e interactiva para desarrollar presentaciones, con mejoras significativas este año, como mejoras en [Twoslash](https://twoslash.netlify.app/) y soporte para Magic Move. + +{VitePress} sigue siendo un caso de estudio en la generación de sitios estáticos construidos con Vue, ofreciendo un rendimiento sólido y una excelente experiencia para desarrolladores. Es la opción preferida para sitios de documentación en el ecosistema Vue y más allá, pero también puede usarse en aplicaciones más generales. + +{Nuxt} encabeza la lista. Como el meta-framework más utilizado en el espacio Vue, una gran parte del trabajo de este año se ha centrado en solidificar los cambios realizados en Nuxt 3 y preparar una transición fluida hacia la próxima versión mayor en Nuxt v4. También hemos visto el lanzamiento de nuevos módulos principales como [Nuxt Fonts](https://fonts.nuxt.com/) (fuentes web optimizadas sin configuración) y [Nuxt Scripts](https://scripts.nuxt.com/) (carga eficiente de scripts de terceros), además del desarrollo de [nuxt-auth-utils](https://github.com/atinux/nuxt-auth-utils), que se está convirtiendo en una solución de autenticación central para Nuxt. + +Para todas las librerías que vemos en la lista, la experiencia del desarrollador sigue siendo una prioridad, y el próximo año promete cosas emocionantes para los desarrolladores de Vue, como el Vapor mode (¡por fin!), la estabilización de Suspense en Vue 3.6, una próxima versión mayor de Nuxt, ¡y más! \ No newline at end of file diff --git a/src/content/comments/2024/es/conclusion.md b/src/content/comments/2024/es/conclusion.md new file mode 100644 index 0000000..35743ed --- /dev/null +++ b/src/content/comments/2024/es/conclusion.md @@ -0,0 +1,21 @@ +--- +id: conclusion +language: es +--- + +2024 estuvo lleno de lanzamientos muy emocionantes: + +- [JSR: un nuevo registro de paquetes](https://deno.com/blog/jsr-is-not-another-package-manager) creado por el equipo de Deno que admite TypeScript de forma nativa. +- [Deno v2](https://deno.com/blog/v2.0): un hito importante para este runtime de JS, centrado en el uso de _Deno a gran escala_, incluyendo interoperabilidad con infraestructura JS legacy, la capacidad de importar cualquier paquete de NPM y una Librería Estándar estable. Deno también funciona como un gestor de paquetes con su propio mecanismo de caché para instalaciones ultrarrápidas. +- [Bun v1.1](https://bun.sh/blog/bun-v1.1) ahora es compatible con Windows. +- [TanStack Start](https://tanstack.com/start/latest): comenzó como un boilerplate basado en [TanStack router](https://tanstack.com/router/latest) y se transformó en un framework con capacidades propias orientado al servidor. +- [Tauri v2](https://v2.tauri.app/blog/tauri-20/) llega con una mejor experiencia para desarrolladores (DX), un nuevo sistema de plugins y soporte para móviles. +- [Astro 5](https://astro.build/blog/astro-5/): el framework web para construir sitios centrados en contenido, elogiado por su increíble DX. Introduce una nueva **capa de contenido** para obtener datos de cualquier fuente de manera flexible y con tipado seguro. +- La nueva empresa [VoidZero](https://voidzero.dev/posts/announcing-voidzero-inc), centrada en crear serie de herramientas de alto rendimiento para el ecosistema JS. +- [Vite 6](https://vite.dev/blog/announcing-vite6.html) con la nueva [Environment API](https://green.sapphi.red/blog/increasing-vites-potential-with-the-environment-api) que abre nuevas posibilidades para expandirse más allá del navegador. +- [TailwindCSS 4](https://tailwindcss.com/blog/tailwindcss-v4-beta) ofrece configuración centrada en CSS y mejor rendimiento. +- [React Router v7](https://remix.run/blog/react-router-v7) recupera e implementa mejoras provenientes de Remix. La fusión entre ambos proyectos se deja clara en la documentación, que menciona dos formas de comenzar: usando la librería o el framework completo. + +Una de las noticias más destacadas llegó justo al final del año: [Node.js 23 soporta TypeScript](https://www.totaltypescript.com/typescript-is-coming-to-node-23) sin necesidad de ningún flag experimental. + +Sin embargo, los cambios más significativos no están relacionados con las librerías o frameworks que usamos para escribir código. Más bien, giran en torno a las increíbles herramientas impulsadas por la IA. Entornos de desarrollo como [Cursor](https://www.cursor.com/) y servicios como {bolt}, [Lovable](https://lovable.dev/), [Replit](https://replit.com/) y [v0.dev](https://v0.dev) pueden generar e incluso desplegar aplicaciones full-stack con solo unos pocos comandos. ¡Si puedes decirlo, puedes hacerlo! En 2025, la competencia en este campo se disparará, y los desarrolladores deberán adaptarse para aprovechar al máximo estas potentes herramientas. diff --git a/src/content/comments/2024/es/guests/danielroe.md b/src/content/comments/2024/es/guests/danielroe.md new file mode 100644 index 0000000..802aef9 --- /dev/null +++ b/src/content/comments/2024/es/guests/danielroe.md @@ -0,0 +1,9 @@ +--- +id: danielroe +language: es +--- + +### Escritor invitado: [Daniel Roe](https://roe.dev/) + +Daniel lidera el equipo core de {Nuxt}. +Es un contribuidor a tiempo completo de código abierto, ponente y consultor. diff --git a/src/content/comments/2024/es/guests/evanbacon.md b/src/content/comments/2024/es/guests/evanbacon.md new file mode 100644 index 0000000..2c16cab --- /dev/null +++ b/src/content/comments/2024/es/guests/evanbacon.md @@ -0,0 +1,7 @@ +--- +id: evanbacon +language: es +--- +### Escritor invitado: [Evan Bacon](https://twitter.com/Baconbrix) + +Lead de Herramientas para Desarrolladores en Expo. Desarrollador para iOS y Android. Autor de Config Plugins y Expo CLI. diff --git a/src/content/comments/2024/es/guests/jherr.md b/src/content/comments/2024/es/guests/jherr.md new file mode 100644 index 0000000..250841b --- /dev/null +++ b/src/content/comments/2024/es/guests/jherr.md @@ -0,0 +1,8 @@ +--- +id: jherr +language: es +--- + +### Escritor invitado: [Jack Herrington](https://www.pronextjs.dev/) + +Blue Collar Coder en [YouTube](youtube.com/c/JackHerrington) diff --git a/src/content/comments/2024/es/guests/lihbr.md b/src/content/comments/2024/es/guests/lihbr.md new file mode 100644 index 0000000..c7bf5de --- /dev/null +++ b/src/content/comments/2024/es/guests/lihbr.md @@ -0,0 +1,8 @@ +--- +id: lihbr +language: es +--- + +### Escritor invitado: [Lucie Haberer](https://lihbr.com/) + +Miembro del equipo principal de {nuxt}, ponente, entusiasta del código abierto e Ingeniero de Experiencia para Desarrolladores en [Prismic](https://prismic.io/). diff --git a/src/content/comments/2024/es/guests/rwieruch.md b/src/content/comments/2024/es/guests/rwieruch.md new file mode 100644 index 0000000..e7fc0d7 --- /dev/null +++ b/src/content/comments/2024/es/guests/rwieruch.md @@ -0,0 +1,8 @@ +--- +id: rwieruch +language: es +--- + +### Escritor invitado: [Robin Wieruch](https://www.robinwieruch.de/) + +Freelance Full-Stack Developer y autor de [The Road to React](https://www.roadtoreact.com/) y [The Road to Next](https://www.road-to-next.com/). diff --git a/src/content/comments/2024/es/guests/slorber.md b/src/content/comments/2024/es/guests/slorber.md new file mode 100644 index 0000000..a8bb3d5 --- /dev/null +++ b/src/content/comments/2024/es/guests/slorber.md @@ -0,0 +1,10 @@ +--- +id: slorber +language: es +--- + +### Escritor invitado: [Sébastien Lorber](https://thisweekinreact.com) + +Sébastien dirige [This Week in React](https://thisweekinreact.com/), manteniendo a más de 45k desarrolladores de React actualizados. + +También es el principal responsable de mantenimiento de [Docusaurus](https://docusaurus.io/), trabajando para Meta Open Source diff --git a/src/content/comments/2024/es/introduction.md b/src/content/comments/2024/es/introduction.md new file mode 100644 index 0000000..36481b5 --- /dev/null +++ b/src/content/comments/2024/es/introduction.md @@ -0,0 +1,7 @@ +--- +id: introduction +language: es +--- + +Bienvenido a la 9ª edición de JavaScript Rising Stars, tu guía sobre las principales tendencias y proyectos que están moldeando el ecosistema JavaScript en 2024. + From dae1f7d0dc405f6193095bef8e71d6a153437a48 Mon Sep 17 00:00:00 2001 From: jvalen Date: Sat, 18 Jan 2025 23:38:28 +0100 Subject: [PATCH 4/4] feat(lang): minor updates --- src/content/comments/2024/es/categories/all.md | 2 +- src/content/comments/2024/es/categories/framework.md | 4 ++-- src/content/comments/2024/es/categories/react.md | 2 +- .../comments/2024/es/categories/statemanagement.md | 2 +- src/content/comments/2024/es/introduction.md | 2 +- src/content/messages/2024/es.json | 10 +++++----- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/content/comments/2024/es/categories/all.md b/src/content/comments/2024/es/categories/all.md index a786551..93d563a 100644 --- a/src/content/comments/2024/es/categories/all.md +++ b/src/content/comments/2024/es/categories/all.md @@ -5,7 +5,7 @@ language: es #### Ganador: shadcn/ui lo hizo de nuevo 🏆 -Como en 2023, {shadcn-ui} es el proyecto más destacado del año. Encontró un equilibrio perfecto entre bases sólidas (proporcionadas por librerías de componentes como {radix}) y posibilidades de personalización. +Como en 2023, {shadcn-ui} es el proyecto más destacado del año. Encontró un equilibrio perfecto teniendo unos sólidos cimientos (proporcionados por librerías de componentes como {radix}) y a la vez ofreciendo posibilidades de personalización. La idea de permitir a los desarrolladores poseer el código de sus componentes, en lugar de proporcionar componentes que debes `importar`, fue realmente revelador. diff --git a/src/content/comments/2024/es/categories/framework.md b/src/content/comments/2024/es/categories/framework.md index 91319b4..c9b4ff7 100644 --- a/src/content/comments/2024/es/categories/framework.md +++ b/src/content/comments/2024/es/categories/framework.md @@ -11,8 +11,8 @@ Es una gran opción si necesitas mejorar un sitio estático con interactividad o ¿Quieres verlo en acción? Este mismo sitio web "Rising Stars" está construido con Astro, y htmx impulsa funciones como la carga diferida de categorías adicionales al desplazarte hacia abajo. -En **{2}**, React sigue reinventándose, lo que es parte de su éxito. Tomó más de tres años lanzar la versión 19, pero finalmente fue lanzada [en diciembre](https://react.dev/blog/2024/12/05/react-19) tras cambios relacionados con el [drama de Suspense](https://tkdodo.eu/blog/react-19-and-suspense-a-drama-in-3-acts). Consulta el [cheatsheet de React 19](https://www.epicreact.dev/react-19-cheatsheet) para más detalles. +El número **{2}**, React, sigue reinventándose, lo que es parte de su éxito. Tomó más de tres años lanzar la versión 19, pero finalmente fue lanzada [en diciembre](https://react.dev/blog/2024/12/05/react-19) tras cambios relacionados con el [drama de Suspense](https://tkdodo.eu/blog/react-19-and-suspense-a-drama-in-3-acts). Consulta el [cheatsheet de React 19](https://www.epicreact.dev/react-19-cheatsheet) para más detalles. Entre las nuevas características, el soporte para web components ("Custom Elements") es una gran noticia. Hablando de web components, Ryan Carnato, el creador de {solid} (número 8) escribió por qué [los web components no son el futuro](https://dev.to/ryansolid/web-components-are-not-the-future-48bh), creando cierta controversia. Una respuesta interesante vino de Lea Vera en [este post](https://lea.verou.me/blog/2024/wcs-vs-frameworks/) concluyendo que deberíamos usar "las herramientas que consideremos más productivas." -En **{3}**, **{svelte}** también tuvo un lanzamiento importante con [la versión 5](https://svelte.dev/blog/svelte-5-is-alive). El cambio más destacado es la introducción de "runes," un mecanismo explícito para declarar estado reactivo. Vale la pena mencionar que Svelte tiene la opinión más positiva en los [resultados de State of JS](https://2024.stateofjs.com/en-US/libraries/front-end-frameworks/). \ No newline at end of file +En el puesto **{3}**, **{svelte}** también tuvo un lanzamiento importante con [la versión 5](https://svelte.dev/blog/svelte-5-is-alive). El cambio más destacado es la introducción de "runes," un mecanismo explícito para declarar estado reactivo. Vale la pena mencionar que Svelte tiene la opinión más positiva en los [resultados de State of JS](https://2024.stateofjs.com/en-US/libraries/front-end-frameworks/). \ No newline at end of file diff --git a/src/content/comments/2024/es/categories/react.md b/src/content/comments/2024/es/categories/react.md index 6a4d406..7be6afb 100644 --- a/src/content/comments/2024/es/categories/react.md +++ b/src/content/comments/2024/es/categories/react.md @@ -5,7 +5,7 @@ language: es 2024 ha visto cómo React ha tomado paradójicamente fuertes posicionamientos y a la vez ha sido también flexible con estos. -Por un lado, React ha adoptado una fuerte posicionamiento respecto a la introducción de Componentes y Funciones de Servidor, guiando a los desarrolladores hacia arquitecturas que operan a través de la red. Sin embargo, ha mostrado una postura más flexible a medida que estos nuevos conceptos están siendo adoptados y abstraídos por varios frameworks, cada uno con su propio enfoque. +Por un lado, React ha adoptado una postura firme respecto a la introducción de Componentes y Funciones de Servidor, guiando a los desarrolladores hacia arquitecturas que operan a través de la red. Sin embargo, ha mostrado un posicionamiento más flexible a medida que estos nuevos conceptos están siendo adoptados y abstraídos por varios frameworks, cada uno con su propio enfoque. React ya no es solo una librería. Está evolucionando hacia una especificación para frameworks, lo que representa un cambio significativo en el ecosistema hacia una mentalidad centrada en frameworks. Sin embargo, aún permite a los desarrolladores no adoptar esta mentalidad y permanecer más cerca del cliente si lo prefieren. diff --git a/src/content/comments/2024/es/categories/statemanagement.md b/src/content/comments/2024/es/categories/statemanagement.md index f39fd45..980a446 100644 --- a/src/content/comments/2024/es/categories/statemanagement.md +++ b/src/content/comments/2024/es/categories/statemanagement.md @@ -3,7 +3,7 @@ id: statemanagement language: es --- -{zustand} continúa su meteórico ascenso como la librería de gestión de estado preferida para React, así como para React Native y más allá. Zustand es la librería de gestión de estado "esencial" y está claro que los desarrolladores buscan precisamente eso. +{zustand} continúa su meteórico ascenso como la librería de gestión de estado preferida para React, así como para React Native y más allá. Zustand es la librería de gestión de estado con el "mínimo esencial" y está claro que los desarrolladores buscan precisamente eso. Si analizamos los resultados según el estilo de gestión de estado, surgen patrones interesantes. Zustand, {pinia}, {redux} y {boardgame} son unidireccionales: defines tu estado y las acciones que lo modifican. Con {jotai}, {nano-stores} y {Legend-State}, defines tu estado como átomos y creas átomos computados que dependen de otros átomos. {valtio} es una librería bidireccional para la gestión de estado. Y {XState} es una librería de máquinas de estados. diff --git a/src/content/comments/2024/es/introduction.md b/src/content/comments/2024/es/introduction.md index 36481b5..3e0a9be 100644 --- a/src/content/comments/2024/es/introduction.md +++ b/src/content/comments/2024/es/introduction.md @@ -3,5 +3,5 @@ id: introduction language: es --- -Bienvenido a la 9ª edición de JavaScript Rising Stars, tu guía sobre las principales tendencias y proyectos que están moldeando el ecosistema JavaScript en 2024. +Bienvenido a la 9ª edición de JavaScript Rising Stars, tu guía sobre las principales tendencias y proyectos que están moldeando el ecosistema JS en 2024. diff --git a/src/content/messages/2024/es.json b/src/content/messages/2024/es.json index 870e801..e24b150 100644 --- a/src/content/messages/2024/es.json +++ b/src/content/messages/2024/es.json @@ -1,7 +1,7 @@ { "page": { "title": "2024 JavaScript Rising Stars", - "description": "Un análisis completo del universo JavaScript en 2023: tendencias en front-end, frameworks fullstack y Node.js, ecosistemas React y Vue.js, herramientas para el build, gestión del estado de la aplicación..." + "description": "Un análisis completo del universo JavaScript en 2024: tendencias en front-end, frameworks fullstack y Node.js, ecosistemas React y Vue.js, herramientas para el build, gestión del estado de la aplicación..." }, "header": { "title": "2024 JavaScript Rising Stars" @@ -12,7 +12,7 @@ }, "conclusion": "Conclusión", "categories": { - "all": "Proyectos más populares del 2023", + "all": "Proyectos más populares del 2024", "framework": "Frameworks Front-end", "nodejsframework": "Back-end/Full-stack", "react": "Ecosistema React", @@ -21,20 +21,20 @@ "mobile": "Móvil", "desktop": "Escritorio", "compiler": "Compiladores JS", - "build": "Build", + "build": "Herramientas", "testframework": "Testing", "ide": "IDEs & Editores", "ssg": "Static Sites", "cssinjs": "Estilo / CSS en JS", "cssframework": "Frameworks CSS", - "statemanagement": "Estado de la aplicación", + "statemanagement": "Gestión del Estado", "graphql": "GraphQL", "misc": "Miscelánea", "learning": "Recursos de aprendizaje", "ai": "IA", "csslib": "Librerías de CSS", "chart": "Librerías de Gráficos", - "component": "Librerías de Componentes" + "component": "Componentes" }, "social": { "text": "Echa un vistazo al panorama JavaScript del 2024"