June 12 - 16, 2025
JS Nation
Amsterdam & Online

JSNation 2025

La conferencia principal de JavaScript del año

Discover the future of the JavaScript development ecosystem and get connected to its stellar crowd! JSNation is the best place to learn about JavaScript – beside the main JS conf talks and panel discussion with high-profile specialists, be prepared for awesome MCs, in-depth workshops, a number of discussions & networking rooms, interactive entertainment, and engaging challenges for all participants.

Esta edición del evento ha finalizado, las últimas actualizaciones de este JavaScript Conference están disponibles en el sitio web de la marca.
La Década Perdida del Frontend y la Brecha de Desigualdad de Rendimiento
32 min
La Década Perdida del Frontend y la Brecha de Desigualdad de Rendimiento
Top Content
Alex Russell's journey from engineering to product management, the focus on improving web experiences, and optimizing software for end-user success. Considerations include device performance, web diversity, and API constraints. Challenges of web platforms encompass hardware and network limitations, prioritizing user experience. Understanding the impact of Moore's Law on device performance and adapting browsers for efficiency. Emphasis on code optimization, user-focused development, and quality in web UI. Addressing challenges in PWA success, developer learning, and balancing frameworks with platform understanding.
Vite y el Futuro de las Herramientas de JavaScript
23 min
Vite y el Futuro de las Herramientas de JavaScript
Evan Yeo discusses Vite's growth, challenges with dependencies like ES Build and Rollup, and the creation of the bundler Rolldown. The JavaScript ecosystem faces fragmentation, but the company aims for a unified JavaScript stack. Rust is chosen for lower-level development, while JavaScript and TypeScript for high-level APIs. Roldown offers advanced bundling features, outperforming existing tools. Integration with Vite leads to tailored optimizations and significant speed improvements. Vite+ development focuses on creating a comprehensive toolkit. VitePlus integrates TS-down for library bundling, ViteTest for testing, and OX-Lint for linting. Future plans include monorepo awareness, build orchestration, and framework-like features.
Transformers.js: Machine Learning de Última Generación para la Web
27 min
Transformers.js: Machine Learning de Última Generación para la Web
Joshua introduces Transformers JS and Hugging Face, emphasizing community collaboration and pre-trained models. Transformers JS evolution led to 1.4 million monthly users, supporting 155 architectures. The library's browser-based capabilities offer real-time processing, cost-efficiency, and scalability. Integration enhancements include native web GPU execution and React Native implementation. Web ML implementation focuses on Onyx Runtime for device execution and web GPU for resource optimization. Browser-based ML applications cover vision, speech recognition, and text-to-speech. Advanced implementations include multimodal applications and educational tools. Interactive AI demonstrations showcase semantic search and conversational AI scenarios. Model licensing transitions to ECMAScript for efficiency and model redownloading factors are discussed.
El Estado de la Web
32 min
El Estado de la Web
Sasha Grief discusses the state of the web through web development surveys, leading to an interactive quiz about the state of JS and usage of front end frameworks. Discussion on popular front-end libraries like React, Vue, Angular, and the rising popularity of TypeScript among developers in recent surveys. Discussion on TypeScript adoption, TC39 committee proposals, favorite CSS feature 'has,' and browser support for 'has' selector. Browser interoperability, browser vendors' initiatives, AI usage among web developers, and survey insights. Job titles linked to higher income, diversity of survey topics, top hobby among developers, and popular specific video games. Learnings on CSS features, TypeScript default, AI usage, survey benefits, challenges in reaching diverse survey participants. Surprising positivity in JavaScript usage, stable framework landscape, AI adoption challenges, mainstream AI tools, successful situp.js survey. Inconsistent respondent numbers, manual data normalization efforts, subjective question selection process, community input, mitigation of selection bias. Reason for starting surveys, transition from Meteor JS, exploration of JavaScript ecosystem.
El Estado de Node.js 2025
30 min
El Estado de Node.js 2025
The speaker covers a wide range of topics related to Node.js, including its resilience, popularity, and significance in the tech ecosystem. They discuss Node.js version support, organization activity, development updates, enhancements, and security updates. Node.js relies heavily on volunteers for governance and contribution. The speaker introduces an application server for Node.js enabling PHP integration. Insights are shared on Node.js downloads, infrastructure challenges, software maintenance, and the importance of update schedules for security.
Control de Movimiento Con LLMs Multimodales
39 min
Control de Movimiento Con LLMs Multimodales
The Talk delves into motion control with multimodal AI, exploring TensorFlow.js models for gesture recognition and enhancing user interactions. It discusses leveraging LLMs for gesture-based interaction, investigating Gemiini for gesture recognition, and controlling light states with Gemini functions. The conversation includes webcam-based gesture recognition, custom gesture databases, and the future of personalized AI assistance with acoustic recognition.
Los Nuevos Valores Predeterminados de la Web Moderna
10 min
Los Nuevos Valores Predeterminados de la Web Moderna
The speaker reflects on past experiences developing various websites, highlighting challenges faced in achieving visually unique sites with similar functionalities. They discuss hacks used in web development, the evolution of CSS and web APIs, and express a desire for modern web defaults. Challenges with mobile viewport height on touch devices are described, along with the evolution of hacks into simpler CSS solutions. The evolution of scroll behavior, scroll snapping challenges, and scrolling interception techniques are also discussed. The text covers animation challenges, transitioning to promise-based animations, and the use of frameworks for animations and view transitions in web development.
Building Full Stack Apps With Cursor
46 min
Building Full Stack Apps With Cursor
Workshop
Mike Mikula
Mike Mikula
En esta masterclass cubriré un proceso repetible sobre cómo iniciar aplicaciones full stack en Cursor. Espere comprender técnicas como el uso de GPT para crear requisitos de producto, esquemas de base de datos, hojas de ruta y usarlos en notas para generar listas de verificación que guíen el desarrollo de aplicaciones. Profundizaremos más en cómo solucionar alucinaciones/errores que ocurren, indicaciones útiles para hacer que su aplicación se vea y se sienta moderna, enfoques para conectar cada capa y más. Al final, ¡espere poder ejecutar su propia aplicación full stack generada por IA en su máquina!
Por favor, encuentre las preguntas frecuentes aquí
Live Coding: Eliminando Comprobaciones Redundantes en Tiempo de Ejecución con Config como Código&Tipo en TypeScript
92 min
Live Coding: Eliminando Comprobaciones Redundantes en Tiempo de Ejecución con Config como Código&Tipo en TypeScript
Workshop
Jannik Sommerfeld
Jannik Sommerfeld
En esta masterclass, exploraremos cómo gestionar configuraciones de aplicaciones directamente en tu repositorio de Git e integrarlas en el sistema de tipos de TypeScript. El objetivo es hacer que tu código sea consciente de la configuración real en tiempo de compilación, reduciendo la necesidad de validación en tiempo de ejecución y pruebas unitarias.Descubrirás:Cómo crear tipos sin pérdida para datos estáticosTécnicas para eliminar rutas de código innecesarias y reducir la validación en tiempo de ejecuciónCómo aprovechar los tipos de utilidad para extraer información específica de las configuracionesOperadores clave de TypeScript y cómo manejar errores comunes al trabajar con tipos genéricosMejores prácticas para mejorar la seguridad de tipos y la experiencia del desarrolladorAl final de esta masterclass, tendrás una comprensión sólida de cómo implementar Config como Código en tus proyectos de TypeScript, mejorando la mantenibilidad, la seguridad de tipos y el soporte de autocompletado. Esta masterclass es ideal para desarrolladores de TypeScript que buscan optimizar su código y agilizar la gestión de configuraciones.
How to 9,2x Your Development Speed with Cline
64 min
How to 9,2x Your Development Speed with Cline
Workshop
Nik Pash
Nik Pash
La forma en que escribimos código está cambiando fundamentalmente. En lugar de quedar atrapado en bucles anidados y detalles de implementación, imagine enfocarse puramente en la arquitectura y la resolución creativa de problemas mientras su programador de pares de IA maneja la ejecución. En esta masterclass práctica, te mostraré cómo aprovechar Cline (un agente de codificación autónomo que recientemente alcanzó 1M de descargas en VS Code) para acelerar drásticamente tu flujo de trabajo de desarrollo a través de una práctica que llamamos "vibe coding" - donde los humanos se enfocan en el pensamiento de alto nivel y la IA maneja la implementación.Descubrirás:Los principios fundamentales del "vibe coding" y cómo se diferencia del desarrollo tradicionalCómo diseñar soluciones a un alto nivel y hacer que la IA las implemente con precisiónDemostración en vivo: Construcción de un sistema de almacenamiento en caché de grado de producción en Go que nos ahorró $500/semanaTécnicas para usar IA para entender bases de código complejas en minutos en lugar de horasMejores prácticas para solicitar a los agentes de IA que obtengan exactamente el código que deseasErrores comunes a evitar al trabajar con asistentes de codificación de IAEstrategias para usar IA para acelerar el aprendizaje y reducir la dependencia de ingenieros seniorCómo combinar efectivamente la creatividad humana con las capacidades de implementación de IAYa sea que seas un desarrollador junior que busca acelerar tu aprendizaje o un ingeniero senior que desea optimizar tu flujo de trabajo, saldrás de esta masterclass con experiencia práctica en desarrollo asistido por IA que puedes aplicar inmediatamente a tus proyectos. A través de demostraciones de codificación en vivo y ejercicios prácticos, aprenderás cómo aprovechar Cline para escribir mejor código más rápido mientras te enfocas en lo que importa: resolver problemas reales.
IA Justo en el Navegador Con las APIs de IA Integradas de Chrome
31 min
IA Justo en el Navegador Con las APIs de IA Integradas de Chrome
Thomas Steiner discusses AI in Chrome, language detection, translation, and summarization using Chrome APIs. He troubleshoots slow performance with the Summarizer API and introduces the Prompt API for text formatting. The development of a multimodal image detector, model interaction enhancements, and utilizing image recognition for prompt responses are demonstrated. The exploration of multimodal conversations with the Prompt API, seamless conversations with PWA, and cross-browser compatibility for Chrome APIs are highlighted.
Suspenso Ingenioso
30 min
Suspenso Ingenioso
Minko Gedev presents tradeoffs of deferred loading in Angular and React, addressing misconceptions about the frameworks. Exploring Deferred Loading Nuances and Angular vs. React Implementation with Large Language Models. Beginning with AngularJS, Transition to React, and Contribution to Angular Community. Joining Angular Team at Google, Building React App, Comparing Functionality with Angular. AI Assistance in Angular App, Using Chat Functionality with AI for Actions, Implementing Function Calling for Cart Items. Adding T-shirts to Cart Using AI, Simple Implementation and Tool Addition for AI.generate Call, Visualizing Messages and Adding Products to Cart. Speeding up Application with Lazy Loading in React and Angular, Configuring Chat Functionality. Configuring Chat Data in React, Dependency Observation in Component Tree. Async Function Issue in React, Component Data Dependency, Data Loading in Angular. Inspiration from Amazon for Lazy Loading, React and Angular Implementation, Visibility with IntersectionObservers. Adding Prefetching in Angular and Server-Side Rendering Considerations with Incremental Hydration. React and Angular Trade-offs in Templating and Framework Features. Evaluating JavaScript Frameworks and SEO Impact. Utilizing GenKit API for Function Mapping and React Component Logic Abstraction. Exploring requestIdleCallback in Safari and Signals vs. RxJS in Angular. Considering Framework Selection Criteria Beyond Popularity and Trendiness. Exploring React Features and Angular Templating in TypeScript. Disadvantages of Angular Partial Hydration and Waterfall Effects.
¡Vamos a Crear una Extensión de GitHub Copilot!
86 min
¡Vamos a Crear una Extensión de GitHub Copilot!
Workshop
Nick Taylor
Nick Taylor
En esta masterclass, aprenderás cómo crear una Extensión de GitHub Copilot. Exploraremos el nuevo ecosistema de herramientas impulsadas por IA de GitHub y te guiaremos a través de la construcción de tu propia extensión desde cero. Al final de esta sesión, comprenderás cómo aprovechar las Extensiones de Copilot para mejorar tu flujo de trabajo de desarrollo e integrarte con servicios de terceros.En Esta Masterclass, Descubrirás:Qué es GitHub Copilot y sus capacidadesQué son las Extensiones de GitHub CopilotLa anatomía de una Extensión de CopilotCómo construir tu propia Extensión de CopilotDesarrollo Práctico:Clonar el repositorio de plantilla: nickytonline/copilot-extension-templateInstalar dependenciasExponer tu servidor de desarrollo localCrear y configurar tu Aplicación de GitHubUsar el Copilot Extensions Preview SDKDepurar y probar tu extensiónAl final de esta masterclass, habrás creado una Extensión de GitHub Copilot funcional que podrás usar inmediatamente en tu entorno de desarrollo. Podrás extender esta base para construir integraciones más complejas y herramientas personalizadas impulsadas por IA adaptadas a tus necesidades específicas.Esta masterclass es ideal para:Desarrolladores que buscan mejorar su productividad con herramientas de IAEquipos que desean construir integraciones personalizadas con GitHub CopilotCualquiera interesado en crear herramientas de desarrollo impulsadas por IA
Ejecutar TypeScript Nativamente en Node.js
28 min
Ejecutar TypeScript Nativamente en Node.js
Discussion on TypeScript adoption in Node.js, typescript's popularity, challenges in integrating TypeScript with Node.js due to versioning differences, introducing strip types to remove non-JavaScript syntax, leveraging the SWC library through Amaro for efficient code execution, Node.js support for TypeScript with experimental strip types, enabling transform types and source maps by default, TypeScript evolution with new flags for type checking, TypeScript ESM code evaluation in Node, issues with TypeScript and JavaScript syntax ambiguity, collaboration between Node.js and TypeScript teams, recommendations on using TypeStripping for production projects, comparison of performance between TS Node and Node for TypeScripting, handling type definitions and runtime checking in TypeScript using Zod.
El estado de las pruebas de JavaScript en 2025
24 min
El estado de las pruebas de JavaScript en 2025
The talk delves into JavaScript testing challenges, company testing practices diversity, and the evolution of testing tools. It explores the transition to user-centric testing, browser-based component testing, and advancements in AI testing tools. The evolving landscape includes Playwright's features and comprehensive testing solutions. Future trends discuss network mocking, AI testing advancements, and the role of AI in JavaScript testing practices.
Bundlers: Una Profundización en las Herramientas de Construcción Modernas de JavaScript
20 min
Bundlers: Una Profundización en las Herramientas de Construcción Modernas de JavaScript
Edoardo, DevRel at Storyblok, explains the importance of JavaScript bundlers and discusses Storyblok's migration to Vite. Challenges with old JavaScript applications are illustrated, emphasizing issues with global variables and dependency control. Optimizing JavaScript module loading through ES modules is discussed, highlighting browser compatibility and performance concerns. The process of creating and structuring JavaScript bundles is detailed, focusing on dependency graphs and module organization. Techniques for managing bundle execution, utilizing abstract syntax trees for code parsing, and implementing optimization strategies are explored, with a specific emphasis on Vite, hot module replacement, and development enhancements.
Las pruebas de a11y están rotas: cómo Lighthouse y Axe fallan en proyectos reales
29 min
Las pruebas de a11y están rotas: cómo Lighthouse y Axe fallan en proyectos reales
The speaker, Gulasha, shares insights on accessibility challenges, commitment, automated testing tools, and the European Accessibility Act. Emphasis is placed on text content accessibility, web interface mandates, manual testing importance, and complex graphics explanations. Issues with focus visibility, voice control testing, and global accessibility certification are highlighted. Promoting accessibility practices, advocating for certification, and starting small initiatives within teams are discussed.
Aplicación Full-stack en medio Día: Next.js 15 Masterclass de Desarrollo
175 min
Aplicación Full-stack en medio Día: Next.js 15 Masterclass de Desarrollo
Workshop
Maurice de Beijer
Maurice de Beijer
¡Desbloquea el Poder del Desarrollo Moderno Full-Stack en Medio Día!¿Listo para construir aplicaciones web rápidas y escalables? Únete a nuestra masterclass interactiva de 4 horas y sumérgete de lleno en el mundo de Full-Stack Next.js 15!Esto no es solo otra sesión teórica. Te arremangaras y construirás una aplicación de comparación de películas del mundo real desde cero, guiado paso a paso por nuestro experto instructor Maurice. Comenzaremos configurando tu entorno de desarrollo local con una robusta base de datos PostgreSQL ejecutándose en un contenedor Docker. Luego, experimentarás la magia de la generación rápida de UI usando v0.dev, permitiéndote crear interfaces impresionantes con facilidad.Pero no nos detendremos en el front-end. Aprenderás cómo integrar sin problemas tu UI con un potente backend utilizando las últimas características de Next.js 15 y el elegante Prisma ORM para interactuar con tu base de datos PostgreSQL. Además, descubrirás las mejores prácticas para manejar el comportamiento del lado del cliente con una divertida e interactiva función de comparación de películas.Finalmente, llevaremos tu aplicación en vivo con despliegue continuo a Vercel, mostrando cómo compartir tus creaciones con el mundo sin esfuerzo. Al final de esta masterclass, tendrás una aplicación de comparación de películas completamente funcional y la confianza para abordar tus propios proyectos full-stack utilizando el vanguardista ecosistema de Next.js 15.
Supercarga Tu Depuración Con las Nuevas Características en Chrome Devtools
29 min
Supercarga Tu Depuración Con las Nuevas Características en Chrome Devtools
Barry Pollard
Ewa Gasperowicz
2 authors
Eva and Bari introduce the complexity of web development and emphasize the evolving nature of DevTools, discussing productivity gains through new features. The talk covers performance debugging enhancements and user-friendly changes in the performance panel. Live metrics screen offers real-time insights, integrating real user data for performance comparison. Configuring DevTools for accurate user emulation and leveraging performance trace capabilities for debugging. Enhancing user experience with AI insights and visual assistance, setting up AI workspace in DevTools. Addressing data privacy concerns and AI usage control. Chrome DevTools API and Gemini model enhancements, AI features specific to Chrome, web sockets throttling, and AI agent probing in performance context.
TypeScript Gymnastics: ¿Por Qué Son Tan Poderosos para Ti?
23 min
TypeScript Gymnastics: ¿Por Qué Son Tan Poderosos para Ti?
The Talk delves into TypeScript, highlighting its introduction, differences from JavaScript, and providing code examples. It emphasizes the significance of strict typing in TypeScript, showcasing the use of literal types and union types for precise type modeling. The discussion also covers template literal types for creating combined types and precise type matching, as well as conditional handling without if statements and function type inference. Furthermore, it explores looping, recursion, object type manipulation, key manipulation, mapper type, and TypeScript utility types for efficient property management and type manipulation.
La Mentalidad del 1% Superior: Cómo Piensan, Lideran y Prosperan los Altos Ejecutores
12 min
La Mentalidad del 1% Superior: Cómo Piensan, Lideran y Prosperan los Altos Ejecutores
Top 1% talent in tech focuses on mindset, performance over hustle. Clarity, systems, leverage key for career growth. Systems create predictability, leverage compounds impact, leverage flywheel for long-term success. Build personal operating system, treat yourself like a product, focus on clarity for success. Build confidence, visibility, influence for success. Think leverage, not effort. Optimize career intention. Drive work with purpose.
¡Construye Tu Framework Web Desde Cero!
18 min
¡Construye Tu Framework Web Desde Cero!
Excited to talk at JS Nation about building web frameworks from scratch, covering framework basics and providing an example without a framework. Framework essentials include handling browser views, routing, parameters, response types, errors, and security. Discussing the components a framework needs such as routing, parameters, response types, error handling, authentication, and security. Exploring request handling in a framework with customization of headers, status, and using static methods like response.json. Detailed insights into routing, response customization, and efficient implementation for multiple responses based on paths and methods. Implementation of routing syntax, data retrieval from requests, context handling, middleware integration, and helper functions for response manipulation in a framework.
Construye Tu Propia Reactividad: Un Análisis Profundo de los Signals
28 min
Construye Tu Propia Reactividad: Un Análisis Profundo de los Signals
Karl Vorden introduces signals for reactivity in JavaScript, aiming to demystify its implementation for better understanding. Signals in JavaScript provide efficient reactivity by updating only the necessary code without extra work. Different frameworks offer signal implementations like createSignal in solid JS, resembling React's useEffect but functioning differently. Vue signals are called refs, created with the ref function, returning an object with a value property. Define effect functions for tracking changes and execution in reactive signals. Explore computed functions for complex operations within reactive signals. Beware of pitfalls with conditionals affecting signal execution.
Convirtiéndose en un Tech Lead: De la Tecnología a las Personas
14 min
Convirtiéndose en un Tech Lead: De la Tecnología a las Personas
Annamarie Fischer discusses transitioning to a tech lead role, highlighting the importance of soft skills development. Tech leads need to focus on both technical expertise and people skills, including conflict resolution and clear processes. Developing soft skills like active listening, relationship-building, and delegation tools is crucial for effective tech leadership. Mindset shifts from individual to team focus, coding to value-driven decisions, and short-term to long-term thinking are essential for tech leads to succeed in enabling team success and strategic direction.
Lo Que Todos Fingimos Saber: Las Diferencias Entre el Motor de JS y el Tiempo de Ejecución de JS
11 min
Lo Que Todos Fingimos Saber: Las Diferencias Entre el Motor de JS y el Tiempo de Ejecución de JS
Karina Ionkina
Samiul Huque
2 authors
The talk delves into the intricacies of JavaScript engine and runtime, emphasizing the importance of understanding execution processes for effective development and debugging. It discusses how JavaScript engines optimize code through parsing, abstract syntax trees, and byte code execution. Strategies for optimizing code include maintaining type stability, using type-stable arrays, and consistent object shapes to avoid deoptimization. Recommendations for enhancing JavaScript execution involve ensuring input type consistency, using type-stable arrays, and understanding the event loop's role in code execution across different runtimes and engines.
IA Web Práctica: Integrada, Basada en Navegador, Brillante
30 min
IA Web Práctica: Integrada, Basada en Navegador, Brillante
The Talk delves into the integration of generative AI tools in web development, emphasizing the AI revolution's impact. It explores creating a browser-based translation application without backend servers, emphasizing speech-to-text and translation APIs. The discussion highlights browser-based speech capabilities, different voices, and the challenges of translation within the browser. The exploration of the prompt API, Gemini Nano, and specialized APIs showcases experimental features and language model capabilities. The advancements in browser-based AI, privacy-focused AI usage on Chrome, and the utilization of Langflow for server-side generative AI experimentation are also discussed. Progressive enhancement, mobile integration, real-time translation, privacy concerns, and model integration into browsers are key topics.
Turbopack Persistent Caching
29 min
Turbopack Persistent Caching
Tobias Koppers from Vercel TurboPack team discusses implementing persistent caching for long-term web application development, foreseeing significant growth in application sizes over the next decade. AI's role in code writing, TurboPack's vision for instant builds, challenges in build control, and the shift to incremental performance with caching for faster builds. TurboPack emphasizes making incremental builds fast and every build incremental, focusing on trustable and granular incremental builds, efficient granular cache handling in TurboEngine, and automatic granular cache invalidation. The system optimizes performance through efficient persistent cache integration, graph state persistence, database optimization, custom persistent layer creation, and optimizing build time efficiency. TurboPack stands out with its unique bottom-up caching approach, expansion to a general purpose bundler, and plans to enhance framework compatibility. Additionally, the comparison with ESBuild highlights the emphasis on incremental builds and detailed cache granularity with a token-based, almost AI-like approach.
JavaScript No Es Lento – Solo Está Programado Incorrectamente
14 min
JavaScript No Es Lento – Solo Está Programado Incorrectamente
Srilakna discusses JavaScript performance, highlighting scheduling challenges and the limitations of existing models. The introduction of the Post Task Scheduler API addresses these issues, offering promise-based scheduling for specific priorities. The internal workings and implementation of the API are explained, emphasizing task prioritization to ensure smooth UI performance. The API enables developers to control task priorities effectively, preventing UI freeze and lag.
Construyendo Web Extensions Con Tu Framework Favorito
25 min
Construyendo Web Extensions Con Tu Framework Favorito
Alba Silvente, Fullstack Engineer at Servlug, discusses unlocking web extension power with Vue. Shows demo features and AI API usage. Talks about building extensions, standards, structures, open-source tools, and practical use cases. Explores the simplicity and benefits of web extensions for customization, automation, and time-saving. Mentions varied functionalities like translation, JSON formatting, and form filling using extensions. Exploring form-filling extensions and building web extensions with Manifest V3 and Vue. Understanding the structure and components like pop-up and sidebar pages. Discussing manifest.json for defining extension details, background JavaScript in service worker context, and creating popup and sidebar pages. Discussing the importance of different contexts for popup and sidebar pages, customization with various JavaScript frameworks, and utilizing content scripts to interact with web pages. Communicating with content scripts, configuring settings via the options page, and extending web extensions with various functionalities like overriding home pages, bookmarks, history, and adding options to the context menu. Communicating with browser APIs for web extensions using packages like WebExtension Polyfy and webext. Storing data in web extensions efficiently with specialized storage areas. Simplifying communication between components using the WebX Bridge package for seamless browser API interactions. Using Vite and WXT frameworks for web extension development. Implementing preference configuration and communication flow between components for efficient web extension creation with WXD. Defining items in local storage for preferences and using composable for shared components in web extensions development. Using extension storage for web extension synchronization and integrating AI APIs for text analysis. Exploring Content Script Actions, Background API Communication, and Extension Deployment.
Temporal: El Curioso Incidente de la Noche Equivocada
25 min
Temporal: El Curioso Incidente de la Noche Equivocada
Speaker's involvement in Temporal proposal and TC39 meetings for JavaScript standardization. Date conversion challenges faced in development. Addressing time zone discrepancies with Temporal to prevent bugs. Exploration of Temporal types and design philosophy. Usage of Java's time zone serialization in JavaScript Temporal. Challenges in implementing Temporal proposal and its transformative potential in ECMAScript.
Auth: Construir vs Open Source vs Comprar
7 min
Auth: Construir vs Open Source vs Comprar
Authentication is crucial for system security, with options including building, buying, or using open source. Modern security complexities are addressed by purchasing systems with enterprise-level security features. Cost considerations in authentication highlight maintenance and scaling costs, with buying solutions providing peace of mind and predictable costs.
a11y y Lienzos Interactivos
28 min
a11y y Lienzos Interactivos
Oli's talk delves into the importance of accessibility and interactive canvases, comparing SVG and canvas rendering for chart components. The discussion includes enhancing SVG elements with ARIA attributes for better screen reader interpretation, implementing accessible canvas using proxy elements, and showcasing interactive elements with focus visibility. The talk also explores dynamic focus indicators, AI integration for screen readers, and the optimization of canvas over SVG for performance. Considerations for EU accessibility testing, direct screen reader APIs, and image-to-speech conversion using TransformersJS are discussed.
Cómo Construir un SDK de Open Telemetry en 7 Minutos
6 min
Cómo Construir un SDK de Open Telemetry en 7 Minutos
Showcasing adding observability with OpenTelemetry. Benefits of extensive telemetry data for insights. Contrasting uninstrumented, manual, and automatic instrumented apps. Example of instrumenting fetch calls for telemetry signals. Technique for modifying functions without core updates. Using JS proxy as a modern approach for patching. OpenTelemetry standardizes instrumentation with APIs and tools. Example of setting up OpenTelemetry with instrumentations.
Construyamos a K.I.T.T. Con JavaScript
24 min
Construyamos a K.I.T.T. Con JavaScript
Speaker introduces a side project involving JavaScript and iconic car recreation at JS Nation. Nico, a frontend developer, explains the concept of KIT from Knight Rider and its human-like features, emphasizing the use of machine learning in building it. Using Transformers.js involves defining tasks and models, with options like Whisper for transcribing speech to text and Kokoro.js for text to audio conversion. Adding intelligence through LLMs enhances the capabilities of the pipeline. Models small enough to run on device, allowing browser usage using LLM library. Creating engines and new conversations, streaming replies with added tokens for efficiency. Implementing Kit reasoning process for problem-solving and fun in learning and building using LLMs.
Compartir es cuidar: Mejorando el rendimiento de Micro-frontends con el intercambio de dependencias
22 min
Compartir es cuidar: Mejorando el rendimiento de Micro-frontends con el intercambio de dependencias
Saar Becker discusses the challenges of micro-frontends at monday.com, focusing on bundle size due to loading React multiple times. The hot swap solution v1 is introduced to address this issue by sharing dependencies efficiently. Strategies include providing the same React version, managing shared dependencies through hot swaps, and optimizing bundle building by creating compound-named bundles. The talk delves into revising hot-swapping solutions, resolving indirect dependency issues, and optimizing dependency bundle building for production readiness.
Hot Module Replacement es Fácil
11 min
Hot Module Replacement es Fácil
Welcome to JS Nation. Homework replacement, also known as HTML, allows code updates without page refresh. Understanding HTML involves APIs, server reactions to file edits, and client-side handling of changes. HTML API lifecycle includes attaching callbacks, disposing unneeded states, and accepting new modules. Server handling file changes, finding related modules, and HTML propagation decisions determine module execution and page reload. Propagation scenarios dictate HTML updates within boundaries or full reloads. Client-server communication through WebSocket manages reloads or module updates.
Dependencias de Configuración en pnpm
25 min
Dependencias de Configuración en pnpm
Introduced new feature in PNPM v10 called config dependency, allowing custom plugins. Centralizing configuration and dependencies management. Early installation of limited config dependencies in PNPM. Trusted dependencies for lifecycle scripts in PNPM. Versatility of pmpm hooks in configuration. Example of a config dependency for fixing type script issues. Discussion on project sustainability, security, contributors, and hiring prospects. Comparison of migration tools, hosting preferences, and package version restrictions.
Testing the Waters With Deno
24 min
Testing the Waters With Deno
Today's discussion delves into testing in Deno, emphasizing its simplicity and built-in tooling. Deno offers a seamless testing experience for developers, allowing tests to be written in TypeScript without extensive setup. The platform supports BDD-style testing, provides various assertion types, advanced features like code coverage and snapshot testing, and allows for filtering tests based on keywords. Additionally, Deno facilitates component testing, dependency mocking, and migration of test suites from Jest to Deno with minimal changes.
Prompt Engineering Toolkit
16 min
Prompt Engineering Toolkit
Manoj Sureddy discusses building a toolkit for prompt engineering with LLM-based solutions, emphasizing the need for a structured approach like React. The toolkit provides a structured approach for prompt development, ensuring organized and reusable templates for various LLM-based solutions. Integration with version control and CI-CD pipeline for automated evaluations, advanced quality evaluation mechanisms using Gemma, and integration of human in the loop evaluations. Focus on maintaining prompt quality, subjective metrics in evaluations, and insights on prompt drift, versioning, real user feedback, and evaluation automation.
Speeding Up Your Node Sever With Rust
21 min
Speeding Up Your Node Sever With Rust
Talk on improving Node server efficiency with Rust. Node's ease of use but inefficiency for some tasks. Example of a slow express server handling high scores inefficiently. Native modules in Rust provide a safer alternative to C for improving efficiency. Rust empowers developers to build reliable and efficient software, with strong static typing and immutability by default. Rust's result and option enums handle error and value absence cases. The ownership system in Rust ensures safe memory management without manual intervention. The importance of ownership in Rust for memory management and error prevention. Writing native modules in Rust with NAPI for easier project creation and code integration. Exploring the efficiency gains of using Rust's native modules for faster performance and reduced risks in development.
Scripts de Terceros: Sobreviviendo al Salvaje Oeste de la Web
10 min
Scripts de Terceros: Sobreviviendo al Salvaje Oeste de la Web
Anton Zaldinov, senior software engineer, discusses challenges in third-party script development, emphasizing the importance of defensive coding, performance, debugging, and security. Strategies include adapting to privacy changes, efficient script loading, encapsulation, and thorough testing for reliability and security.
¿Qué es un AnimationFrame y qué puede decirte?
29 min
¿Qué es un AnimationFrame y qué puede decirte?
Vinicius discusses the importance of smooth and responsive web applications, focusing on animation frames and the long animation frames API. Understanding work within frames is crucial for user experience and INP metrics. Categorizing animation frame work helps in performance analysis, specifically in identifying issues with layout and rendering. Attribution models and IMP metric play a significant role in performance analysis using animation frames. Leveraging animation frames for bottleneck detection and visualization of work execution on the main thread is essential for performance optimization.
JSR: Construyendo un Registro Abierto para la Comunidad de JavaScript
29 min
JSR: Construyendo un Registro Abierto para la Comunidad de JavaScript
Leo introduces JSR, a new JavaScript registry similar to NPM but supporting TypeScript. It values openness and innovation, advocating for open governance and community involvement. Key figures like Evan Yu and Ryan Dahl lead the governance board. JSR aims to transition to an open foundation for community ownership, considering a nonprofit route for quicker action. Recent features include detailed download metrics, dark mode, and enhanced search functionality. Future plans involve NPM CLI support, self-hosting mirroring, and diversity in governance. JSON5 support, ESM adoption, and enterprise plans are part of JSR's package management strategy.
Cómo Reconstruimos el Patio de Juegos Creativo Que Flash Llevó a la Tumba
20 min
Cómo Reconstruimos el Patio de Juegos Creativo Que Flash Llevó a la Tumba
Conall, CTO at Zapper, pays tribute to Flash, highlighting its impact on internet history and accessibility to entertainment. The discussion covers Flash's legacy, technical features, demise due to mobile responsiveness issues, and the rise of HTML5 as its successor. The evolution of web technologies post-Flash is explored, focusing on tools like MatterCraft that bridge runtime and development environments. MatterCraft revolutionizes content creation by offering scripting in TypeScript or JavaScript, enhanced modularity, and features like real-time preview and AI assistance for seamless development.
Contribuyendo a los Estándares Web
16 min
Contribuyendo a los Estándares Web
Hemant emphasizes mastering web standards and the collaboration among various organizations. Different groups like WhatWG, ECMA, IETF, Unicode, and IANA manage specific IT standards. Participation in standards organizations varies in cost. Joining W3C, Ecma, or IETF can aid in web standards development. Engaging in global discussions and contributing test cases are crucial. Community involvement drives web standards evolution towards innovation and inclusivity. Understanding the proposal stages and future trends in web standards is essential for developers.
El Futuro de la Computación Numérica en JavaScript
21 min
El Futuro de la Computación Numérica en JavaScript
Gunj Joshi explores the future of numerical computing in JavaScript, showcasing benefits like privacy, low latency, and accessibility. The talk delves into training models inside browsers, challenges with TensorFlow.js, and the importance of syntactical niceties for readability. It highlights the significance of Jupyter Notebooks, Observable for live coding, and the impact of WebAssembly on JavaScript's performance. The discussion emphasizes NumPy's superiority in numerical applications, the importance of vectorization, and the potential of JavaScript's ecosystem for scientific applications. Additionally, it covers the efficiency of vectorized data processing, performance differences in data processing approaches, and the high performance of WebAssembly in web browsers.
A JS Dev's Guide to Not Dismissing Blockchain
6 min
A JS Dev's Guide to Not Dismissing Blockchain
Thanking Git Nation and Algorand team. Exploring blockchain's journey to enlightenment. Algorand's role in blockchain solutions like disintermediation, data integrity, and market access. Highlighting businesses on Algorand mainnet like TravelX, Lofty, and LabTrace. Algorand TypeScript simplifies blockchain development with real TypeScript, avoiding complex assembly language. Examples like asset transfers and key-value storage demonstrate accessibility.
Sin Dependencias, No Hay Problema: Transmitiendo IA por Teléfono
6 min
Sin Dependencias, No Hay Problema: Transmitiendo IA por Teléfono
Marius from Twilio demonstrates building AI agents for phone calls, addressing latency issues by leveraging Twilio's infrastructure and third-party providers like 11 Labs and Google Cloud. Configuration includes WebSocket integration for message handling, static responses, and text-to-speech with 11 Labs. AI integration involves GPT4 or mini model for conversation history storage. A live demo showcases an AI voice assistant with instant responses and latency improvements.